ld fails with .bss / .rel.dyn overlap for 2011.12
This email is to report a problem building u-boot 2011.12 with a gcc 4.3.2 toolchain. I've added support locally for a marvell 78xx0 based board. It's using arm926ejs and I have not modified the *.lds linker script.
Case 1: With gcc 4.3.2 provided by marvell, the build fails with this error:
arm-mv5vfp-linux-gnueabi-ld: section .bss [00000000fffbba08 -> 00000000fffc3137] overlaps section .rel.dyn [00000000fffbba08 -> 00000000fffbeea7]
arm-mv5vfp-linux-gnueabi-ld: section .dynsym [00000000fffbeea8 -> 00000000fffbef57] overlaps section .bss [00000000fffbba08 -> 00000000fffc3137]
arm-mv5vfp-linux-gnueabi-ld: u-boot: section .bss lma 0xfffbba08 overlaps previous sections
make: *** [u-boot] Error 1
Through trial-and-error, I found that this error only occurs when .bss is unaligned. In my example .bss is only 2-byte aligned and u-boot.map indicates that the linker added 2-bytes of zero fill at the end of bss. If I add a global unsigned short so .bss is 4-byte aligned the error goes away and gcc produces a good binary.
Case 2: With gcc 4.6.3 built with crosstool-ng, the build has no problem.
I can provide u-boot.map files (~70k) for each case.
-joey
Dear Joey Oravec,
Quoted 5 lines · In message <[email protected]> you wrote:
This email is to report a problem building u-boot 2011.12 with a gcc 4.3.2 toolchain. I've added support locally for a marvell 78xx0 based board. It's using arm926ejs and I have not modified the *.lds linker script.
Case 1: With gcc 4.3.2 provided by marvell, the build fails with this error:
...
Quoted 1 line
I can provide u-boot.map files (~70k) for each case.
Thanks, but what should we do about that? You are referring to code that is unknown to us, and to a tool chain we have no access to.
It would probably be best to report this to the Marvell compiler team.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There were meetings. There were always meetings. And they were dull,
which is part of the reason they were meetings. Dull likes company.
- Terry Pratchett, _Making_Money_Quoted 7 lines · Wolfgang Denk
Dear Joey Oravec,
Quoted 4 lines · In message<[email protected]> you wrote:
This email is to report a problem building u-boot 2011.12 with a gcc 4.3.2 toolchain. I've added support locally for a marvell 78xx0 based board. It's using arm926ejs and I have not modified the *.lds linker script.
Quoted 7 lines
Quoted 1 line
Case 1: With gcc 4.3.2 provided by marvell, the build fails with this error:
...
Quoted 1 line
I can provide u-boot.map files (~70k) for each case.
Thanks, but what should we do about that? You are referring to code that is unknown to us, and to a tool chain we have no access to.
It would probably be best to report this to the Marvell compiler team.
Possibly nothing -- I'm reporting it because there have been other mailing list thread with the same error message, sometimes without a clear resolution:
http://lists.denx.de/pipermail/u-boot/2012-February/117009.html
http://lists.denx.de/pipermail/u-boot/2010-November/082122.html
I don't know enough about the linker or *.map file to understand the root cause of the error message. I can only report my observations and suggest that if somebody else hits the same problem they should try using a newer toolchain. In my case it fixed the problem.
I don't need anybody to take any action on this, so feel free to disregard if this report is not interesting. I have no support through Marvell but I thought it was appropriate to share my results with this mailing list.
-joey
Dear Joey,
Quoted 5 lines · In message <[email protected]> you wrote:
I don't need anybody to take any action on this, so feel free to disregard if this report is not interesting. I have no support through Marvell but I thought it was appropriate to share my results with this mailing list.
Please don't misunderstand me. This is certainly interesting information, and probably even important to some. Unfortunately we can do nothing to help it, as we don;t have access to the Marvell code nor tool chain.
I think you should still report it to Marvell, so they know as well.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Drun'? 'm not drun'! You woudn' dare call m' drun' if I was sober!
- Terry Pratchett, _Men at Arms_Quoted 9 lines · Wolfgang Denk
Dear Joey,
Quoted 5 lines · In message<[email protected]> you wrote:
I don't need anybody to take any action on this, so feel free to disregard if this report is not interesting. I have no support through Marvell but I thought it was appropriate to share my results with this mailing list.
Quoted 4 lines
Please don't misunderstand me. This is certainly interesting information, and probably even important to some. Unfortunately we can do nothing to help it, as we don;t have access to the Marvell code nor tool chain.
If I read the logs correctly, this was seen with other tool chains, e.g. Codesourcery ones, too.
But if I remember correctly, the conclusion was to use newer, not 'broken' tool chains. Whatever 'broken' does mean here ;)
Best regards
Dirk