Link fails on Debian armel|mipsel|powerpc: needs more -latomic
System information
Debian testing/unstable on armel (ARMv5 EABI softfloat), mipsel (32-bit little-endian MIPS) or powerpc (32-bit big-endian PowerPC)
Bug information
Steps to reproduce
Build gjs 1.70.0
Current behaviour
Lots of link errors for __atomic_foo
symbols:
c++ -o libgjs.so.0.0.0 libgjs.so.0.0.0.p/meson-generated_.._js-resources.c.o libgjs.so.0.0.0.p/libgjs-private_gjs-gdbus-wrapper.c.o libgjs.so.0.0.0.p/libgjs-private_gjs-util.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgjs.so.0 -Wl,--whole-archive libgjs-internal.a -Wl,--no-whole-archive -Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 libgjs-jsapi.a -Wl,--version-script,/<<PKGBUILDDIR>>/libgjs.map /usr/lib/arm-linux-gnueabi/libglib-2.0.so /usr/lib/arm-linux-gnueabi/libgobject-2.0.so /usr/lib/arm-linux-gnueabi/libgthread-2.0.so -pthread /usr/lib/arm-linux-gnueabi/libgio-2.0.so /usr/lib/arm-linux-gnueabi/libgirepository-1.0.so -lffi /usr/lib/arm-linux-gnueabi/libmozjs-78.so -lreadline /usr/lib/arm-linux-gnueabi/libcairo.so /usr/lib/arm-linux-gnueabi/libcairo-gobject.so /usr/lib/arm-linux-gnueabi/libX11.so /usr/lib/arm-linux-gnueabi/libXext.so -lffi -lreadline -lffi -lreadline -Wl,--end-group /usr/bin/ld: libgjs-internal.a(gi_boxed.cpp.o): in function `std::__atomic_base<long long>::fetch_add(long long, std::memory_order)': /usr/include/c++/10/bits/atomic_base.h:548: undefined reference to `__atomic_fetch_add_8'
Expected behaviour
- Automatically detects whether libatomic is needed, like Mesa does
- Successful link with
-latomic
on armel, mipsel, powerpc - Successful link without
-latomic
on e.g. x86
I'm testing a patch.
Edited by Simon McVittie