[U-Boot] [PATCH] Introduce a new linker flag LDFLAGS_FINAL

Haiying Wang Haiying.Wang at freescale.com
Tue Feb 1 15:59:57 CET 2011


On Tue, 2011-02-01 at 08:34 +0100, Wolfgang Denk wrote:

> Can you please be more specific?  I don't see where "the
> LDFLAGS_u-boot commit" (you mean 8aba9dc ?) would change any related
> code.  The relevant hunk looks like this:
> 
> @@ -204,9 +204,11 @@ endif
>  
>  AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
>  
> -LDFLAGS += -Bstatic -T $(obj)u-boot.lds $(PLATFORM_LDFLAGS)
> +LDFLAGS += $(PLATFORM_LDFLAGS)
> +
> +LDFLAGS_u-boot += -Bstatic -T $(obj)u-boot.lds $(PLATFORM_LDFLAGS)
>  ifneq ($(CONFIG_SYS_TEXT_BASE),)
> -LDFLAGS += -Ttext $(CONFIG_SYS_TEXT_BASE)
> +LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
>  endif
>  
>  # Location of a usable BFD library, where we define "usable" as
> 
> and this does not make any changes of PLATFORM_LDFLAGS into LDFLAGS
> or vice versa.
> 
But PLATFORM_LDFLAGS has been changed in $(CPUDIR)/config.mk.

You can see in commit 8aba9dc:

--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -24,10 +24,10 @@
 CROSS_COMPILE ?= ppc_8xx-
 
 STANDALONE_LOAD_ADDR = 0x40000
-
+LDFLAGS_u-boot = --gc-sections
 PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections
 PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
-PLATFORM_LDFLAGS  += -n --gc-sections
+PLATFORM_LDFLAGS  += -n

Here, --gc-sections is set only for LDFLAGS_u-boot, the PLATFORM_LDFLAGS
does have --gc-sections, So in toplevel config.mk:

+LDFLAGS += $(PLATFORM_LDFLAGS)

And later in this config.mk, 

@@ -259,7 +261,7 @@ $(obj)%.s:  %.c
 
 # If the list of objects to link is empty, just create an empty built-in.o
 cmd_link_o_target = $(if $(strip $1),\
-                     $(LD) -r -o $@ $1 ,\
+                     $(LD) $(LDFLAGS) -r -o $@ $1,\
                      rm -f $@; $(AR) rcs $@ )


LDFLAGS is added in cmd_link_o_target which made changes to build
nand_spl.

Haiying






More information about the U-Boot mailing list