diff --git a/CHANGELOG b/CHANGELOG index 7483fa605..c637d0106 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Fixes for gcc 3.4 based m68k toolchain, + based on patch by Jate Sujjavanich. + * Added support for BC3450 board Patch by Stefan Strobl, 21. Oct 2005 diff --git a/board/cobra5272/flash.c b/board/cobra5272/flash.c index 73cc2f2c1..82452e2c4 100644 --- a/board/cobra5272/flash.c +++ b/board/cobra5272/flash.c @@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info) printf ("\n"); Done: + return; } diff --git a/board/m5272c3/flash.c b/board/m5272c3/flash.c index f15634229..ea0b1fd7e 100644 --- a/board/m5272c3/flash.c +++ b/board/m5272c3/flash.c @@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info) printf ("\n"); Done: + return; } diff --git a/board/m5282evb/flash.c b/board/m5282evb/flash.c index 95f35ad84..36a7c310f 100644 --- a/board/m5282evb/flash.c +++ b/board/m5282evb/flash.c @@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info) printf ("\n"); Done: + return; } diff --git a/config.mk b/config.mk index dfbb1b7c6..b1e1d8f14 100644 --- a/config.mk +++ b/config.mk @@ -143,7 +143,14 @@ CFLAGS := $(CPPFLAGS) -Wall -Wno-trigraphs endif endif +# turn jbsr into jsr for m68k +ifeq ($(ARCH),m68k) +ifeq ($(findstring 3.4,$(shell $(CC) --version)),3.4) +AFLAGS_DEBUG := -Wa,-gstabs,-S +endif +else AFLAGS_DEBUG := -Wa,-gstabs +endif AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS) LDFLAGS += -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS) diff --git a/lib_m68k/board.c b/lib_m68k/board.c index e25833b32..c13268c09 100644 --- a/lib_m68k/board.c +++ b/lib_m68k/board.c @@ -261,6 +261,7 @@ board_init_f (ulong bootflag) { bd_t *bd; ulong len, addr, addr_sp; + ulong *paddr; gd_t *id; init_fnc_t **init_fnc_ptr; #ifdef CONFIG_PRAM @@ -357,8 +358,12 @@ board_init_f (ulong bootflag) */ addr_sp -= 16; addr_sp &= ~0xF; - *((ulong *) addr_sp)-- = 0; - *((ulong *) addr_sp)-- = 0; + + paddr = (ulong *)addr_sp; + *paddr-- = 0; + *paddr-- = 0; + addr_sp = (ulong)paddr; + debug ("Stack Pointer at: %08lx\n", addr_sp); /*