toolchain-external: fix musl external support on x86
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 5 Mar 2014 22:23:35 +0000 (23:23 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 6 Mar 2014 21:59:48 +0000 (22:59 +0100)
On x86, the symbolic link ld-musl-<ARCH>.so.1 to libc.so must be
ld-musl-i386.so.1 in all cases, but $(ARCH) in Buildroot might be
i386, i486, i586, i686, etc. depending on the specific x86 variants
being selected.

This commit fixes that by creating a MUSL_ARCH variable set to i386 on
x86, and to $(ARCH) on other architectures.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
toolchain/toolchain-external/toolchain-external.mk

index 378e7b2f1fe08c9f237d5e0b0dec22d426f95040..1b1053d65e0597f04ccae152ca1298f64f0a5848 100644 (file)
@@ -447,8 +447,13 @@ endef
 # of the dynamic library loader. We just need to create a symbolic
 # link to libc.so with the appropriate name.
 ifeq ($(BR2_TOOLCHAIN_EXTERNAL_MUSL),y)
+ifeq ($(BR2_i386),y)
+MUSL_ARCH = i386
+else
+MUSL_ARCH = $(ARCH)
+endif
 define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
-       ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(ARCH).so.1
+       ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1
 endef
 TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
 endif