summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-01-12 20:16:16 +0000
committerPeter Korsgaard <jacmet@sunsite.dk>2009-01-12 20:16:16 +0000
commitb2c5b9109efa14a02f0581092cb39fac20b58e67 (patch)
treede5ff1316b2697eec447bfe181f737084d868e87
parentb268646b9f881bb499d5ec237eea89f3e7549482 (diff)
toolchain: fix cris build with 2.6.28 kernel headers
Patch by Hinko Kocevar <hinko.kocevar@cetrtapot.si>
-rw-r--r--target/linux/Makefile.in4
-rw-r--r--toolchain/kernel-headers/kernel-headers-new.makefile5
-rw-r--r--toolchain/kernel-headers/linux-2.6.28-cris-headers.patch28
-rw-r--r--toolchain/kernel-headers/linux-2.6.28-cris-objcopy-flags.patch45
4 files changed, 82 insertions, 0 deletions
diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in
index e6ec351d2..625a2e244 100644
--- a/target/linux/Makefile.in
+++ b/target/linux/Makefile.in
@@ -59,9 +59,13 @@ ifndef LINUX26_BINLOC
ifeq ($(LINUX26_FORMAT),vmlinux)
LINUX26_BINLOC=$(LINUX26_FORMAT)
else
+ifeq ($(BR2_ARCH),"cris")
+LINUX26_BINLOC=arch/$(KERNEL_ARCH)/arch-v10/boot/$(LINUX26_FORMAT)
+else
LINUX26_BINLOC=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
endif
endif
+endif
# File name for the Linux kernel binary
ifndef LINUX26_KERNEL
diff --git a/toolchain/kernel-headers/kernel-headers-new.makefile b/toolchain/kernel-headers/kernel-headers-new.makefile
index dce9ee8a5..42c943d87 100644
--- a/toolchain/kernel-headers/kernel-headers-new.makefile
+++ b/toolchain/kernel-headers/kernel-headers-new.makefile
@@ -86,6 +86,11 @@ $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
HOSTCXX="$(HOSTCXX)" \
INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
)
+ifeq ($(BR2_ARCH),"cris")
+ ln -s $(LINUX_HEADERS_DIR)/include/arch-v10/arch $(LINUX_HEADERS_DIR)/include/arch
+ cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/linux/user.h $(LINUX_HEADERS_DIR)/include/linux
+ $(SED) "/^#include <asm\/page\.h>/d" $(LINUX_HEADERS_DIR)/include/asm/user.h
+endif
touch $@
endif
diff --git a/toolchain/kernel-headers/linux-2.6.28-cris-headers.patch b/toolchain/kernel-headers/linux-2.6.28-cris-headers.patch
new file mode 100644
index 000000000..ff2fa49c5
--- /dev/null
+++ b/toolchain/kernel-headers/linux-2.6.28-cris-headers.patch
@@ -0,0 +1,28 @@
+diff -urN linux-2.6.28/arch/cris/include/arch-v10/arch/Kbuild linux-2.6.28.my/arch/cris/include/arch-v10/arch/Kbuild
+--- linux-2.6.28/arch/cris/include/arch-v10/arch/Kbuild 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/include/arch-v10/arch/Kbuild 2009-01-12 12:59:06.000000000 +0100
+@@ -1,3 +1,5 @@
++header-y += elf.h
++header-y += ptrace.h
+ header-y += user.h
+ header-y += svinto.h
+ header-y += sv_addr_ag.h
+diff -urN linux-2.6.28/arch/cris/include/asm/Kbuild linux-2.6.28.my/arch/cris/include/asm/Kbuild
+--- linux-2.6.28/arch/cris/include/asm/Kbuild 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/include/asm/Kbuild 2009-01-12 13:14:40.000000000 +0100
+@@ -1,11 +1,13 @@
+ include include/asm-generic/Kbuild.asm
+
+-header-y += arch-v10/
+-header-y += arch-v32/
++header-y += ../arch-v10/arch/
++header-y += ../arch-v32/arch/
+
++header-y += elf.h
+ header-y += ethernet.h
+ header-y += rtc.h
+ header-y += sync_serial.h
++header-y += user.h
+
+ unifdef-y += etraxgpio.h
+ unifdef-y += rs485.h
diff --git a/toolchain/kernel-headers/linux-2.6.28-cris-objcopy-flags.patch b/toolchain/kernel-headers/linux-2.6.28-cris-objcopy-flags.patch
new file mode 100644
index 000000000..32da2f087
--- /dev/null
+++ b/toolchain/kernel-headers/linux-2.6.28-cris-objcopy-flags.patch
@@ -0,0 +1,45 @@
+--- linux-2.6.28/arch/cris/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/Makefile 2009-01-12 13:21:44.000000000 +0100
+@@ -40,7 +40,7 @@
+
+ LD = $(CROSS_COMPILE)ld -mcrislinux
+
+-OBJCOPYFLAGS := -O binary -R .note -R .comment -S
++OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment
+
+ CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
+
+diff -urN linux-2.6.28/arch/cris/arch-v10/boot/Makefile linux-2.6.28.my/arch/cris/arch-v10/boot/Makefile
+--- linux-2.6.28/arch/cris/arch-v10/boot/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/arch-v10/boot/Makefile 2009-01-12 13:28:25.000000000 +0100
+@@ -2,8 +2,6 @@
+ # arch/cris/arch-v10/boot/Makefile
+ #
+
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+-
+ subdir- := compressed rescue
+ targets := Image
+
+diff -urN linux-2.6.28/arch/cris/arch-v10/boot/compressed/Makefile linux-2.6.28.my/arch/cris/arch-v10/boot/compressed/Makefile
+--- linux-2.6.28/arch/cris/arch-v10/boot/compressed/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/arch-v10/boot/compressed/Makefile 2009-01-12 13:28:33.000000000 +0100
+@@ -6,7 +6,6 @@
+ ccflags-y += -O2 $(LINUXINCLUDE)
+ ldflags-y += -T $(srctree)/$(src)/decompress.lds
+ OBJECTS = $(obj)/head.o $(obj)/misc.o
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+
+ quiet_cmd_image = BUILD $@
+ cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
+diff -urN linux-2.6.28/arch/cris/arch-v10/boot/rescue/Makefile linux-2.6.28.my/arch/cris/arch-v10/boot/rescue/Makefile
+--- linux-2.6.28/arch/cris/arch-v10/boot/rescue/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.my/arch/cris/arch-v10/boot/rescue/Makefile 2009-01-12 13:28:40.000000000 +0100
+@@ -5,7 +5,6 @@
+ ccflags-y += -O2 $(LINUXINCLUDE)
+ asflags-y += $(LINUXINCLUDE)
+ ldflags-y += -T $(srctree)/$(src)/rescue.lds
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+ obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o
+ OBJECT := $(obj)/head.o
+