Keith Owens wrote: > On Thu, 1 Aug 2002 07:20:36 -0400, > Jim Houston <[EMAIL PROTECTED]> wrote: > >Compiling the kdb with gcc 3.1 breaks kdba_setjmp. It seems > >that gcc 3.1 is more clever about omiting frame pointers for > >leaf functions. When it does this for kdba_setjmp it causes an > >oops on entry to kdb. > > > >The attached patch uses the gcc built in functions to get the > >frame pointer and the return adddress. This gets rid of the hard > >coded stack offsets and should make it more portable. > > Does __builtin_frame_address work for older gcc, even if you compile > the kernel without frame pointers? I vaguely remember that it returns > garbage on older versions of gcc if ebp is not dedicated.
We've been seeing this kdb_setjmp oops on Red Hat 7.2 and Advanced Server kernels when entering kdb via the Pause key. Both kernels are built with gcc 2.96 and with -fomit-frame-pointer. In any case, Jim's patch fixes the problem. Dave Anderson
