Dear Wolfgang Denk, > Dear Marek Vasut, > > In message <1348589520-14395-2-git-send-email-ma...@denx.de> you wrote: > > This patch adds essential components for generation of the contents of > > the linker section that is used by the linker-generated array. All of > > the contents is held in a separate file, u-boot.lst, which is generated > > at runtime just before U-Boot is linked. > > ... > > > --- a/Makefile > > +++ b/Makefile > > @@ -510,7 +510,10 @@ else > > > > GEN_UBOOT = \ > > > > UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ > > sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort| uniq`;\ > > > > - 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`;\ > > + cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \ > > + $$UNDEF_SYM $$UNDEF_LST $(__OBJS) \ > > I dislike the exact duplication of the commands here.
These shall begone once the cmd stuff is flipped over to these generic lists. > Would it not make sense to provide some function / script to do that? How do you like helper.mk ? %^) But see above, I think it'll grow pointless soon. > > +$(eval $(call make_u_boot_list, $(obj)u-boot.lst, $(LIBBOARD) $(LIBS))) > > +$(obj)u-boot.lds: $(LDSCRIPT) $(obj)u-boot.lst > > + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@ > > I think this needs a comment to explain what sort of magic you are > invoking here. > > ... > > > --- /dev/null > > +++ b/helper.mk > > ... > > > + $(OBJDUMP) -h $(2) | \ > > + sed -n -e 's/.*\(\.u_boot_list[^ ]\+\).*$$$$/\1/p' | \ > > + sed 's/\.[^\.]\+$$$$//' | \ > > + sed -n ':s /^.\+$$$$/ { p;s/^\(.*\)\.[^\.]*$$$$/\1/;b s }' | \ > > + sed -n 'h;s/$$$$/\a/p;g;s/$$$$/@/p;g;s/$$$$/~/p;' | \ > > ... > > Why exactly do you need 4 invocations of sed here? Seems just like a > waste of processes to me. > > > LDSCRIPT= $(TOPDIR)/$(CPUDIR)/u-boot-nand_spl.lds > > > > +LSTSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lst > > BTW: what exactly is "LST" supposed to mean? LIST ... that's from Supaplex, there was this levels.lst file IIRC ;-) > > +$(eval $(call make_u_boot_list, $(LSTSCRIPT), $(__OBJS))) > > +$(nandobj)u-boot-nand_spl.lds: $(LDSCRIPT) $(LSTSCRIPT) > > + $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$< >$@ > > Comment needed. The eval call ... ? > > Best regards, > > Wolfgang Denk Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot