diff options
author | Florian Fainelli <florian@openwrt.org> | 2009-10-29 16:00:37 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2009-10-29 16:00:37 +0000 |
commit | d94947e2e91cdc8c72bfdc1ab3eaa5344f6d4cd7 (patch) | |
tree | 89dde36b1077c8665d5c96ef1662f1f8c337768f /target | |
parent | 77e195a2cb0ec009e4f1c7579a021181157b1441 (diff) | |
download | upstream-d94947e2e91cdc8c72bfdc1ab3eaa5344f6d4cd7.tar.gz upstream-d94947e2e91cdc8c72bfdc1ab3eaa5344f6d4cd7.tar.bz2 upstream-d94947e2e91cdc8c72bfdc1ab3eaa5344f6d4cd7.zip |
fix u-boot linking failure with an EABI toolchain
SVN-Revision: 18207
Diffstat (limited to 'target')
-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) } |