[U-Boot] [PATCH 1/6 V3] common: Add symbol handling for generic lists into Makefile

Marek Vasut marex at denx.de
Mon Oct 15 04:09:23 CEST 2012


Dear Daniel Schwierzeck,

> 2012/10/15 Marek Vasut <marex at denx.de>:
> >> >  GEN_UBOOT = \
> >> >  
> >> >                 UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
> >> >                 sed  -n -e
> >> >                 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uni
> >> >                 q` ;\
> >> > 
> >> > -               cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F))
> >> > $$UNDEF_SYM $(__OBJS) \ +               UNDEF_LST=`$(OBJDUMP) -x
> >> > $(LIBBOARD) $(LIBS) | \ +               sed  -n -e
> >> > 's/.*\($(SYM_PREFIX)__u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
> >> 
> >> this must be:
> >> > +               sed  -n -e
> >> > 's/.*\($(SYM_PREFIX)_u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
> > 
> > I suspect this might break blackfin.
> 
> no it is already broken without this change. I also tested Blackfin
> but forgot it to mention.
> Blackfin explicitely sets SYM_PREFIX:=_ so you will finally get
> __u_boot_list_.*.

Which is what I _want_ to get.

> >> otherwise $UNDEF_LST is always empty which breaks at least all MIPS
> >> boards because
> >> all _uboot_list_* symbols are discarded by the linker. I noticed that
> >> on ARM and PowerPC
> >> the content of $UNDEF_LST does not matter at all because those symbols
> >> are always linked into the final binary.
> > 
> > About time to fix mips ... or throw it away altogether, until it learns
> > to do stuff right (incl. relocation).
> 
> it's not only MIPS, Blackfin has the same problem. Propably other
> 'exotic' archs too ;)

And that's a problem -- we have to support so much legacy crap because of these 
arches :-(

Best regards,
Marek Vasut


More information about the U-Boot mailing list