From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dirk Behme Date: Thu, 16 Dec 2010 11:10:25 +0100 Subject: [U-Boot] OMAP3: EVM: Linker errors across tool chain versions In-Reply-To: <20101214162133.17F3CBB0BA@gemini.denx.de> References: <4D0486FE.9080601@googlemail.com> <4D049F2C.6010005@free.fr> <4D04A4BD.6070705@googlemail.com> <4D04B4AB.7080405@free.fr> <4D079060.70104@googlemail.com> <20101214162133.17F3CBB0BA@gemini.denx.de> Message-ID: <4D09E591.4060301@googlemail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 14.12.2010 17:21, Wolfgang Denk wrote: > Dear Dirk, > > In message<4D079060.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