8cb0f6e011
Update BR2_TOOLCHAIN_HAS_LIBATOMIC dependencies to avoid the following build failure with libopenssl and BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE: /home/buildroot/autobuild/run/instance-2/output-1/host/opt/ext-toolchain/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: ./libcrypto.a(libcrypto-lib-threads_pthread.o): in function `CRYPTO_atomic_or': threads_pthread.c:(.text+0xfa): undefined reference to `__atomic_is_lock_free' libatomic is available since gcc 4.8, when thread support is enabled. However, the gcc logic in libatomic/configure.tgt does not recognize "uclinux" as a valid OS part of the target tuple, and therefore it does not build libatomic. The "uclinux" part of the tuple is used by Buildroot when BR2_BINFMT_FLAT=y [1]. This broken logic has only been fixed for arm since gcc 10.1.0 [2]. Indeed, bootlin armv7m is an uclibc toolchain compiled with atomic support through libatomic. [1] https://git.buildroot.net/buildroot/commit/?id=b3d1fb26dcadd8c570e2c415ce05398ecc810b32 [2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b1e21e5a5d19b436f948710e09157c5b3244f541 Fixes: - http://autobuild.buildroot.org/results/d25e898f9715bf6a21284807361a57735a7a2e1d - http://autobuild.buildroot.org/results/e37ed5ad6ba41d610bffe9c234f699e203ef5069 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
---|---|---|
.. | ||
toolchain | ||
toolchain-bare-metal-buildroot | ||
toolchain-buildroot | ||
toolchain-external | ||
Config.in | ||
helpers.mk | ||
toolchain-wrapper.c | ||
toolchain-wrapper.mk | ||
toolchain.mk |