Re: stepping over longjmp

Mark Kettenis
2006-08-05T12:40:41Z

> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sat, 5 Aug 2006 14:08:29 +1200
>
> > > > Does export LD_POINTER_GUARD=0 make a difference?
> > >
> > > No.
> >
> > Hmm, then it must be something else.
>
> Actually, it does work if it's set for both compilation and execution. I also
> updated to 2.4-8 (from 2.4-4). I don't know if that was necessary but on the
> Internet I saw:
>
> > You can disable the encryption using the LD_POINTER_GUARD environment
> > variable. Unfortunately the glibc version so far in FC5 has a little
> > bug. The next update will allow you to specify LD_POINTER_GUARD=0.
> >
> > But this is really the wrong solution. The program should be
> > rewritten
> > to use __builtin_frame_address (see the gcc manual).
> >
> > -- Ulrich Drepper

Unfortunately Ulrich's argument doesn't hold for GDB. But if we can
get at the "cookie" that's used to encrypt the addess, it should be
possible to undo the encryption. Lookes like the cookie is somewhere
in thread local storage. I'll see if I can come up with a way to
access it.

Mark