Re: notify_parent (was: Re: Linux 2.6.9-rc2)

From: Andreas Schwab
Date: Sun Sep 19 2004 - 17:33:01 EST


Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:

> - regs->sr &= ~PS_T;
> -
> - /* Did we come from a system call? */
> - if (regs->orig_d0 >= 0) {
> - /* Restart the system call the same way as
> - if the process were not traced. */
> - struct k_sigaction *ka =
> - &current->sighand->action[signr-1];
> - int has_handler =
> - (ka->sa.sa_handler != SIG_IGN &&
> - ka->sa.sa_handler != SIG_DFL);
> - handle_restart(regs, ka, has_handler);
> - }

This should be put in ptrace_signal_deliver. That had fixed quite a few
gdb testsuite failures.

> - /* We're back. Did the debugger cancel the sig? */
> - if (!(signr = current->exit_code)) {
> - discard_frame:
> - /* Make sure that a faulted bus cycle isn't
> - restarted (only needed on the 680[23]0). */
> - if (regs->format == 10 || regs->format == 11)
> - regs->stkadj = frame_extra_sizes[regs->format];

This is important if you want continue after a SEGV.

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/