[U-Boot] Build failures with older toolchain

Premi, Sanjeev
2010-11-29T09:47:23Z

> From: u-boot-bounces at lists.denx.de
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Premi, Sanjeev
> Sent: Monday, November 22, 2010 8:57 PM
> To: Albert ARIBAUD
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] Build failures with older toolchain
>
> > -----Original Message-----
> > From: Albert ARIBAUD [mailto:albert.aribaud at free.fr]
> > Sent: Monday, November 22, 2010 8:54 PM
> > To: Premi, Sanjeev
> > Cc: u-boot at lists.denx.de
> > Subject: Re: Build failures with older toolchain
> >
> > Le 22/11/2010 16:02, Premi, Sanjeev a ?crit :
> > >> -----Original Message-----
> > >> From: Albert ARIBAUD [mailto:albert.aribaud at free.fr]
> > >> Sent: Monday, November 22, 2010 8:02 PM
> > >> To: Premi, Sanjeev
> > >> Cc: Wolfgang Denk; u-boot at lists.denx.de
> > >> Subject: Re: Build failures with older toolchain
> > >>
> > >> Le 22/11/2010 14:50, Premi, Sanjeev a ?crit :
> > >>> Tried the same stuff for overo and no issues!
> > >>>
> > >>> Since there linker scripts are same between omap3_evm,
> > omap3_beagle
> > >>> and omap3_overo, only difference could have been board
> > >> specific code.
> > >>>
> > >>> I was hoping to find some code that might be offending
> the linker;
> > >>> unable to find by inspection, I reduced the default
> configuration
> > >>> for the evm to as low as I could - still see:
> > >>>
> > >>> arm-none-linux-gnueabi-ld: section .bss [800fe358 ->
> > >> 800fee1b] overlaps section .rel.dyn [800fe358 -> 8010076f]
> > >>> arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> > >> 0x800fe358 overlaps previous sections
> > >>>
> > >>> I am still not sure why the start of .bss and .rel.dyn for
> > >> omap3_evm start at same address
> > >>
> > >> That is because they are voluntarily overlapped. This
> > looks like the
> > >> patch I recently did, which in essence does overlap BSS
> > (which is not
> > >> used before relocation) and relocation tables (which are not
> > >> used after
> > >> relocation) so that the FLASH and RAM footprint remain minimal.
> > >
> > > [sp] Are you referring to this patch?
> > >
> > http://git.denx.de/?p=u-boot.git;a=commitdiff;h=aaeb0a890a050b
> > 58be87fa2b165eec5fa947dc86
> > >
> > > I see the change for arm926ejs/u-boot.lds and
> armv7/u-boot.lds
> > > to be similar.
> > >
> > > Your commit mentions about the new ld vs. old; I
> had seen this
> > > earlier as well. It was the reason for me to try
> CodeSourcery
> > > Lite 2010-q1 but there I get a different error -
> > mentioned in my
> > > first post.
> > >
> > > Which toolchain version are you using?
> >
> > I usually try the 2009q3 Code Sourcery and the ELDK 4.2 toolchains.
> >
> > Can you compare the ld invocation command lines for a failure
> > case and a
> > success case? The difference could be in the linker options.
>
> [sp] Identical :(
> Would you want me to share the build logs or the last step?
> The generated u-boot.lds is also same. It was my first step.
>
> Then I started looking if there is any "forced" addition on
> specific section that may not be going well with linker/
> relocation changes - reason for trying a minimal config.
>

Albert,

I saw some more - what I believe related changes - since last week;
but the linker error still persists.

with 2009-q1 toolchain:
-----------------------
busb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o common/libcommon.o lib/libfdt/libfdt.o api/libapi.o post/libpost.o arch/arm/cpu/armv7/omap-common/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3 -lgcc -Map u-boot.map -o u-boot
arm-none-linux-gnueabi-ld: section .bss [8003f5c0 -> 8007e31f] overlaps section .rel.dyn [8003f5c0 -> 80044e4f]
arm-none-linux-gnueabi-ld: section .dynsym [80044e50 -> 80044eef] overlaps section .bss [8003f5c0 -> 8007e31f]
arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5c0 overlaps previous sections
make: *** [u-boot] Error 1

with 2010-q1 toolchain:
-----------------------
mmon/libomap-common.o board/ti/evm/libevm.o --end-group /db/psp_git/users/a0756819/u-boot/arch/arm/lib/eabi_compat.o -L /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot
arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003e8e0 overlaps previous sections
arm-none-linux-gnueabi-objcopy -O srec u-boot u-boot.srec
arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

Best regards,
Sanjeev

> ~sanjeev
>
> >
> > Amicalement,
> > --
> > Albert.
> >
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>