* [parisc-linux] tracing through sig handlers
@ 2001-03-16 10:50 Richard Hirst
2001-03-16 11:24 ` [parisc-linux] " Alan Modra
0 siblings, 1 reply; 2+ messages in thread
From: Richard Hirst @ 2001-03-16 10:50 UTC (permalink / raw)
To: Alan Modra; +Cc: parisc-linux
Hi Alan,
If I do this:
Index: arch/parisc/kernel/signal.c
===================================================================
RCS file: /home/cvs/parisc/linux/arch/parisc/kernel/signal.c,v
retrieving revision 1.37
diff -u -r1.37 signal.c
--- signal.c 2001/02/09 14:39:08 1.37
+++ signal.c 2001/03/16 10:29:48
@@ -260,6 +260,8 @@
/* regs->iaoq is undefined in the syscall return path */
err |= __put_user(regs->gr[31], &sc->sc_iaoq[0]);
err |= __put_user(regs->gr[31]+4, &sc->sc_iaoq[1]);
+ err |= __put_user(regs->sr[3], &sc->sc_iasq[0]);
+ err |= __put_user(regs->sr[3], &sc->sc_iasq[1]);
#if DEBUG_SIG
printk("setup_sigcontext: iaoq %#lx/%#lx\n", regs->gr[31], regs->gr[31]);
#endif
Then I can strace my little test prog. that sends itself a signal
while the signal is blocked, and then unblocks the signal.
I havn't worked out why this is only apparently necessary when a process
is being traced.
It makes things better with gdb also, but not perfect. The problem
now is that when you try to step out of the signal handler the program
under test just runs on without stopping. Previously it would have
crashed with an invalid iasq[].
Richard
^ permalink raw reply [flat|nested] 2+ messages in thread
* [parisc-linux] Re: tracing through sig handlers
2001-03-16 10:50 [parisc-linux] tracing through sig handlers Richard Hirst
@ 2001-03-16 11:24 ` Alan Modra
0 siblings, 0 replies; 2+ messages in thread
From: Alan Modra @ 2001-03-16 11:24 UTC (permalink / raw)
To: Richard Hirst; +Cc: parisc-linux
On Fri, 16 Mar 2001, Richard Hirst wrote:
> I havn't worked out why this is only apparently necessary when a process
> is being traced.
I'm not even going to attempt to figure out why. :-) Perhaps one of te
kernel gurus can shed some light.
> It makes things better with gdb also, but not perfect. The problem
> now is that when you try to step out of the signal handler the program
> under test just runs on without stopping.
gdb is still confused about signal handler frames, and I haven't managed
to fix that today. Too many other fires to fight.
Alan
--
Linuxcare
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-03-16 11:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-16 10:50 [parisc-linux] tracing through sig handlers Richard Hirst
2001-03-16 11:24 ` [parisc-linux] " Alan Modra
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.