the broken linker problem...
Hi list,
I followed the discussions about broken linker and wrong command table relocation and decided to dig somewhat deeper. I have sent a report to the binutils guys. Please see the short discussion on the binutils list about that issue:
http://sourceware.org/ml/binutils/2005-08/msg00412.html
You'll also find the version information there, about the point the behaviour of the linker changed and the explanation of Alan Modra why it has been changed.
In the end, I got the expression, that we really need to introduce a small change to the linker scripts to fix that issue:
. = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;The . = .; is the proposed fix. See ld.texinfo "dot outside sections" for more explanations.
Hope that sheds some light on that issue.
Cheers
Gerhard
Signature · 3 lines
Gerhard Jaeger <[email protected]> SYSGO AG Embedded and Real-Time Software www.sysgo.com | www.elinos.com | www.pikeos.com | www.osek.de
Quoted 6 lines · In message <[email protected]> you wrote:
I followed the discussions about broken linker and wrong command table relocation and decided to dig somewhat deeper. I have sent a report to the binutils guys. Please see the short discussion on the binutils list about that issue:
http://sourceware.org/ml/binutils/2005-08/msg00412.html
Thanks for all of this, this really helps a lot.
Umm... You write in this discussion:
| Hmmm, I get the impression, that I need to re-read the docs more carefully...
Well, I tried before. But the documentation for 2.15.94.0.2.2 which is for example used in Fedora Core 4 does not mention anythingof this. Not even a hint. So this is obviously a new "feature", and they even bothered to document it. I wonder why they broke existing behaviour in the first place. In my opinion the ". = ." thing is a workaround for a linke bug. But I have neither time nor nerves to do anything about it, so I'll give way.
Quoted 4 lines
In the end, I got the expression, that we really need to introduce a small change to the linker scripts to fix that issue:
. = .;
Will do that. Thanks again!!
Best regards,
Wolfgang Denk
Signature · 4 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If a train station is a place where a train stops,
then what's a workstation?Hi Wolfgang,
Quoted 14 lines · Wolfgang Denk
Quoted 6 lines · In message <[email protected]> you wrote:
I followed the discussions about broken linker and wrong command table relocation and decided to dig somewhat deeper. I have sent a report to the binutils guys. Please see the short discussion on the binutils list about that issue:
http://sourceware.org/ml/binutils/2005-08/msg00412.htmlThanks for all of this, this really helps a lot.
Umm... You write in this discussion:
| Hmmm, I get the impression, that I need to re-read the docs more carefully...
Quoted 7 lines
Well, I tried before. But the documentation for 2.15.94.0.2.2 which is for example used in Fedora Core 4 does not mention anythingof this. Not even a hint. So this is obviously a new "feature", and they even bothered to document it. I wonder why they broke existing behaviour in the first place. In my opinion the ". = ." thing is a workaround for a linke bug. But I have neither time nor nerves to do anything about it, so I'll give way.
well, this IMHO strange behaviour seems to be really documented in ld.texinfo, although the behaviour somehow interferes with the meaning of the dot (current location counter)....
Quoted 6 lines
Quoted 4 lines
In the end, I got the expression, that we really need to introduce a small change to the linker scripts to fix that issue:
. = .;Will do that. Thanks again!!
Thanks - hope the bleeding-edge-tool will then be satisfied too ;) Gerhard
Gerhard Jaeger <[email protected]>
SYSGO AG Embedded and Real-Time Software
www.sysgo.com | www.elinos.com | www.pikeos.com | www.osek.de