Change to allow signal handlers to set SE and BE bits.

Paul Mackerras paulus at samba.org
Sat Aug 30 10:29:10 EST 2003


Corey Minyard writes:

> I have a debugger that runs in an application that requires access to
> the SE and BE bits.  The following patch adds that capability to
> 2.4.21-ben1.  I have tested this, and gdb still seems to correctly step
> out of signal handlers, and it seems to work for 4xx.  Does this look ok?

Can you explain a bit more about why the process needs to be able to
single-step itself rather than having another process single-step it
using ptrace?

It looks like you're using the old trick of sending yourself a signal
and then modifying the register values stored on the stack.  That
seems like a bit of a kludge to me.  If there is some reason why you
would always naturally be in a signal handler anyway at the point
where you want to single-step, then maybe it is less of a kludge.
Does your in-process debugger run entirely inside signal handlers?
(And if it does, how do you cope with the fact that there are lots of
C library functions you can't use inside signal handlers, including
printf?)

Also... would this have any impact on how you expect setcontext() to
behave?  Passing the 3rd argument of a "real-time" signal handler to
setcontext is supposed to have the same effect as returning from the
handler.

Paul.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list