From 2d3f9c6673b6d2f32cde25ecfdb450391ee05c2d Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Wed, 16 May 2012 14:54:20 -0400 Subject: [PATCH] --- yaml --- r: 300271 b: refs/heads/master c: a134d228298c6aa9007205c6b81cae0cac0acb5d h: refs/heads/master i: 300269: 6f7d19eb4c67ac15d5068b8831dfc2754cc6c408 300267: 85f111b0e0e0b8f3ecb3582aa76f2900afbab088 300263: a143040a662fae3d190e0b90dbd790ada5c6ea7a 300255: 2c950ebccf04b6cbefc617c7d83270d2755f5c22 v: v3 --- [refs] | 2 +- trunk/arch/tile/kernel/compat_signal.c | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 7fadc3272a25..413ac1cffc13 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc327e268fbef08e129ad51aa3a7113ee9bc6ba5 +refs/heads/master: a134d228298c6aa9007205c6b81cae0cac0acb5d diff --git a/trunk/arch/tile/kernel/compat_signal.c b/trunk/arch/tile/kernel/compat_signal.c index 77763ccd5a7d..cdef6e5ec022 100644 --- a/trunk/arch/tile/kernel/compat_signal.c +++ b/trunk/arch/tile/kernel/compat_signal.c @@ -403,19 +403,17 @@ int compat_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, * Set up registers for signal handler. * Registers that we don't modify keep the value they had from * user-space at the time we took the signal. + * We always pass siginfo and mcontext, regardless of SA_SIGINFO, + * since some things rely on this (e.g. glibc's debug/segfault.c). */ regs->pc = ptr_to_compat_reg(ka->sa.sa_handler); regs->ex1 = PL_ICS_EX1(USER_PL, 1); /* set crit sec in handler */ regs->sp = ptr_to_compat_reg(frame); regs->lr = restorer; regs->regs[0] = (unsigned long) usig; - - if (ka->sa.sa_flags & SA_SIGINFO) { - /* Need extra arguments, so mark to restore caller-saves. */ - regs->regs[1] = ptr_to_compat_reg(&frame->info); - regs->regs[2] = ptr_to_compat_reg(&frame->uc); - regs->flags |= PT_FLAGS_CALLER_SAVES; - } + regs->regs[1] = ptr_to_compat_reg(&frame->info); + regs->regs[2] = ptr_to_compat_reg(&frame->uc); + regs->flags |= PT_FLAGS_CALLER_SAVES; /* * Notify any tracer that was single-stepping it.