summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/sys_solaris.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/sys_solaris.c')
-rw-r--r--arch/sparc/kernel/sys_solaris.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/sparc/kernel/sys_solaris.c b/arch/sparc/kernel/sys_solaris.c
index 6bef6e523..6c46c60f0 100644
--- a/arch/sparc/kernel/sys_solaris.c
+++ b/arch/sparc/kernel/sys_solaris.c
@@ -4,6 +4,7 @@
* Copyright (C) 1996 Miguel de Icaza (miguel@nuclecu.unam.mx)
*/
+#include <linux/config.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/string.h>
@@ -24,7 +25,7 @@ do_solaris_syscall (struct pt_regs *regs)
current->exec_domain = lookup_exec_domain(PER_SVR4);
if (current->exec_domain && current->exec_domain->handler){
- current->exec_domain->handler (regs);
+ current->exec_domain->handler (0, regs);
/* What is going on here? Why do we do this? */
@@ -39,3 +40,16 @@ do_solaris_syscall (struct pt_regs *regs)
unlock_kernel();
return ret;
}
+
+#ifndef CONFIG_SUNOS_EMUL
+asmlinkage int
+do_sunos_syscall (struct pt_regs *regs)
+{
+ static int cnt = 0;
+ if (++cnt < 10) printk ("SunOS binary emulation not compiled in\n");
+ lock_kernel();
+ force_sig (SIGSEGV, current);
+ unlock_kernel();
+ return 0;
+}
+#endif