M28: Cleanup memsize.o OOT build
authorMarek Vasut <marek.vasut@gmail.com>
Thu, 8 Dec 2011 09:46:12 +0000 (09:46 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Fri, 9 Dec 2011 16:30:10 +0000 (17:30 +0100)
The current way memsize.c is built just made a symlink into the directory
with SPL and then compiled it like any other file there. This was bad as that
broke the out-of-tree build.

The new way introduced in this patch uses the standard spl/Makefile methods
(CONFIG_SPL_LIBCOMMON_SUPPORT / CONFIG_SPL_LIBGENERIC_SUPPORT) to let files in
common/ be built. Because common/Makefile says memsize.c is always built (SPL
and non-SPL build), this fixes our issue with memsize.c out-of-tree build.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
arch/arm/cpu/arm926ejs/mx28/Makefile
arch/arm/cpu/arm926ejs/mx28/spl_boot.c
arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds
include/configs/m28evk.h

index 372de8a5e4c6de28bce2eb3cfccec16d56c7d689..a2e3f771c26aa9835d4455c4975cf72e191b81a8 100644 (file)
@@ -28,7 +28,7 @@ LIB   = $(obj)lib$(SOC).o
 COBJS  = clock.o mx28.o iomux.o timer.o
 
 ifdef  CONFIG_SPL_BUILD
-COBJS  += memsize.o spl_boot.o spl_mem_init.o spl_power_init.o
+COBJS  += spl_boot.o spl_mem_init.o spl_power_init.o
 endif
 
 SRCS   := $(START:.o=.S) $(COBJS:.o=.c)
@@ -40,11 +40,6 @@ all: $(obj).depend $(LIB)
 $(LIB):        $(OBJS)
        $(call cmd_link_o_target, $(OBJS))
 
-ifdef  CONFIG_SPL_BUILD
-memsize.c:
-       ln -sf $(TOPDIR)/common/memsize.c $@
-endif
-
 #########################################################################
 
 # defines $(obj).depend target
index 3cd4c249ab3df6243b191a8a3858e6f8db1bdd8f..dfb8309e7006457975890a48cb13d657c417f6c9 100644 (file)
@@ -68,17 +68,8 @@ inline void board_init_r(gd_t *id, ulong dest_addr)
                ;
 }
 
-inline int printf(const char *fmt, ...)
-{
-       return 0;
-}
-
-inline void __coloured_LED_init(void) {}
-inline void __red_LED_on(void) {}
-void coloured_LED_init(void)
-       __attribute__((weak, alias("__coloured_LED_init")));
-void red_LED_on(void)
-       __attribute__((weak, alias("__red_LED_on")));
+void serial_putc(const char c) {}
+void serial_puts(const char *s) {}
 void hang(void) __attribute__ ((noreturn));
 void hang(void)
 {
index 893320f993579888626a973d8f2228e162d53a65..0fccd52968dc1dce1af745371af22c1395af447c 100644 (file)
@@ -67,16 +67,16 @@ SECTIONS
                *(.dynsym)
        }
 
-       _end = .;
-
-       .bss __rel_dyn_start (OVERLAY) : {
+       .bss : {
+               . = ALIGN(4);
                __bss_start = .;
-               *(.bss)
-                . = ALIGN(4);
+               *(.bss*)
+               . = ALIGN(4);
                __bss_end__ = .;
        }
 
-       /DISCARD/ : { *(.bss*) }
+       _end = .;
+
        /DISCARD/ : { *(.dynstr*) }
        /DISCARD/ : { *(.dynsym*) }
        /DISCARD/ : { *(.dynamic*) }
index cdf7636c2fcffe7d531cfdb48bce4cbab5d57781..39c841f44cd87589c6959ed48eba6ac19dbfa021 100644 (file)
@@ -50,6 +50,8 @@
 #define        CONFIG_SPL_NO_CPU_SUPPORT_CODE
 #define        CONFIG_SPL_START_S_PATH         "arch/arm/cpu/arm926ejs/mx28"
 #define        CONFIG_SPL_LDSCRIPT     "arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds"
+#define        CONFIG_SPL_LIBCOMMON_SUPPORT
+#define        CONFIG_SPL_LIBGENERIC_SUPPORT
 
 /*
  * U-Boot Commands