Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to syscalls.master.
This commit is contained in:
parent
1b863c2eca
commit
623f1e3986
|
@ -1,4 +1,4 @@
|
||||||
$NetBSD: syscalls.master,v 1.3 1995/03/10 22:55:14 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.4 1995/04/07 22:23:28 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#include <sys/syscallargs.h>
|
#include <sys/syscallargs.h>
|
||||||
#include <compat/linux/linux_types.h>
|
#include <compat/linux/linux_types.h>
|
||||||
|
#include <machine/linux_machdep.h>
|
||||||
#include <compat/linux/linux_syscallargs.h>
|
#include <compat/linux/linux_syscallargs.h>
|
||||||
|
|
||||||
0 NOARGS { int nosys(void); } syscall
|
0 NOARGS { int nosys(void); } syscall
|
||||||
|
@ -170,7 +171,7 @@
|
||||||
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
||||||
caddr_t ptr); }
|
caddr_t ptr); }
|
||||||
118 NOARGS { int fsync(int fd); }
|
118 NOARGS { int fsync(int fd); }
|
||||||
119 UNIMPL linux_sigreturn
|
119 STD { int linux_sigreturn(struct linux_sigcontext *scp); }
|
||||||
120 UNIMPL linux_clone
|
120 UNIMPL linux_clone
|
||||||
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
||||||
122 STD { int linux_uname(struct linux_utsname *up); }
|
122 STD { int linux_uname(struct linux_utsname *up); }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec.c,v 1.2 1995/03/05 23:23:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec.c,v 1.3 1995/04/07 22:23:22 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -92,8 +92,11 @@ exec_linux_aout_makecmds(p, epp)
|
||||||
error = exec_linux_aout_prep_omagic(p, epp);
|
error = exec_linux_aout_prep_omagic(p, epp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error == 0)
|
if (error == 0) {
|
||||||
|
epp->ep_sigcode = linux_sigcode;
|
||||||
|
epp->ep_esigcode = linux_esigcode;
|
||||||
epp->ep_emul = EMUL_LINUX;
|
epp->ep_emul = EMUL_LINUX;
|
||||||
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec.h,v 1.1 1995/02/28 23:25:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec.h,v 1.2 1995/04/07 22:23:26 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -67,4 +67,6 @@
|
||||||
|
|
||||||
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
||||||
|
|
||||||
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
|
|
||||||
#endif /* !_LINUX_EXEC_H */
|
#endif /* !_LINUX_EXEC_H */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec_aout.c,v 1.2 1995/03/05 23:23:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec_aout.c,v 1.3 1995/04/07 22:23:22 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -92,8 +92,11 @@ exec_linux_aout_makecmds(p, epp)
|
||||||
error = exec_linux_aout_prep_omagic(p, epp);
|
error = exec_linux_aout_prep_omagic(p, epp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error == 0)
|
if (error == 0) {
|
||||||
|
epp->ep_sigcode = linux_sigcode;
|
||||||
|
epp->ep_esigcode = linux_esigcode;
|
||||||
epp->ep_emul = EMUL_LINUX;
|
epp->ep_emul = EMUL_LINUX;
|
||||||
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec_elf32.c,v 1.2 1995/03/05 23:23:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec_elf32.c,v 1.3 1995/04/07 22:23:22 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -92,8 +92,11 @@ exec_linux_aout_makecmds(p, epp)
|
||||||
error = exec_linux_aout_prep_omagic(p, epp);
|
error = exec_linux_aout_prep_omagic(p, epp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error == 0)
|
if (error == 0) {
|
||||||
|
epp->ep_sigcode = linux_sigcode;
|
||||||
|
epp->ep_esigcode = linux_esigcode;
|
||||||
epp->ep_emul = EMUL_LINUX;
|
epp->ep_emul = EMUL_LINUX;
|
||||||
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp $ */
|
/* $NetBSD: linux_util.h,v 1.3 1995/04/07 22:23:27 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1994 Christos Zoulas
|
* Copyright (c) 1994 Christos Zoulas
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
static __inline caddr_t
|
static __inline caddr_t
|
||||||
stackgap_init()
|
stackgap_init()
|
||||||
{
|
{
|
||||||
extern char sigcode[], esigcode[];
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
#define szsigcode ((caddr_t)(esigcode - sigcode))
|
#define szsigcode ((caddr_t)(linux_esigcode - linux_sigcode))
|
||||||
return STACKGAPBASE;
|
return STACKGAPBASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
$NetBSD: syscalls.master,v 1.3 1995/03/10 22:55:14 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.4 1995/04/07 22:23:28 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#include <sys/syscallargs.h>
|
#include <sys/syscallargs.h>
|
||||||
#include <compat/linux/linux_types.h>
|
#include <compat/linux/linux_types.h>
|
||||||
|
#include <machine/linux_machdep.h>
|
||||||
#include <compat/linux/linux_syscallargs.h>
|
#include <compat/linux/linux_syscallargs.h>
|
||||||
|
|
||||||
0 NOARGS { int nosys(void); } syscall
|
0 NOARGS { int nosys(void); } syscall
|
||||||
|
@ -170,7 +171,7 @@
|
||||||
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
||||||
caddr_t ptr); }
|
caddr_t ptr); }
|
||||||
118 NOARGS { int fsync(int fd); }
|
118 NOARGS { int fsync(int fd); }
|
||||||
119 UNIMPL linux_sigreturn
|
119 STD { int linux_sigreturn(struct linux_sigcontext *scp); }
|
||||||
120 UNIMPL linux_clone
|
120 UNIMPL linux_clone
|
||||||
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
||||||
122 STD { int linux_uname(struct linux_utsname *up); }
|
122 STD { int linux_uname(struct linux_utsname *up); }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec.h,v 1.1 1995/02/28 23:25:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec.h,v 1.2 1995/04/07 22:23:26 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -67,4 +67,6 @@
|
||||||
|
|
||||||
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
||||||
|
|
||||||
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
|
|
||||||
#endif /* !_LINUX_EXEC_H */
|
#endif /* !_LINUX_EXEC_H */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp $ */
|
/* $NetBSD: linux_util.h,v 1.3 1995/04/07 22:23:27 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1994 Christos Zoulas
|
* Copyright (c) 1994 Christos Zoulas
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
static __inline caddr_t
|
static __inline caddr_t
|
||||||
stackgap_init()
|
stackgap_init()
|
||||||
{
|
{
|
||||||
extern char sigcode[], esigcode[];
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
#define szsigcode ((caddr_t)(esigcode - sigcode))
|
#define szsigcode ((caddr_t)(linux_esigcode - linux_sigcode))
|
||||||
return STACKGAPBASE;
|
return STACKGAPBASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec.c,v 1.2 1995/03/05 23:23:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec.c,v 1.3 1995/04/07 22:23:22 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -92,8 +92,11 @@ exec_linux_aout_makecmds(p, epp)
|
||||||
error = exec_linux_aout_prep_omagic(p, epp);
|
error = exec_linux_aout_prep_omagic(p, epp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error == 0)
|
if (error == 0) {
|
||||||
|
epp->ep_sigcode = linux_sigcode;
|
||||||
|
epp->ep_esigcode = linux_esigcode;
|
||||||
epp->ep_emul = EMUL_LINUX;
|
epp->ep_emul = EMUL_LINUX;
|
||||||
|
}
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_exec.h,v 1.1 1995/02/28 23:25:37 fvdl Exp $ */
|
/* $NetBSD: linux_exec.h,v 1.2 1995/04/07 22:23:26 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
|
@ -67,4 +67,6 @@
|
||||||
|
|
||||||
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
int exec_linux_aout_makecmds __P((struct proc *, struct exec_package *));
|
||||||
|
|
||||||
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
|
|
||||||
#endif /* !_LINUX_EXEC_H */
|
#endif /* !_LINUX_EXEC_H */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp $ */
|
/* $NetBSD: linux_util.h,v 1.3 1995/04/07 22:23:27 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1994 Christos Zoulas
|
* Copyright (c) 1994 Christos Zoulas
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
static __inline caddr_t
|
static __inline caddr_t
|
||||||
stackgap_init()
|
stackgap_init()
|
||||||
{
|
{
|
||||||
extern char sigcode[], esigcode[];
|
extern char linux_sigcode[], linux_esigcode[];
|
||||||
#define szsigcode ((caddr_t)(esigcode - sigcode))
|
#define szsigcode ((caddr_t)(linux_esigcode - linux_sigcode))
|
||||||
return STACKGAPBASE;
|
return STACKGAPBASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
$NetBSD: syscalls.master,v 1.3 1995/03/10 22:55:14 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.4 1995/04/07 22:23:28 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#include <sys/syscallargs.h>
|
#include <sys/syscallargs.h>
|
||||||
#include <compat/linux/linux_types.h>
|
#include <compat/linux/linux_types.h>
|
||||||
|
#include <machine/linux_machdep.h>
|
||||||
#include <compat/linux/linux_syscallargs.h>
|
#include <compat/linux/linux_syscallargs.h>
|
||||||
|
|
||||||
0 NOARGS { int nosys(void); } syscall
|
0 NOARGS { int nosys(void); } syscall
|
||||||
|
@ -170,7 +171,7 @@
|
||||||
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
117 STD { int linux_ipc(int what, int a1, int a2, int a3, \
|
||||||
caddr_t ptr); }
|
caddr_t ptr); }
|
||||||
118 NOARGS { int fsync(int fd); }
|
118 NOARGS { int fsync(int fd); }
|
||||||
119 UNIMPL linux_sigreturn
|
119 STD { int linux_sigreturn(struct linux_sigcontext *scp); }
|
||||||
120 UNIMPL linux_clone
|
120 UNIMPL linux_clone
|
||||||
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
121 NOARGS { int compat_09_setdomainname(char *name, int len); }
|
||||||
122 STD { int linux_uname(struct linux_utsname *up); }
|
122 STD { int linux_uname(struct linux_utsname *up); }
|
||||||
|
|
Loading…
Reference in New Issue