summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-03-15 22:16:11 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2014-03-15 22:16:11 +0100
commita1cb74821a3d4ccb708280ad1ed8297c67c4a54b (patch)
tree51c8435bca5b4bbe83d4ca4dae420c0879705442 /toolchain
parent5ab73932ee0b48cee835aecf6434bd32ec1ea599 (diff)
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.
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/kernel-headers/Makefile6
-rw-r--r--toolchain/kernel-headers/patches/3.13.6/relocs.patch30
2 files changed, 26 insertions, 10 deletions
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 <string.h>
#include <errno.h>
#include <unistd.h>
@@ -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 <pcreposix.h>
++#else
#include <regex.h>
++#endif
#include <tools/le_byteshift.h>
-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