> On Wed, 18 Mar 1998, Marek Habersack wrote:
>
> > The XFree86 servers still don't run with a kernel compiled with a gcc 2.8.x
> > with the following command line:
> >
> > -march=pentium -O3 -fomit-frame-pointer <the usual align stuff>
>
> They do work with a kernel compiled with (gcc-2.8 based) egcs and pgcc...
> Any reason not to use those?
No, not at all! I just check out all the possibilities. Since the current gcc
shares much code with egcc, I assumed they will produce equally good code. I
guess I was wrong. Yesterday I was doing some tests and it turned out that gcc
2.8.x generates wrong code when two things are true:
1) the -fomit-frame-pointer flag is used
2) the inlined C functions are used
The optimizer seems to lose sync when a function being inlined contains many
local variables - their addresses when traced under gdb appear to be ALWAYS
between 0x00 - 0x20 (at the least in the cases I have tested). The problem
disappears when the -fno-omit-frame-pointer flag is used.
later, marek
--- A bird in the hand makes it awfully hard to blow your nose.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu