kaniini / libucontext

ucontext implementation featuring glibc-compatible ABI
Other
102 stars 41 forks source link

libucontext_getcontext: symbol not found in libucontext_posix.so on aarch64-musl #37

Closed stefson closed 2 years ago

stefson commented 2 years ago

hey there, I just learned about this project during a discussion about how to fix broken libtbb.so with musl. I felt silly, so did a ldd on the two dynamic libs you're providing. libucontext.so comes back clean, but libucontext_posix.so doesn't:

ldd libucontext_posix.so 
        ldd (0x7f9b191000)
        libc.so => ldd (0x7f9b191000)
Error relocating libucontext_posix.so: libucontext_getcontext: symbol not found
Error relocating libucontext_posix.so: libucontext_swapcontext: symbol not found
Error relocating libucontext_posix.so: libucontext_setcontext: symbol not found

I was using gentoo ebuild script for libucontext-1.1, and was able to reproduce the issue with a local build of git head:

CC=gcc-10.3.0 CXX=g++-10.3.0 make ARCH=aarch64

some info on the system: emerge-info-aarch64.zip

is aarch64 still unsupported? I'm a little bit lost, sorry :)

kaniini commented 2 years ago

Seems some build system refactoring got rid of the DT_NEEDED on libucontext.so :)

Fixed in https://gitea.treehouse.systems/ariadne/libucontext/commit/c8fe721e696be028271a8cb2213101097c2784e7

A new release is imminent, I just need to merge my openrisc support branch.

stefson commented 2 years ago

looks good to me, what do you think?

ldd /usr/lib/libucontext_posix.so.1 
        ldd (0x7fbefd4000)
        libucontext.so.1 => /usr/lib/libucontext.so.1 (0x7fbefb0000)
        libc.so => ldd (0x7fbefd4000)