|
@@ -13,18 +13,18 @@ endif
|
|
|
TOOLCHAIN_ADD_TOOLCHAIN_DEPENDENCY = NO
|
|
|
|
|
|
# Apply a hack that Rick Felker suggested[1] to avoid conflicts between libc
|
|
|
-# headers and kernel headers. This is a temporary measure until musl finds a
|
|
|
-# better solution.
|
|
|
+# headers and kernel headers. This is needed for kernel headers older than
|
|
|
+# 4.15. Kernel headers 4.15 and newer don't require __GLIBC__ to be defined.
|
|
|
#
|
|
|
# Augment the original suggestion with __USE_MISC since recent kernels
|
|
|
-# require this glibc internal macro. Also, as musl defines IFF_LOWER_UP,
|
|
|
-# IFF_DORMANT and IFF_ECHO, add another macro to suppress them in the
|
|
|
-# kernel header, and avoid macro/enum conflict.
|
|
|
+# (older than 4.15) require this glibc internal macro. Also, as musl defines
|
|
|
+# IFF_LOWER_UP, 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)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12),yy)
|
|
|
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL)$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15),yy:)
|
|
|
define TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBILITY_HACK
|
|
|
$(SED) 's/^#if defined(__GLIBC__)$$/#if 1/' \
|
|
|
$(STAGING_DIR)/usr/include/linux/libc-compat.h
|