From 8ba1604d342076c29e375fa3196106eed1f84b2a Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 8 Dec 2011 09:46:12 +0000 Subject: [PATCH] M28: Cleanup memsize.o OOT build 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 Cc: Wolfgang Denk Cc: Detlev Zundel Cc: Stefano Babic --- arch/arm/cpu/arm926ejs/mx28/Makefile | 7 +------ arch/arm/cpu/arm926ejs/mx28/spl_boot.c | 13 ++----------- arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds | 12 ++++++------ include/configs/m28evk.h | 2 ++ 4 files changed, 11 insertions(+), 23 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/mx28/Makefile b/arch/arm/cpu/arm926ejs/mx28/Makefile index 372de8a5e4..a2e3f771c2 100644 --- a/arch/arm/cpu/arm926ejs/mx28/Makefile +++ b/arch/arm/cpu/arm926ejs/mx28/Makefile @@ -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 diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_boot.c b/arch/arm/cpu/arm926ejs/mx28/spl_boot.c index 3cd4c249ab..dfb8309e70 100644 --- a/arch/arm/cpu/arm926ejs/mx28/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mx28/spl_boot.c @@ -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) { diff --git a/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds index 893320f993..0fccd52968 100644 --- a/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds @@ -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*) } diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index cdf7636c2f..39c841f44c 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -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