toolchain/helpers.mk: simplify ld.so fixup in copy_toolchain_sysroot

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>
This commit is contained in:
Thomas Petazzoni 2017-07-05 12:10:50 +02:00
parent 4cdd18c7f0
commit eb22fe8231

View 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 ; \