toolchain: fix cris build with 2.6.28 kernel headers
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 12 Jan 2009 20:16:16 +0000 (20:16 -0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 12 Jan 2009 20:16:16 +0000 (20:16 -0000)
Patch by Hinko Kocevar <hinko.kocevar@cetrtapot.si>

target/linux/Makefile.in
toolchain/kernel-headers/kernel-headers-new.makefile
toolchain/kernel-headers/linux-2.6.28-cris-headers.patch [new file with mode: 0644]
toolchain/kernel-headers/linux-2.6.28-cris-objcopy-flags.patch [new file with mode: 0644]

index e6ec351d2ef039fe0039d42bdf62bc83bd99f0ae..625a2e24444d784059da8728e2bc5df8dbbb4dd2 100644 (file)
@@ -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
index dce9ee8a5c39627aa4bbd4ee21f5fe6512a6e12c..42c943d8789736832c6be6d83b348f3df5c9c04e 100644 (file)
@@ -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 (file)
index 0000000..ff2fa49
--- /dev/null
@@ -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 (file)
index 0000000..32da2f0
--- /dev/null
@@ -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