
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