compiler-rt's init_have_lse_atomics calls getauxval(AT_HWCAP) at library load time. The static getauxval from the CRT reads from __libc_auxv which is NULL in shared libraries → SIGSEGV at 0x0. Fix: compile getauxval_fix.c that provides a getauxval() which uses dlsym(RTLD_DEFAULT) to find the real bionic getauxval at runtime. Also switch to libc++_shared.so (bundled in APK) to avoid pulling in static libc stubs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5.2 KiB
5.2 KiB