Fixes for gcc 3.4 based m68k toolchain,
authorMarian Balakowicz <m8@semihalf.com>
Tue, 9 May 2006 09:28:36 +0000 (11:28 +0200)
committerMarian Balakowicz <m8@semihalf.com>
Tue, 9 May 2006 09:28:36 +0000 (11:28 +0200)
based on patch by Jate Sujjavanich.

CHANGELOG
board/cobra5272/flash.c
board/m5272c3/flash.c
board/m5282evb/flash.c
config.mk
lib_m68k/board.c

index 7483fa6..c637d01 100644 (file)
--- 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
 
index 73cc2f2..82452e2 100644 (file)
@@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info)
        printf ("\n");
 
 Done:
+       return;
 }
 
 
index f156342..ea0b1fd 100644 (file)
@@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info)
        printf ("\n");
 
       Done:
+       return;
 }
 
 
index 95f35ad..36a7c31 100644 (file)
@@ -65,6 +65,7 @@ void flash_print_info (flash_info_t * info)
        printf ("\n");
 
       Done:
+       return;
 }
 
 
index dfbb1b7..b1e1d8f 100644 (file)
--- 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)
index e25833b..c13268c 100644 (file)
@@ -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);
 
        /*