From 094c76a2bcd301e4aa1e27c9694314079440ce5b Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Sat, 16 Sep 2023 23:17:14 +0200 Subject: [PATCH] package/fstrcmp: fix musl static build Fix the following musl static build failure raised because host libtool is not patched to manage "-static" as "-all-static". /home/buildroot/autobuild/instance-2/output-1/host/bin/libtool --mode=link --tag=CC /home/buildroot/autobuild/instance-2/output-1/host/bin/arm-buildroot-linux-musleabihf-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -static -Wall -Wextra -Wshadow -o bin/test_user \ test_user/main.lo lib/libfstrcmp.la -static chmod a+rx bin/test_prelude libtool: link: /home/buildroot/autobuild/instance-2/output-1/host/bin/arm-buildroot-linux-musleabihf-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -Wall -Wextra -Wshadow -o bin/test_user test_user/main.o lib/.libs/libfstrcmp.a libtool: link: /home/buildroot/autobuild/instance-2/output-1/host/bin/arm-buildroot-linux-musleabihf-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -Wall -Wextra -Wshadow -o bin/fstrcmp fstrcmp/main.o lib/.libs/libfstrcmp.a /home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-musleabihf/10.3.0/../../../../arm-buildroot-linux-musleabihf/bin/ld: /home/buildroot/autobuild/instance-2/output-1/host/lib/gcc/arm-buildroot-linux-musleabihf/10.3.0/libgcc.a(_dvmd_lnx.o): in function `__aeabi_ldiv0': /home/buildroot/autobuild/instance-2/output-1/build/host-gcc-final-10.3.0/build/arm-buildroot-linux-musleabihf/libgcc/../../../libgcc/config/arm/lib1funcs.S:1499: undefined reference to `raise' Fixes: - http://autobuild.buildroot.org/results/ffbee12f13e3d6c180d8891a428c6c490163083d Signed-off-by: Fabrice Fontaine Signed-off-by: Yann E. MORIN --- package/fstrcmp/fstrcmp.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/fstrcmp/fstrcmp.mk b/package/fstrcmp/fstrcmp.mk index 9c42159afb..294104b284 100644 --- a/package/fstrcmp/fstrcmp.mk +++ b/package/fstrcmp/fstrcmp.mk @@ -15,6 +15,12 @@ FSTRCMP_CONF_ENV = LIBTOOL="$(HOST_DIR)/bin/libtool" FSTRCMP_MAKE_OPTS = all-bin libdir/pkgconfig/fstrcmp.pc +# fstrcmp does not carry and use the usual ltmain.sh wrappers, so it does not +# inherit from our libtool patches to make -static behave like -all-static. +ifeq ($(BR2_STATIC_LIBS),y) +FSTRCMP_MAKE_OPTS += LDFLAGS="$(TARGET_LDFLAGS) -all-static" +endif + # We need to install the package files ourselves due to upstream trying # to install a .lai file which is missing because of rpath removal define FSTRCMP_INSTALL_STAGING_CMDS