This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-1.1 status
- To: law at cygnus dot com, Andi Kleen <ak at muc dot de>
- Subject: Re: egcs-1.1 status
- From: Andi Kleen <ak at muc dot de>
- Date: Fri, 21 Aug 1998 22:12:49 +0200
- Cc: "H.J. Lu" <hjl at lucon dot org>, manfred at s-direktnet dot de, Manfred dot Hollstein at ks dot sel dot alcatel dot de, egcs at cygnus dot com
- References: <19980821210907.A29470@kali.lrz-muenchen.de> <2963.903729422@hurl.cygnus.com>
On Fri, Aug 21, 1998 at 09:57:02PM +0200, Jeffrey A Law wrote:
>
> In message <19980821210907.A29470@kali.lrz-muenchen.de>you write:
> > The problem was discussed around egcs 1.0.0 release on the egcs mailing
> > lists. You should find it including test cases if you search the archives.
> >
> > It was decided that these assembler functions a) use wrong constraints
> > and b) use too many registers. The problem is still there, as shown by
> > regular bug reports on linux-kernel that go away after switching to
> > gcc 2.7.x.
> I was informed that the bugs asms were not going to be fixed in the
> 2.0.xx kernels. Thus any code which sucks in those bogus asms is
> probably going to have problems. There's nothing we can/should do
> about this.
I was refering to 2.1 kernels. There were some fixes in 2.1, but it seems they
were not enough to make it work in all cases. If you look at
include/asm-i386/string.h in a Linux installation you'll see that it is
rather hairy asm code, that is why I suggested to replace the non speed
critical things with C functions.
A new problem that just has appeared today is that Linux 2.1 uses
__attribute__((regparm)) for some critical functions, and at least egcs 1.0
seems to have problems to generate correct code with this in all cases.
-Andi