[PATCH 22/28] UML - Allow arches to opt out of !SA_INFO signals
From: Jeff Dike
Date: Mon Jan 10 2005 - 01:03:35 EST
x86_64 only delivers signals in the SA_INFO style, whether you ask
for it or not. This patch adds a config option which says whether
the arch is SA_INFO-only or not, and ifdefs out the sigcontext
signal delivery if so.
Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>
Index: 2.6.10/arch/um/Kconfig_i386
===================================================================
--- 2.6.10.orig/arch/um/Kconfig_i386 2005-01-09 21:52:21.000000000 -0500
+++ 2.6.10/arch/um/Kconfig_i386 2005-01-09 21:53:58.000000000 -0500
@@ -14,3 +14,7 @@
Three-level pagetables will let UML have more than 4G of physical
memory. All the memory that can't be mapped directly will be treated
as high memory.
+
+config ARCH_HAS_SC_SIGNALS
+ bool
+ default y
Index: 2.6.10/arch/um/Kconfig_x86_64
===================================================================
--- 2.6.10.orig/arch/um/Kconfig_x86_64 2005-01-09 21:52:21.000000000 -0500
+++ 2.6.10/arch/um/Kconfig_x86_64 2005-01-09 21:54:17.000000000 -0500
@@ -5,3 +5,7 @@
config 3_LEVEL_PGTABLES
bool
default y
+
+config ARCH_HAS_SC_SIGNALS
+ bool
+ default n
Index: 2.6.10/arch/um/kernel/signal_kern.c
===================================================================
--- 2.6.10.orig/arch/um/kernel/signal_kern.c 2005-01-09 19:06:06.000000000 -0500
+++ 2.6.10/arch/um/kernel/signal_kern.c 2005-01-09 21:53:29.000000000 -0500
@@ -74,10 +74,12 @@
if((ka->sa.sa_flags & SA_ONSTACK) && (sas_ss_flags(sp) == 0))
sp = current->sas_ss_sp + current->sas_ss_size;
- if(ka->sa.sa_flags & SA_SIGINFO)
- err = setup_signal_stack_si(sp, signr, ka, regs, info, oldset);
- else
+#ifdef CONFIG_ARCH_HAS_SC_SIGNALS
+ if(!(ka->sa.sa_flags & SA_SIGINFO))
err = setup_signal_stack_sc(sp, signr, ka, regs, oldset);
+ else
+#endif
+ err = setup_signal_stack_si(sp, signr, ka, regs, info, oldset);
if(err){
spin_lock_irq(¤t->sighand->siglock);
-
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/