[U-Boot] U-Boot Bug with newer GCC

Albert ARIBAUD
2013-02-02T11:32:17Z

Hi Jeroen,

On Sat, 02 Feb 2013 11:18:44 +0100, Jeroen Hofstee
<jeroen@myspectrum.nl> wrote:

> Hello,
>
> On 02/02/2013 09:37 AM, Heiko Schocher wrote:
> > Hello Wolfgang, Sebastian,
> >
> > On 01.02.2013 12:31, Wolfgang Denk wrote:
> >> In message <E70AF999396FDF4EAE40E195B847096109F5D3A9@SRVEXCH-2K10.CADCON.INTERN> you wrote:
> >>> we are using u-boot in our embedded system with arm-1136jfs cpu.
> >> Which exact system / board configuration is this?
> >>
> >> And which exact U-Boot version (git commit ID ?) is it?
> >>
> >>> We recently tried a new toolchain with GCC 4.7.2.
> >>> If compiled with the new toolchain the feature CONFIG_AUTO_COMPLETE isn't working.
> >> We have been using GCC 4.7.2 for several months now, on many systems.
> >> No such problems have been reported before, so I speculate if this is
> >> really a problem with mainline code?
> > Sebastian wrote On 01.02.2013 08:55:
> >> we are using u-boot in our embedded system with arm-1136jfs cpu.
> >> We recently tried a new toolchain with GCC 4.7.2.
> >> If compiled with the new toolchain the feature CONFIG_AUTO_COMPLETE isn't working.
> >> U-Boot start normally and on hitting TAB the system freezes.
> >> I tracked the problem down the variables __u_boot_cmd_start and __u_boot_cmd_end. Both are not valid with the new toolchain. And accessing one results in a system freeze.
> >> Probably the is a problem in arch/arm/cpu/u-boot.lds. I really bad at linker scripts.
> > I just see some problems with ll_entry_* functions described in my
> > post here:
> > http://lists.denx.de/pipermail/u-boot/2013-February/145711.html
> >
> > I do not know, if this is the same problem, as I face problems only
> > before relocation, after relocation all works fine ...
> >
> > In this thread Marek wrote, that for this problem albert has
> > a solution ... (CCed albert and marek)
> >
> > Albert? Can you help here?
> I am tempted to think that is unrelated. First of all since you encounter
> problems with the 4.6 toolchain. This trap is not present when
> compiling with a 4.6 version (at least not for me).
>
> Second, because I bothered Marex and Albert already with this
> problem on irc and they concluded it could not be ll related.

To be more complete, the ll_entry problems are only seen before
relocation, are due to the way variables are referred to, and I do
indeed have a patch for this, that I'll send out today.

But the tab issue happens after relocation, and therefore is unrelated
to this ll_entry issue. AFAIK it has never been seen on mainline code,
and has been very elusive for those who experience it -- enabling debug
or simply adding/removing code makes it go away or reappear, leading me
to thinking that some of the added code either does a data abort itself,
or causes one in the mainline code it calls upon.

> Third, because dumping the array of commands to a console,
> displays them all correctly.
>
> Regards,
> Jeroen

Amicalement,
--
Albert.