[U-Boot] Build failures with older toolchain

Premi, Sanjeev
2010-11-19T19:43:53Z

> From: u-boot-bounces at lists.denx.de
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Premi, Sanjeev
> Sent: Saturday, November 20, 2010 12:21 AM
> To: u-boot at lists.denx.de
> Subject: [U-Boot] Build failures with older toolchain
>
> Hi all,
>
> I pulled u-boot about an hour ago and master is at this commit:
>
> Author: Matthias Weisser <weisserm@arcor.de>
> Date: Thu Nov 18 09:35:09 2010 +0100
>
> Makefile: Fix build with USE_PRIVATE_LIBGCC
>
> (plus a small change in omap3_config.h - unrelated)
>
> When trying to build u-boot I was constantly, getting these errors:
> arm-none-linux-gnueabi-ld: section .bss [8003f5c8 ->
> 8007e327] overlaps section .rel.dyn [8003f5c8 -> 80044e57]
> arm-none-linux-gnueabi-ld: section .dynsym [80044e58 ->
> 80044ef7] overlaps section .bss [8003f5c8 -> 8007e327]
> arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003f5c8 overlaps previous sections
>
> Tried to build omap3_beagle and there were no issues; unable to
> debug for long, I decided to come back on this problem later.
> Opened a new window and started working on my Linux tree.
>
> Returned back to u-boot, and this time build was successful for no
> evident change. Took me some time to realise that the toolchain
> I was using to work on Linux repo was different - I use an env
> script based on activity.
>
> To verify the doubts, I explicitly ran this command with two different
> versions of toolchain in my path and I see different results. Here are
> last few lines of final build step
>
>
> Failure with Codesourcery 2009q1-203:
>
> h/arm/lib/eabi_compat.o -L
> /opt/codesourcery/2009q1-203/bin/../lib/gcc/arm-none-linux-gnu
> eabi/4.3.3 -lgcc -Map u-boot.map -o u-boot
> arm-none-linux-gnueabi-ld: section .bss [8003f5c8 ->
> 8007e327] overlaps section .rel.dyn [8003f5c8 -> 80044e57]
> arm-none-linux-gnueabi-ld: section .dynsym [80044e58 ->
> 80044ef7] overlaps section .bss [8003f5c8 -> 8007e327]
> arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003f5c8 overlaps previous sections
> make: *** [u-boot] Error 1
> premi # pwd
> /home/premi/git/u-boot
> premi #
>
> Success with Codesourcery 2010q1-202:
>
> 19/u-boot/arch/arm/lib/eabi_compat.o -L
> /opt/codesourcery/2010q1-202/bin/../lib/gcc/arm-none-linux-gnu
> eabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot
> arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003e8e8 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
> premi # pwd
> /home/premi/git/u-boot
> premi #
>
> The configuration for beagle still build successfully for
> both toolchain versions.
> Any clues/ suggestions? Is there a recent change which hasn't
> yet been adapted or
> ported for omap3evm?

Here is my log of git-bisect:
Was trying to find if any commit made changes that could be specific to toolchain version.

Due to state of the omap3evm, 2 changes in configs/omap3_evm.h had to be done manually
at some stage - to avoid compile errors due to undefined symbols.

premi # git bisect log
git bisect start
# good: [e0ccbe367ed4465db930a37a850c889827fb076b] Merge branch 'master' of http://git.denx.de/u-boot
git bisect good e0ccbe367ed4465db930a37a850c889827fb076b
# bad: [e3dae922877505c89823b17acaefdf83a6d92ce2] work in progress
git bisect bad e3dae922877505c89823b17acaefdf83a6d92ce2
# good: [f2b382ea066d02d5ba44870024cc1295e85782ef] Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
git bisect good f2b382ea066d02d5ba44870024cc1295e85782ef
# good: [d75c2a3d7f34ff1eb9920ad72483cff7cb6d358f] Merge branch 'master' of git://git.denx.de/u-boot-imx
git bisect good d75c2a3d7f34ff1eb9920ad72483cff7cb6d358f
# good: [a72dbae2ccd38d2b32f8b814f5a528c88be65bd3] fsl_pci_init: Make fsl_pci_init_port() PCI/PCIe aware
git bisect good a72dbae2ccd38d2b32f8b814f5a528c88be65bd3
# good: [a72dbae2ccd38d2b32f8b814f5a528c88be65bd3] fsl_pci_init: Make fsl_pci_init_port() PCI/PCIe aware
git bisect good a72dbae2ccd38d2b32f8b814f5a528c88be65bd3
# good: [a72dbae2ccd38d2b32f8b814f5a528c88be65bd3] fsl_pci_init: Make fsl_pci_init_port() PCI/PCIe aware
git bisect good a72dbae2ccd38d2b32f8b814f5a528c88be65bd3
# good: [227b72515546fca535dbd3274f6d875d97f494fe] Merge branch 'master' of git://git.denx.de/u-boot-ti
git bisect good 227b72515546fca535dbd3274f6d875d97f494fe
# good: [8ad25bf8d9233eb7d0b614612108622a59069354] Net: clarify board/cpu_eth_init calls
git bisect good 8ad25bf8d9233eb7d0b614612108622a59069354
# bad: [f7ac99fdd9eaf64df9731c2e8fdf97e9d3e2c82a] net: e1000: typo using wrong argument to sizeof
git bisect bad f7ac99fdd9eaf64df9731c2e8fdf97e9d3e2c82a
# good: [858ecd9ac3434e011e84d5fd9013bd1ee199dbdc] tx25: fix linker file for newer ld support
git bisect good 858ecd9ac3434e011e84d5fd9013bd1ee199dbdc
# bad: [6d8962e814c15807dd6ac5757904be2a02d187b8] Switch from archive libraries to partial linking
git bisect bad 6d8962e814c15807dd6ac5757904be2a02d187b8
premi #

This points leads me to this commit:

commit 6d8962e814c15807dd6ac5757904be2a02d187b8
Author: Sebastien Carlier <sebastien.carlier@gmail.com>
Date: Fri Nov 5 15:48:07 2010 +0100

Switch from archive libraries to partial linking

Is this related to toolchain version?
Still doesn't explain why failure occurs for omap3_evm; not omap3_beagle...

~sanjeev

>
> Best regards,
> Sanjeev
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>