toolchain/helpers.mk: simplify ld.so fixup in copy_toolchain_sysroot
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 5 Jul 2017 10:10:50 +0000 (12:10 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 5 Jul 2017 10:20:06 +0000 (12:20 +0200)
In copy_toolchain_sysroot, if no ld.so has been found in the
STAGING_DIR after the sysroot copy, we look at ARCH_SYSROOT_DIR if a
ld.so is available there. We do this for both ld*.so and ld*.so.*.

However, when copying thing from staging to target (as listed in
TOOLCHAIN_EXTERNAL_LIBS), we only match on ld*.so.*. This would mean
that even if a dynamic linker matching ld*.so but not ld*.so.* was
copied into staging by copy_toolchain_sysroot, it would anyway not be
copied to the target filesystem, making the system unusable.

Therefore, we can remove the special case on ld*.so, and keep only
ld*.so.*.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain/helpers.mk

index fe2b4b9d5c44eee2398d70d79bb86262bd32bbcc..6136aef6b9c7e99dcbe28557b0032e4a71ea8599 100644 (file)
@@ -127,10 +127,7 @@ copy_toolchain_sysroot = \
                        $(call simplify_symlink,$$i,$(STAGING_DIR)) ; \
                done ; \
        fi ; \
-       if [ ! -e $(STAGING_DIR)/lib/ld*.so ] && [ ! -e $(STAGING_DIR)/lib/ld*.so.* ]; then \
-               if [ -e $${ARCH_SYSROOT_DIR}/lib/ld*.so ]; then \
-                       cp -a $${ARCH_SYSROOT_DIR}/lib/ld*.so $(STAGING_DIR)/lib/ ; \
-               fi ; \
+       if [ ! -e $(STAGING_DIR)/lib/ld*.so.* ]; then \
                if [ -e $${ARCH_SYSROOT_DIR}/lib/ld*.so.* ]; then \
                        cp -a $${ARCH_SYSROOT_DIR}/lib/ld*.so.* $(STAGING_DIR)/lib/ ; \
                fi ; \