This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: linux-2.3.3 doesn't boot when compiled with egcs-2.93.22
- To: Andi Kleen <ak at muc dot de>
- Subject: Re: linux-2.3.3 doesn't boot when compiled with egcs-2.93.22
- From: Jeffrey A Law <law at upchuck dot cygnus dot com>
- Date: Mon, 24 May 1999 11:29:57 -0600
- cc: "David S. Miller" <davem at redhat dot com>, egcs-bugs at egcs dot cygnus dot com, mark at codesourcery dot com, martin at mira dot isdn dot cs dot tu-berlin dot dey
- Reply-To: law at cygnus dot com
In message <19990524191645.A14388@fred.muc.de>you write:
> What puzzles me is that the aliasing is not flushed on function borders.
Why should it be? That would be totally silly, and rather difficult to
implement given's gcc's inlining implementation.
> So I have to modify everything so that it sees the union, instead of just
> fixing a few isolated functions.
Well, that's not my problem :-) When you write code that is not standards
conforming you have to expect this kind of problem over time as compilers get
better.
It's not unlike volatile memory. When compilers were lame you didn't need
volatile because compilers were too stupid to hold memory values in registers.
As compilers got better folks had to convert their code to use appropriate
volatiles (which was a huge task when I did it for 4.3BSD back in the late
80s).
> Would this be very hard to implement with the current alias frame work? It
> would be definitely very helpful to get older code to play nice with the
> new optimizer.
You'd have to talk with Mark. He knows that code best.
> I could imagine that the
> Linux kernel is not the only big piece of code that has such problems.
Not really. Most code I've seen doesn't play it fast and loose with this
stuff -- many programs started fixing this stuff years ago when vendor
compilers started performing type based alias analysis.
The typical stragglers I see are codes which talk to hardware and low level
code to manipulate FP values using integer operations (like in FP emulation
libraries).
jeff