
On 14.12.2010 17:21, Wolfgang Denk wrote:
Dear Dirk,
In message4D079060.70104@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