
On Sunday, December 26, 2010 23:17:39 Nobuhiro Iwamatsu wrote:
2010/12/27 Mike Frysinger vapier@gentoo.org:
On Saturday, December 25, 2010 18:02:26 Nobuhiro Iwamatsu wrote:
Current cmd_link_o_target function in config.mk does not support the set of the endian.
Some architecture is bi-endian (e.g. mips and sh). Therefore, there is case supporting big endian and little endian with one toolchain. For example, when user builds target of big endian in host of little endian, they need set endian.
# 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) $(ENDIANNESS) -r -o $@ $1 ,\
i dont think we should start declaring random new variables with specific purposes.
I agree. But....
better to split the "u-boot final" LDFLAGS out into their own variable (LDFLAGS_u-boot) and keep LDFLAGS as a "these are the flags that need to be used with $(LD)".
cmd_link_o_target is not used in the last of u-boot (u-boot final) .
this is irrelevant to what i suggested
But this is used in the middle of build. For example, when we make libstubs.o in examples/standalone/Makefile.
: examples/standalone/Makefile
89 90 all: $(obj).depend $(OBJS) $(LIB) $(SREC) $(BIN) $(ELF) 91 92 ######################################################################### 93 $(LIB): $(obj).depend $(LIBOBJS) 94 $(call cmd_link_o_target, $(LIBOBJS)) 95 96 $(ELF):
Therefore, I think that we have to add a new variable to this.
no, we dont. do as i suggested: - add $(LDFLAGS_$(@F)) to Makefile:GEN_UBOOT - move -T/-B flags from Makefile:LDFLAGS to Makefile:LDFLAGS_u-boot - move --gc-sections from LDFLAGS to LDFLAGS_u-boot in arch/*/config.mk - add $(LDFLAGS) to cmd_link_o_target
your patch doesnt scale to address all problems -mike