diff --git a/toolchain/toolchain/toolchain.mk b/toolchain/toolchain/toolchain.mk index b55b0c712c..179c09edf1 100644 --- a/toolchain/toolchain/toolchain.mk +++ b/toolchain/toolchain/toolchain.mk @@ -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