From a1cb74821a3d4ccb708280ad1ed8297c67c4a54b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 15 Mar 2014 22:16:11 +0100 Subject: fix kernel build on Darwin for x86 targets relocs tool uses some kind of regular expression, which does not work with the provided one. Use pcre in this case. Rework KERNEL_MAKE_OPTS while here. Use it in kernel-header, too. --- toolchain/kernel-headers/Makefile | 6 ++--- .../kernel-headers/patches/3.13.6/relocs.patch | 30 +++++++++++++++++----- 2 files changed, 26 insertions(+), 10 deletions(-) (limited to 'toolchain') diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile index 4303accdc..89ebf340f 100644 --- a/toolchain/kernel-headers/Makefile +++ b/toolchain/kernel-headers/Makefile @@ -4,12 +4,12 @@ include $(TOPDIR)/rules.mk include ../rules.mk include $(TOPDIR)/mk/linux.mk +include ${TOPDIR}/mk/kernel-vars.mk include ${TOPDIR}/mk/buildhlp.mk $(WRKBUILD)/.headers: - $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \ - headers_check - $(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \ + $(MAKE) -C $(WRKBUILD) ${KERNEL_MAKE_OPTS} headers_check + $(MAKE) -C $(WRKBUILD) ${KERNEL_MAKE_OPTS} \ INSTALL_HDR_PATH=$(STAGING_TARGET_DIR)/usr \ headers_install @-find $(STAGING_TARGET_DIR)/usr/include -name .install -delete diff --git a/toolchain/kernel-headers/patches/3.13.6/relocs.patch b/toolchain/kernel-headers/patches/3.13.6/relocs.patch index 649b9e73e..69a7c88a9 100644 --- a/toolchain/kernel-headers/patches/3.13.6/relocs.patch +++ b/toolchain/kernel-headers/patches/3.13.6/relocs.patch @@ -1,7 +1,18 @@ -diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/relocs.h ---- linux-3.11.5.orig/arch/x86/tools/relocs.h 2013-10-14 03:14:45.000000000 +0200 -+++ linux-3.11.5/arch/x86/tools/relocs.h 2013-10-20 17:41:16.000000000 +0200 -@@ -9,10 +9,14 @@ +diff -Nur linux-3.13.6.orig/arch/x86/tools/relocs.c linux-3.13.6/arch/x86/tools/relocs.c +--- linux-3.13.6.orig/arch/x86/tools/relocs.c 2014-03-07 07:07:02.000000000 +0100 ++++ linux-3.13.6/arch/x86/tools/relocs.c 2014-03-15 19:39:45.000000000 +0100 +@@ -126,6 +126,7 @@ + + if (err) { + regerror(err, &sym_regex_c[i], errbuf, sizeof errbuf); ++ printf("foo: %s\n", sym_regex[i]); + die("%s", errbuf); + } + } +diff -Nur linux-3.13.6.orig/arch/x86/tools/relocs.h linux-3.13.6/arch/x86/tools/relocs.h +--- linux-3.13.6.orig/arch/x86/tools/relocs.h 2014-03-07 07:07:02.000000000 +0100 ++++ linux-3.13.6/arch/x86/tools/relocs.h 2014-03-15 18:48:40.000000000 +0100 +@@ -9,11 +9,19 @@ #include #include #include @@ -13,12 +24,17 @@ diff -Nur linux-3.11.5.orig/arch/x86/tools/relocs.h linux-3.11.5/arch/x86/tools/ +#else +#include "elf.h" +#endif ++#ifdef __APPLE__ ++#include ++#else #include ++#endif #include -diff -Nur linux-3.11.5.orig/tools/include/elf.h linux-3.11.5/tools/include/elf.h ---- linux-3.11.5.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.11.5/tools/include/elf.h 2013-10-20 17:42:10.000000000 +0200 + void die(char *fmt, ...); +diff -Nur linux-3.13.6.orig/tools/include/elf.h linux-3.13.6/tools/include/elf.h +--- linux-3.13.6.orig/tools/include/elf.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-3.13.6/tools/include/elf.h 2014-03-15 18:47:36.000000000 +0100 @@ -0,0 +1,2671 @@ +#ifndef _ELF_H +#define _ELF_H -- cgit v1.2.3