Packages
nerves_system_br
0.11.0
1.34.0
1.33.9
1.33.8
1.33.7
1.33.6
1.33.5
1.33.4
1.33.3
1.33.2
1.33.1
1.33.0
1.32.5
1.32.4
1.32.3
1.32.2
1.32.1
1.32.0
1.31.7
1.31.6
1.31.5
1.31.4
1.31.3
1.31.2
1.31.1
1.31.0
1.30.1
1.30.0
1.29.3
1.29.2
1.29.1
1.29.0
1.28.3
1.28.2
1.28.1
1.28.0
1.27.3
1.27.2
1.27.1
1.27.0
1.26.1
1.26.0
1.25.3
1.25.2
1.25.1
1.25.0
1.24.1
1.24.0
1.23.3
1.23.2
1.23.1
1.23.0
1.22.8
1.22.7
1.22.6
1.22.5
1.22.4
1.22.3
1.22.2
1.22.1
1.22.0
1.21.6
1.21.5
1.21.4
1.21.3
1.21.2
1.21.1
1.21.0
1.20.6
1.20.5
1.20.4
1.20.3
1.20.2
1.20.1
1.20.0
1.19.1
1.19.0
1.18.6
1.18.5
1.18.4
1.18.3
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.5
1.16.4
1.16.3
1.16.2
1.16.1
1.16.0
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.1
1.14.0
1.13.8
1.13.7
1.13.6
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.4
1.12.3
1.12.2
1.12.1
1.12.0
1.12.0-rc.0
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.5
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.3
1.7.2
1.7.1
1.7.0
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1-2017-11
0.16.0-2017-11
0.15.1
0.15.0
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
retired
0.13.3
0.13.2
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
Nerves System BR - Buildroot based build platform for Nerves Systems
Current section
Files
Jump to
Current section
Files
patches/buildroot/0008-toolchain-allow-crosstool-ng-musl-toolchains.patch
From 2bf569c6e4fa936b4d809b0517647db58b240cb8 Mon Sep 17 00:00:00 2001
From: Frank Hunleth <fhunleth@troodon-software.com>
Date: Tue, 21 Jun 2016 13:08:17 -0400
Subject: [PATCH] toolchain: allow crosstool-ng musl toolchains
Currently, if using a crosstool-ng-generated external musl toolchain,
Buildroot exits with "Incorrect selection of the C library".
The musl.codu.org cross-compilers put their libraries in <sysroot>/lib
while crosstool-ng uses <sysroot>/usr/lib. This change checks that
location for libc.so and updates the ld-musl-$ARCH.so.1 symlink.
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
---
toolchain/helpers.mk | 2 +-
toolchain/toolchain-external/pkg-toolchain-external.mk | 6 +++++-
toolchain/toolchain/toolchain.mk | 14 ++++++++------
3 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 72e7292..42b69ee 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -209,7 +209,7 @@ check_glibc = \
# $1: sysroot directory
check_musl = \
SYSROOT_DIR="$(strip $1)"; \
- if test ! -f $${SYSROOT_DIR}/lib/libc.so -o -e $${SYSROOT_DIR}/lib/libm.so ; then \
+ if test ! \( -f $${SYSROOT_DIR}/lib/libc.so -o -f $${SYSROOT_DIR}/usr/lib/libc.so \) -o -e $${SYSROOT_DIR}/lib/libm.so ; then \
echo "Incorrect selection of the C library" ; \
exit -1; \
fi
diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index 11a1bf5..ce37173 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -488,7 +488,11 @@ else
MUSL_ARCH = $(ARCH)
endif
define TOOLCHAIN_EXTERNAL_MUSL_LD_LINK
- ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1
+ if [ -e $(STAGING_DIR)/usr/lib/libc.so ]; then \
+ ln -sf ../usr/lib/libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 ; \
+ else \
+ ln -sf libc.so $(TARGET_DIR)/lib/ld-musl-$(MUSL_ARCH).so.1 ; \
+ fi
endef
endif
diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk
index b16db01..258068d 100644
--- a/toolchain/toolchain/toolchain.mk
+++ b/toolchain/toolchain/toolchain.mk
@@ -24,12 +24,14 @@ TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO
# [1] http://www.openwall.com/lists/musl/2015/10/08/2
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK
- $(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \
- $(STAGING_DIR)/usr/include/linux/libc-compat.h
- $(SED) '1s/^/#define __USE_MISC\n/' \
- $(STAGING_DIR)/usr/include/linux/libc-compat.h
- $(SED) '1s/^/#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0\n/' \
- $(STAGING_DIR)/usr/include/linux/libc-compat.h
+ if [ -e $(STAGING_DIR)/usr/include/linux/libc-compat.h ]; then \
+ $(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \
+ $(STAGING_DIR)/usr/include/linux/libc-compat.h; \
+ $(SED) '1s/^/#define __USE_MISC\n/' \
+ $(STAGING_DIR)/usr/include/linux/libc-compat.h; \
+ $(SED) '1s/^/#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0\n/' \
+ $(STAGING_DIR)/usr/include/linux/libc-compat.h; \
+ fi
endef
TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK
TOOLCHAIN_INSTALL_STAGING = YES
--
2.7.4