diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-26 22:22:53 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-01 09:58:17 -0400 |
commit | a925328de88af2f93dbe189fdac436c389d2e5d5 (patch) | |
tree | 9549975b446ede27d59397ea5ff3609bda2184b4 /arch/tile | |
parent | 7f1c6168259f8d75c08f64aae3c8c93b2801eb37 (diff) |
tile: don't bother with SIGTRAP in setup_frame
Tell signal_delivered() to do it instead.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/kernel/compat_signal.c | 9 | ||||
-rw-r--r-- | arch/tile/kernel/signal.c | 12 |
2 files changed, 2 insertions, 19 deletions
diff --git a/arch/tile/kernel/compat_signal.c b/arch/tile/kernel/compat_signal.c index 474571b84085..3690f0199f09 100644 --- a/arch/tile/kernel/compat_signal.c +++ b/arch/tile/kernel/compat_signal.c | |||
@@ -411,15 +411,6 @@ int compat_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
411 | regs->regs[1] = ptr_to_compat_reg(&frame->info); | 411 | regs->regs[1] = ptr_to_compat_reg(&frame->info); |
412 | regs->regs[2] = ptr_to_compat_reg(&frame->uc); | 412 | regs->regs[2] = ptr_to_compat_reg(&frame->uc); |
413 | regs->flags |= PT_FLAGS_CALLER_SAVES; | 413 | regs->flags |= PT_FLAGS_CALLER_SAVES; |
414 | |||
415 | /* | ||
416 | * Notify any tracer that was single-stepping it. | ||
417 | * The tracer may want to single-step inside the | ||
418 | * handler too. | ||
419 | */ | ||
420 | if (test_thread_flag(TIF_SINGLESTEP)) | ||
421 | ptrace_notify(SIGTRAP); | ||
422 | |||
423 | return 0; | 414 | return 0; |
424 | 415 | ||
425 | give_sigsegv: | 416 | give_sigsegv: |
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c index e29b0553211d..67efb656d104 100644 --- a/arch/tile/kernel/signal.c +++ b/arch/tile/kernel/signal.c | |||
@@ -219,15 +219,6 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
219 | regs->regs[1] = (unsigned long) &frame->info; | 219 | regs->regs[1] = (unsigned long) &frame->info; |
220 | regs->regs[2] = (unsigned long) &frame->uc; | 220 | regs->regs[2] = (unsigned long) &frame->uc; |
221 | regs->flags |= PT_FLAGS_CALLER_SAVES; | 221 | regs->flags |= PT_FLAGS_CALLER_SAVES; |
222 | |||
223 | /* | ||
224 | * Notify any tracer that was single-stepping it. | ||
225 | * The tracer may want to single-step inside the | ||
226 | * handler too. | ||
227 | */ | ||
228 | if (test_thread_flag(TIF_SINGLESTEP)) | ||
229 | ptrace_notify(SIGTRAP); | ||
230 | |||
231 | return 0; | 222 | return 0; |
232 | 223 | ||
233 | give_sigsegv: | 224 | give_sigsegv: |
@@ -278,7 +269,8 @@ static void handle_signal(unsigned long sig, siginfo_t *info, | |||
278 | ret = setup_rt_frame(sig, ka, info, oldset, regs); | 269 | ret = setup_rt_frame(sig, ka, info, oldset, regs); |
279 | if (ret) | 270 | if (ret) |
280 | return; | 271 | return; |
281 | signal_delivered(sig, info, ka, regs, 0); | 272 | signal_delivered(sig, info, ka, regs, |
273 | test_thread_flag(TIF_SINGLESTEP)); | ||
282 | } | 274 | } |
283 | 275 | ||
284 | /* | 276 | /* |