From b132875e6efc83c1a63222fb9289b802ff11a2a6 Mon Sep 17 00:00:00 2001 From: thorpej Date: Sun, 16 Mar 1997 03:48:00 +0000 Subject: [PATCH] Use hpux_sendsig() and hpux_sys_sigreturn(). --- sys/compat/hpux/hpux_exec.c | 4 ++-- sys/compat/hpux/hpux_syscall.h | 2 +- sys/compat/hpux/hpux_syscallargs.h | 6 +++++- sys/compat/hpux/hpux_sysent.c | 5 +++-- sys/compat/hpux/syscalls.master | 7 +++++-- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/sys/compat/hpux/hpux_exec.c b/sys/compat/hpux/hpux_exec.c index 6de196f78654..b60a88f50b9f 100644 --- a/sys/compat/hpux/hpux_exec.c +++ b/sys/compat/hpux/hpux_exec.c @@ -1,4 +1,4 @@ -/* $NetBSD: hpux_exec.c,v 1.5 1996/10/14 06:53:24 thorpej Exp $ */ +/* $NetBSD: hpux_exec.c,v 1.6 1997/03/16 03:48:00 thorpej Exp $ */ /* * Copyright (c) 1995 Jason R. Thorpe. All rights reserved. @@ -76,7 +76,7 @@ static int exec_hpux_prep_omagic __P((struct proc *, struct exec_package *)); struct emul emul_hpux = { "hpux", bsdtohpuxerrnomap, - sendsig, + hpux_sendsig, HPUX_SYS_syscall, HPUX_SYS_MAXSYSCALL, hpux_sysent, diff --git a/sys/compat/hpux/hpux_syscall.h b/sys/compat/hpux/hpux_syscall.h index 0250e67b7425..6140c72c71e9 100644 --- a/sys/compat/hpux/hpux_syscall.h +++ b/sys/compat/hpux/hpux_syscall.h @@ -221,7 +221,7 @@ /* syscall: "fsync" ret: "int" args: "int" */ #define HPUX_SYS_fsync 95 -/* syscall: "sigreturn" ret: "int" args: "struct sigcontext *" */ +/* syscall: "sigreturn" ret: "int" args: "struct hpuxsigcontext *" */ #define HPUX_SYS_sigreturn 103 /* syscall: "sigvec" ret: "int" args: "int" "struct sigvec *" "struct sigvec *" */ diff --git a/sys/compat/hpux/hpux_syscallargs.h b/sys/compat/hpux/hpux_syscallargs.h index f86dd787d4bd..aedf4a509a87 100644 --- a/sys/compat/hpux/hpux_syscallargs.h +++ b/sys/compat/hpux/hpux_syscallargs.h @@ -218,6 +218,10 @@ struct hpux_sys_fstat_args { syscallarg(struct hpux_stat *) sb; }; +struct hpux_sys_sigreturn_args { + syscallarg(struct hpuxsigcontext *) sigcntxp; +}; + struct hpux_sys_sigvec_args { syscallarg(int) signo; syscallarg(struct sigvec *) nsv; @@ -450,7 +454,7 @@ int sys_dup2 __P((struct proc *, void *, register_t *)); int hpux_sys_fstat __P((struct proc *, void *, register_t *)); int sys_select __P((struct proc *, void *, register_t *)); int sys_fsync __P((struct proc *, void *, register_t *)); -int sys_sigreturn __P((struct proc *, void *, register_t *)); +int hpux_sys_sigreturn __P((struct proc *, void *, register_t *)); int hpux_sys_sigvec __P((struct proc *, void *, register_t *)); int hpux_sys_sigblock __P((struct proc *, void *, register_t *)); int hpux_sys_sigsetmask __P((struct proc *, void *, register_t *)); diff --git a/sys/compat/hpux/hpux_sysent.c b/sys/compat/hpux/hpux_sysent.c index 6bf39f8f2236..8016b7096d73 100644 --- a/sys/compat/hpux/hpux_sysent.c +++ b/sys/compat/hpux/hpux_sysent.c @@ -14,6 +14,7 @@ #include #include #include +#include #define s(type) sizeof(type) @@ -224,8 +225,8 @@ struct sysent hpux_sysent[] = { sys_nosys }, /* 101 = unimplemented */ { 0, 0, sys_nosys }, /* 102 = unimplemented */ - { 1, s(struct sys_sigreturn_args), - sys_sigreturn }, /* 103 = sigreturn */ + { 1, s(struct hpux_sys_sigreturn_args), + hpux_sys_sigreturn }, /* 103 = sigreturn */ { 0, 0, sys_nosys }, /* 104 = unimplemented */ { 0, 0, diff --git a/sys/compat/hpux/syscalls.master b/sys/compat/hpux/syscalls.master index 4de2ebe1979b..78962dbda649 100644 --- a/sys/compat/hpux/syscalls.master +++ b/sys/compat/hpux/syscalls.master @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.12 1996/09/07 14:21:57 mycroft Exp $ + $NetBSD: syscalls.master,v 1.13 1997/03/16 03:48:04 thorpej Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 @@ -42,6 +42,8 @@ #include #include +#include + 0 NOARGS { int sys_nosys(void); } syscall 1 NOARGS { int sys_exit(int rval); } 2 STD { int hpux_sys_fork(void); } @@ -160,7 +162,8 @@ 100 UNIMPL 101 UNIMPL 102 UNIMPL -103 NOARGS { int sys_sigreturn(struct sigcontext *sigcntxp); } +103 STD { int hpux_sys_sigreturn(struct hpuxsigcontext \ + *sigcntxp); } 104 UNIMPL 105 UNIMPL 106 UNIMPL