[U-Boot] [PATCH v3 0/6] Second step towards Kbuild: Descend down like Kbuild

Simon Glass sjg at chromium.org
Fri Oct 4 17:52:55 CEST 2013


Hi Mashahiro,

On Fri, Oct 4, 2013 at 4:37 AM, Masahiro Yamada
<yamada.m at jp.panasonic.com> wrote:
> Hello Simon
>
>
>> Can you please explain why you need to change the .lds files - sorry it is
>> not obvious to me.
>
>
> This series changes how objects are linked.
>
> Before this series,
>   drivers/bios_emulator/libatibiosemu.o
>   drivers/block/libblock.o
>   drivers/pcmcia/libpcmcia.o
>   ...
> are directly linked into ./u-boot at the final link stage.
>
>
> After this series,
>   drivers/bios_emulator/built-in.o
>   drivers/block/built-in.o
>   drivers/pcmcia/built-in.o
>   ...
> are combined into drivers/libdrivers.o
> and then drivers/libdrivers.o is linked into ./u-boot.
>
>
> This means that all symbols in
>   drivers/bios_emulator/built-in.o
>   drivers/block/built-in.o
>   drivers/pcmcia/built-in.o
>   ...
> are also included in drivers/libdrivers.o
>
>
>> --- a/board/tqc/tqm8xx/u-boot.lds
>> +++ b/board/tqc/tqm8xx/u-boot.lds
>> @@ -23,8 +23,8 @@ SECTIONS
>>      board/tqc/tqm8xx/libtqm8xx.o       (.text*)
>>      disk/libdisk.o                     (.text*)
>>      drivers/net/libnet.o               (.text*)
>> -    drivers/pcmcia/libpcmcia.o         (.text.pcmcia_on)
>> -    drivers/pcmcia/libpcmcia.o         (.text.pcmcia_hardware_enable)
>> +    drivers/libdrivers.o               (.text.pcmcia_on)
>> +    drivers/libdrivers.o               (.text.pcmcia_hardware_enable)
>>
>>      . = DEFINED(env_offset) ? env_offset : .;
>>      common/env_embedded.o      (.ppcenv*)
>
> This is to avoid multiple definition error at the link stage.
>
> .test.pcmcia_on and .text.pcmcia_hardware_enable
> are included in both drivers/pcmcia/built-in.o and drivers/libdrivers.o
> so I replaced the former with the latter.
>
>
>> diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds
>> index f9c2beb..b30b667 100644
>> --- a/board/LEOX/elpt860/u-boot.lds
>> +++ b/board/LEOX/elpt860/u-boot.lds
>> @@ -34,7 +34,6 @@ SECTIONS
>>      arch/powerpc/cpu/mpc8xx/libmpc8xx.o        (.text*)
>>      board/LEOX/elpt860/libelpt860.o    (.text*)
>>      arch/powerpc/lib/libpowerpc.o      (.text*)
>> -/*    drivers/rtc/librtc.o             (.text*)        */
>>
>>      . = env_offset;
>>      common/env_embedded.o
>
> Becuase only a comment line is deleted,
> this change has no impact and I might not have needed to touch it actually.
> I deleted it just because we don't have drivers/rtc/librtc.c any more.

OK this sounds reasonable, thank for you the explanation.

Regards,
Simon


More information about the U-Boot mailing list