Hi Dave, Keith,
I sent this earlier but it didn't show up on the list
for more than an hour... I appologize if you get a
duplicate copy.
Dave, My patch should not be needed with gcc 2.96. I have
seen the oops in the kdba_setjmp when I had broken Makefiles.
In particular if the CONFIG_FRAME_POINTER should be controlling
the -fomit-frame-pointer option. If you are using -fomit-frame-pointer
then CONFIG_FRAME_POINTER should not be defined.
We just started building kernels with gcc 3.1 from the
RedHat 8.0 beta and thats where we started seeing the
problem I described. I like the idea of the compiler
getting rid of the frame pointer save for leaf functions
so I hope we can solve this.
Keith, I just tried my version of setjmp with an old
egcs-2.91.66 and you are correct that it is broken. I will
try to figure out when this was fixed. I wonder if
its broken the same way in all the older compilers? I could
do an explicit save of ebp and use it if __builtin_frame_address
returns trash. Sigh.
Jim Houston - Concurrent Computer Corp.
--- Begin Message ---
Hi Dave, Keith,
Dave, My patch should not be needed with gcc 2.96. I have
seen the oops in the kdba_setjmp when I had broken Makefiles.
In particular if the CONFIG_FRAME_POINTER should be controlling
the -fomit-frame-pointer option. If you are using -fomit-frame-pointer
then CONFIG_FRAME_POINTER should not be defined.
We just started building kernels with gcc 3.1 from the
RedHat 8.0 beta and thats where we started seeing the
problem I described. I like the idea of the compiler
getting rid of the frame pointer save for leaf functions
so I hope we can solve this.
Keith, I just tried my version of setjmp with an old
egcs-2.91.66 and you are correct that it is broken. I will
try to figure out when this was fixed. I wonder if
its broken the same way in all the older compilers? I could
do an explicit save of ebp and use it if __builtin_frame_address
returns trash. Sigh.
Jim Houston - Concurrent Computer Corp.
--- End Message ---