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