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
Attachment:
pgpIKChSmshHE.pgp
Description: PGP signature