[U-Boot] [PATCH v3 0/6] Second step towards Kbuild: Descend down like Kbuild
Masahiro Yamada
yamada.m at jp.panasonic.com
Fri Oct 4 12:37:53 CEST 2013
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.
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list