[U-Boot] OMAP3: EVM: Linker errors across tool chain versions

Dirk Behme dirk.behme at googlemail.com
Fri Dec 17 11:39:47 CET 2010


On 16.12.2010 11:10, Dirk Behme wrote:
> On 14.12.2010 17:21, Wolfgang Denk wrote:
>> Dear Dirk,
>>
>> In message<4D079060.70104 at googlemail.com> you wrote:
>>>
>>> I did a readelf analysis for 3 test cases (with 2009q1-203):
>>
>> Which exact versions of GCC and binutils is this?
>
> gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203). For binutils
> versions (linker) see below.
>
>> Do we see any differences in board/ti/evm/evm.o ?
>
> I compiled 'omap3_evm' with only above tool chain. Then linked with
> four different linkers, see your next question. I.e. it's always the
> same board/ti/evm/evm.o linked with four different linkers.ll
>
>> Can just use a different linker?
>
> Yes. Compile 'omap3_evm' with 2009q1-203 and link the objects with
> four different linkers:
>
> GNU ld (Sourcery G++ Lite 2009q1-203) 2.19.51.20090205
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: section .bss [8003f5e0 ->
> 8007e337] overlaps section .rel.dyn [8003f5e0 -> 80044e57]
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: section .dynsym [80044e58 ->
> 80044ef7] overlaps section.bss [8003f5e0 -> 8007e337]
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003f5e0 overlaps previous sections
> ls: Access to u-boot not possible: File or directory not found
>
>
> GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709
> arm-2009q3/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003f5e0 overlaps previous sections
> -rwxr-xr-x 1 dirk users 911743 16. Dez 10:30 u-boot
>
>
> GNU ld (Sourcery G++ Lite 2010q1-202) 2.19.51.20090709
> arm-2010q1/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003f5e0 overlaps previous sections
> -rwxr-xr-x 1 dirk users 911743 16. Dez 10:30 u-boot
>
>
> GNU ld (Sourcery G++ Lite 2010.09-50) 2.20.51.20100809
> -rwxr-xr-x 1 dirk users 911743 16. Dez 10:30 u-boot
>
>> Or use a different tool chain for the compilation part, and use the
>> linker from 2009q1-203 ?
>
> Using then the most recent Codesourcery gcc version 4.5.1 (Sourcery
> G++ Lite 2010.09-50) for compilation and the same linkers as above for
> the linking stage results in
>
>
> GNU ld (Sourcery G++ Lite 2009q1-203) 2.19.51.20090205
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: u-boot: Unknown mandatory
> EABI object attribute 44
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: failed to merge target
> specific data of file arch/arm/cpu/armv7/libarmv7.o
>
> ....
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: section .bss [8003e158 ->
> 8007ceaf] overlaps section .rel.dyn [8003e158 -> 80043897]
>
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: section .dynsym [80043898 ->
> 80043937] overlaps section .bss [8003e158 -> 8007ceaf]
>
> arm-2009q1/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003e158 overlaps previous sections
>
> ls: Access to u-boot not possible: File or directory not found
>
>
> GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709
> arm-2009q3/bin/arm-none-linux-gnueabi-ld: u-boot: Unknown mandatory
> EABI object attribute 44
> arm-2009q3/bin/arm-none-linux-gnueabi-ld: failed to merge target
> specific data of file arch/arm/cpu/armv7/libarmv7.o
>
> ....
> arm-2009q3/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003e158 overlaps previous sections
> ls: Access to u-boot not possible: File or directory not found
>
>
> GNU ld (Sourcery G++ Lite 2010q1-202) 2.19.51.20090709
> arm-2010q1/bin/arm-none-linux-gnueabi-ld: u-boot: section .bss vma
> 0x8003e158 overlaps previous sections
> -rwxr-xr-x 1 dirk users 981801 16. Dez 10:41 u-boot
>
>
> GNU ld (Sourcery G++ Lite 2010.09-50) 2.20.51.20100809
> -rwxr-xr-x 1 dirk users 981801 16. Dez 10:41 u-boot
>
>> I would really like to nail this down to a specific tool / version.
>
> Does this help?

Any comments on this? If we would come to a conclusion, soon, I'd like 
to get a fix integrated for v2010.12.

Thanks

Dirk


More information about the U-Boot mailing list