]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
toolchain: limit musl workaround to kernel headers 3.12+
authorBaruch Siach <baruch@tkos.co.il>
Fri, 19 May 2017 04:20:37 +0000 (07:20 +0300)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 19 May 2017 13:29:21 +0000 (15:29 +0200)
The libc-compat.h first appeared in kernel version 3.12. Trying to build a
musl toolchain using earlier headers leads to the following failure:

/bin/sed: can't read .../output/host/usr/arm-buildroot-linux-musleabi/sysroot/usr/include/linux/libc-compat.h: No such file or directory
package/pkg-generic.mk:266: recipe for target '.../output/build/toolchain/.stamp_staging_installed' failed

Don't apply the sed patch to older headers.

Reported-by: Florent Jacquet <florent.jacquet@free-electrons.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
toolchain/toolchain/toolchain.mk

index e29837357a2742ba7ea2bffa73e97a7d8b7bc78d..e15ceeb426faf99cb2baf9e7e6b41c172ee4e3e2 100644 (file)
@@ -21,8 +21,10 @@ TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO
 # IFF_DORMANT and IFF_ECHO, add another macro to suppress them in the
 # kernel header, and avoid macro/enum conflict.
 #
+# Kernel version 3.12 introduced the libc-compat.h header.
+#
 # [1] http://www.openwall.com/lists/musl/2015/10/08/2
-ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12),yy)
 define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK
        $(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \
                $(STAGING_DIR)/usr/include/linux/libc-compat.h