[U-Boot] [PATCH 1/2 for 2010.12 ] Add support PLATFORM_LDFLAGS to cmd_link_o_target

Nobuhiro Iwamatsu iwamatsu at nigauri.org
Mon Dec 27 07:29:17 CET 2010


2010/12/27 Mike Frysinger <vapier at gentoo.org>:
> On Sunday, December 26, 2010 23:17:39 Nobuhiro Iwamatsu wrote:
>> 2010/12/27 Mike Frysinger <vapier at 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

OK, I understood your indication.
I will send new patch.

Thanks!

Nobuhiro
-- 
Nobuhiro Iwamatsu


More information about the U-Boot mailing list