diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2011-12-08 09:46:12 (GMT) |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-12-09 16:30:10 (GMT) |
commit | 8ba1604d342076c29e375fa3196106eed1f84b2a (patch) | |
tree | 75ec9c4e861a458cb667015f81276ed665748624 | |
parent | c944a3ef8224a2d5936b31ebd72a6ebd842409d1 (diff) | |
download | u-boot-fsl-qoriq-8ba1604d342076c29e375fa3196106eed1f84b2a.tar.xz |
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 <marek.vasut@gmail.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
-rw-r--r-- | arch/arm/cpu/arm926ejs/mx28/Makefile | 7 | ||||
-rw-r--r-- | arch/arm/cpu/arm926ejs/mx28/spl_boot.c | 13 | ||||
-rw-r--r-- | arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds | 12 | ||||
-rw-r--r-- | 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 372de8a..a2e3f77 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 3cd4c24..dfb8309 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 893320f..0fccd52 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 cdf7636..39c841f 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 |