aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGravatar Yann Droneaud <ydroneaud@opteya.com>2019-10-25 15:42:41 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-10-25 16:40:07 +0200
commit971479ed6276782a1768a1b8effec2a34787661c (patch)
treea5f612cd9f71b53a973ae564e19defc4ac309b17 /toolchain
parent41f06fa0bbe0b0bfeb72e9c701f77e607505cdd9 (diff)
downloadbuildroot-971479ed6276782a1768a1b8effec2a34787661c.tar.gz
buildroot-971479ed6276782a1768a1b8effec2a34787661c.tar.bz2
toolchain/external: copy libssp.so if SSP is enabled
In Buildroot, the internal toolchain backend uses the SSP support from the C library, not that of gcc. Some external toolchains come with SSP suport in gcc, which is implemented in libssp.so, rather than in the C library. When a toolchain even has both, it is up to the compiler to decide whether it will link to libssp or use the support from the C library. However, in the latter case, a (incorrectly written) package may decide to explicitly link with libssp.so when it is available (even though the compiler may have decided otherwise if left by itself). This is the case for example with sox, which results in runtime failures, such as: $ sox sox: error while loading shared libraries: libssp.so.0: cannot open shared object file: No such file or directory Even if sox is wrong in doing so, the case for libssp-only toolchains is still valid, and we must copy it as we copy other libs. Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/toolchain-external/pkg-toolchain-external.mk4
1 files changed, 4 insertions, 0 deletions
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index c00211d59c..5eecd2a269 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -114,6 +114,10 @@ endif
TOOLCHAIN_EXTERNAL_LIBS += ld*.so* libgcc_s.so.* libatomic.so.*
+ifneq ($(BR2_SSP_NONE),y)
+TOOLCHAIN_EXTERNAL_LIBS += libssp.so.*
+endif
+
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
TOOLCHAIN_EXTERNAL_LIBS += libc.so.* libcrypt.so.* libdl.so.* libm.so.* libnsl.so.* libresolv.so.* librt.so.* libutil.so.*
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)