Просмотр исходного кода

fix u-boot linking failure with an EABI toolchain

SVN-Revision: 18207
Florian Fainelli 16 лет назад
Родитель
Сommit
d94947e2e9
1 измененных файлов с 52 добавлено и 0 удалено
  1. 52 0
      target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch

+ 52 - 0
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) }