Hi..
Currently I've been looking into the Makefile of bootloader "DAS U-Boot". At final build stage, gnu linker links all object and produce the u-boot by the following Makefile target rule:
u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) | sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \ --start-group $(LIBS) $(PLATFORM_LIBS) --end-group \ -Map u-boot.map -o u-boot
$(LDFLAGS) variable ends "-n" and UNDEF_SYM is undefined symbol name list. Can the undefined symbol names be the non-option argument of gnu ld? According to manual page or info, I haven't found any mention of it.
Do I misunderstand at some point about usage of ld? If anyone have a answer please let me know.
Thanks.