[U-Boot-Users] Re: compile u-boot with recent toolchain : symbols problem
Wolfgang Denk
wd at denx.de
Thu Jun 23 11:37:23 CEST 2005
In message <E1DlMsF-0005rm-RG at mailer.emlix.com> you wrote:
> I've got the same problem with binutils 2.16 and gcc 3.4.4. also binutils
> 2.16.91.0.1 doesn't work right.
Maybe you should discuss this then on a binutils related list?
> > This looks line a binutils problem, then. May I ask why you have to
> > use binutils-2.16 ?
>
> May I ask you why it should not be used? How to recover bugs, if people just
> use older software?
Bleading edge tools may have bugs, and incompatibilities. Suchthings
should be discussed on the respective tools related lists first. I
see no obvious bugs in the linker script, and it used to work fine so
far. I think it makes sense to check if the behaviour of the new
tools is correct before "fixing" the problem on the application side.
> > And which exact board are we talking about?
I repeat this question.
> > > The "__u_boot_cmd_start" symbol value, generated with this new
> > > toolchain, is wrong (U-Boot crashes when relocating the command
> > > table).
> >
> > Can you please provide exact data, like the differences between the
> > System.map and the u-boot.map files when using binutils-2.16 and
> > another, working version of binutils? [Please use the _same_ version
> > of GCC for this comparison.]
> >
> > > There are two new sections between "__u_boot_cmd_start" and
> > > ".u_boot_cmd" address :
> > > - .data.rel.local
> > > - .data.rel
> >
> > Can you please show exactly what happens?
I repeat this question, too.
Can you show the difference between the linker maps using the
original and the patched versions? What exactly is changing?
> Obviously
>
> __u_boot_cmd_start = .;
> .u_boot_cmd : { *(.u_boot_cmd) }
> __u_boot_cmd_end = .;
>
> and
>
> __u_boot_cmd_start = ADDR(.u_boot_cmd);
> .u_boot_cmd : { *(.u_boot_cmd) }
> __u_boot_cmd_end = .;
>
> should be the same. However, this should be a binutils bug or the linker
> script voodoo that is done with the first script above isn't really valid.
I tend to think that it is a linker bug, and ask to take this
discussion to the binutils people first.
> Maybe .u_boot_cmd gets misalligned. Maybe i should try to DEBUG(&
> __u_boot_cmd_start) in both (the patched and unpatched) versions to see,
A lot of maybes here. I would like to see facts first. FOr example,
the diff between the linke r maps and/or the binaries.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Anyone can count the seeds in an apple.
No one can count the apples in a seed.
More information about the U-Boot
mailing list