openwrt/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch
Florian Fainelli d94947e2e9 fix u-boot linking failure with an EABI toolchain
SVN-Revision: 18207
2009-10-29 16:00:37 +00:00

53 lines
1.5 KiB
Diff

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) }