Re: gcc -O2 on alpha miscompiles ifupdown?


Subject: Re: gcc -O2 on alpha miscompiles ifupdown?
From: Ron Farrer (rbf@farrer.net)
Date: Fri Jan 05 2001 - 23:24:15 PST


Anthony Towns (aj@azure.humbug.org.au) wrote:

> Like the subject says; if I build ifupdown (0.6.4-1) on alpha with -O2
> it breaks, if I build it with -O0, it's fine. With -O2, trying to trace
> what's going on with gdb doesn't seem to work (it jumps all over the
> place, fairly meaninglessly).
>
> In theory, ifupdown should just be a fairly normal ANSI C program. Most
> of the data structures aren't too complicated, and at worse there are
> a few function pointers. I think everything's fully typed, and there
> shouldn't be any weird casting. There was some buggy realloc's in the
> past (reallocing 4 bytes, instead of 4*sizeof(obj) bytes, mainly),
> but I believe they're all gone.

I haven't looked at this (yet?), but I would guess it to be more bugs
in gcc 2.95 we are using. If you look at the gcc 2.96 changelog you'll
see there are quite a few bug fixes, a lot of them on Alpha. We've
been plauged with bad gcc optimization on Alpha for about as long as I
can remember.

If no one knows for sure, I may have time in the next couple of days
to play with it and see. Chris Chimelis (chris@debian.org) is the one
to talk to about gcc bugs on Alpha. I would say either don't use -O2
(duh) or use a different gcc (probably not gonna happen anytime soon).

Ron




This archive was generated by hypermail 2a22 : Sat Mar 03 2001 - 12:54:59 PST