Messages in this thread Patch in this message | | | Date | Tue, 31 Oct 2006 13:09:26 -0500 | From | "Albert Cahalan" <> | Subject | [PATCH] SA_SIGINFO was forgotten |
| |
The recent change to make x86_64 support i386 binaries compiled with -mregparm=3 only covered signal handlers without SA_SIGINFO. (the 3-arg "real-time" ones)
To be compatible with i386, both types should be supported.
Signed-off-by: Albert Cahalan <acahalan@gmail.com>
diff -Naurd old/arch/x86_64/ia32/ia32_signal.c new/arch/x86_64/ia32/ia32_signal.c --- old/arch/x86_64/ia32/ia32_signal.c 2006-10-29 20:36:01.000000000 -0500 +++ new/arch/x86_64/ia32/ia32_signal.c 2006-10-29 21:58:01.000000000 -0500 @@ -579,6 +579,11 @@ regs->rsp = (unsigned long) frame; regs->rip = (unsigned long) ka->sa.sa_handler;
+ /* Make -mregparm=3 work */ + regs->rax = sig; + regs->rdx = (unsigned long) &frame->info; + regs->rcx = (unsigned long) &frame->uc; + asm volatile("movl %0,%%ds" :: "r" (__USER32_DS)); asm volatile("movl %0,%%es" :: "r" (__USER32_DS)); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |