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

Dirk Behme dirk.behme at googlemail.com
Thu Dec 16 11:10:25 CET 2010


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?

Thanks

Dirk


More information about the U-Boot mailing list