From 483a0cf804dfc2b320fc32c7de77d23502dadfd5 Mon Sep 17 00:00:00 2001 From: Marian Balakowicz Date: Tue, 9 May 2006 11:28:36 +0200 Subject: [PATCH] Fixes for gcc 3.4 based m68k toolchain, based on patch by Jate Sujjavanich. --- CHANGELOG | 3 +++ board/cobra5272/flash.c | 1 + board/m5272c3/flash.c | 1 + board/m5282evb/flash.c | 1 + config.mk | 7 +++++++ lib_m68k/board.c | 9 +++++++-- 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 7483fa605c..c637d01060 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 73cc2f2c10..82452e2c48 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 f156342291..ea0b1fd7e0 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 95f35ad84f..36a7c310f9 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 dfbb1b7c6f..b1e1d8f149 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 e25833b32b..c13268c09e 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); /* -- 2.30.2