diff mbox

toolchain: limit musl workaround to kernel headers 3.12+

Message ID 9f5573bb9c8401ad32d34c22c69e062e14b834de.1495167637.git.baruch@tkos.co.il
State Accepted
Commit 4d1c2c82e8945a5847d636458f3825c55529835b
Headers show

Commit Message

Baruch Siach May 19, 2017, 4:20 a.m. UTC
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>
---
 toolchain/toolchain/toolchain.mk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Riko Ho May 19, 2017, 4:23 a.m. UTC | #1
Hello everyone,

I tried to startx from newly compiled buildroot,
but
I got "no screens found" error on Qemu.

How can I fix it ?
Regards,
Riko Ho May 19, 2017, 10:40 a.m. UTC | #2
Hi Everyone,

How can I make X11 server / X windows run based from qemu_x86_64_defconfig ?
Thanks
Peter Korsgaard May 19, 2017, 1:29 p.m. UTC | #3
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes:

 > 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>

Committed, thanks.
Peter Korsgaard June 1, 2017, 2:01 p.m. UTC | #4
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes:

 > 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>

Committed to 2017.02.x, thanks.
diff mbox

Patch

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