Skip to contentSkip to conversation

the broken linker problem...

U-Boot-Users Gerhard Jaeger 2 participants 3 messages Aug 31, 2005

lore
Share & tools
lore
#0 lore raw

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 
#1 lore raw
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?
#2 lore raw

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.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...

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