[U-Boot] [PATCH 7/7] add gc-sections to TPL boot

Scott Wood scottwood at freescale.com
Fri Jan 28 19:30:01 CET 2011


On Fri, 28 Jan 2011 13:08:30 -0500
Haiying Wang <Haiying.Wang at freescale.com> wrote:

> On Fri, 2011-01-28 at 11:36 -0600, Scott Wood wrote:
> > On Thu, 27 Jan 2011 23:58:10 -0500
> > <Haiying.Wang at freescale.com> wrote:
> > 
> > > From: Haiying Wang <Haiying.Wang at freescale.com>
> > > 
> > > Signed-off-by: Haiying Wang <Haiying.Wang at freescale.com>
> > > ---
> > >  arch/powerpc/config.mk |    4 ++++
> > >  config.mk              |    7 ++++++-
> > >  2 files changed, 10 insertions(+), 1 deletions(-)
> > 
> > I see patch 3/8, 4/8, 5/8, and 7/7.  Where are the rest?
> Sorry, patch 7/7 is a wrong number here. I kept the patch # as 3/8/,
> 4/8, 5/8, 8/8 to be consistent with the order in the patchset(v2) I
> submitted in last December. I thought it would be clearer to compare
> them with v2 version and review.  Patch 1/8,2/8 have been applied by
> Kumar, patch 6/8, 7/8 remain the same as v2 version. This patch, is a
> new patch because that TPL still needs --gc-sections in linker option to
> do partial link.
> 
> If it is preferable to have new whole set of patch, I can reorder them
> from 3/8-8/8 plus this one to submit.

Just produce a new complete patchset of what still needs to be
applied.  Don't preserve the numbering.

> > > diff --git a/config.mk b/config.mk
> > > index 5147c35..d7bb07f 100644
> > > --- a/config.mk
> > > +++ b/config.mk
> > > @@ -260,8 +260,13 @@ $(obj)%.s:	%.c
> > >  #########################################################################
> > >  
> > >  # If the list of objects to link is empty, just create an empty built-in.o
> > > +ifdef CONFIG_HAS_TPL
> > > +cmd_link_o_target = $(if $(strip $1),\
> > > +		      $(LD) -r -o $@ $1,\
> > > +		      rm -f $@; $(AR) rcs $@ )
> > > +else
> > >  cmd_link_o_target = $(if $(strip $1),\
> > >  		      $(LD) $(LDFLAGS) -r -o $@ $1,\
> > >  		      rm -f $@; $(AR) rcs $@ )
> > > -
> > > +endif
> > 
> > What's going on here?
> > 
> For CONFIG_HAS_TPL, LDFLAGS has --gc-sections now, passing it to
> cmd_link_o_target here will fail in linking stage:
> "
> powerpc-none-linux-gnuspe-ld: gc-sections requires either an entry or an
> undefined symbol
> "

I think --gc-sections should go in LDFLAGS_u-boot instead.

In any case, I don't think we want different behavior here based on
whether we have TPL.  Either LDFLAGS is used in partial linking, or
it's not.

-Scott



More information about the U-Boot mailing list