diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-10-29 16:00:37 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-10-29 16:00:37 +0000 |
commit | 7ac41a58e02231b5a4102d086a9acbf127d609d9 (patch) | |
tree | 4b419f096124c9c93f9648c2adc70b711b9336d3 /target/linux/at91/image | |
parent | 6bc0d6136909b9328501d4150e7f9e6821860c43 (diff) |
[at91] fix u-boot linking failure with an EABI toolchain
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18207 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/at91/image')
-rw-r--r-- | target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch b/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch new file mode 100644 index 0000000000..ec94a4b40f --- /dev/null +++ b/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch @@ -0,0 +1,52 @@ +Index: git/lib_arm/div0.c +=================================================================== +--- git.orig/lib_arm/div0.c ++++ git/lib_arm/div0.c +@@ -22,9 +22,3 @@ + */ + + /* Replacement (=dummy) for GNU/Linux division-by zero handler */ +-void __div0 (void) +-{ +- extern void hang (void); +- +- hang(); +-} +Index: git/Makefile +=================================================================== +--- git.orig/Makefile ++++ git/Makefile +@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS)) + .PHONY : $(LIBS) + + # Add GCC lib +-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc ++PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh + + # The "tools" are needed early, so put this first + # Don't include stuff already done in $(LIBS) +--- a/board/vlink/vlink.c 2009-10-29 16:40:33.000000000 +0100 ++++ b/board/vlink/vlink.c 2009-10-29 16:43:27.000000000 +0100 +@@ -33,6 +33,9 @@ + * Miscelaneous platform dependent initialisations + */ + ++void raise() {} ++void abort() {} ++ + int board_init (void) + { + DECLARE_GLOBAL_DATA_PTR; +--- a/board/vlink/u-boot.lds 2009-10-29 16:40:33.000000000 +0100 ++++ b/board/vlink/u-boot.lds 2009-10-29 16:43:57.000000000 +0100 +@@ -38,6 +38,10 @@ + + . = ALIGN(4); + .rodata : { *(.rodata) } ++ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } ++ __exidx_start = .; ++ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } ++ __exidx_end = .; + + . = ALIGN(4); + .data : { *(.data) } |