Module Name: src Committed By: pgoyette Date: Tue Sep 11 04:53:42 UTC 2018
Modified Files: src/sys/compat/netbsd32 [pgoyette-compat]: netbsd32_compat_09.c netbsd32_compat_12.c netbsd32_compat_13.c netbsd32_compat_20.c netbsd32_compat_30.c netbsd32_compat_50.c netbsd32_compat_60.c netbsd32_mod.c netbsd32_module.c Log Message: Install the syscalls into the netbsd32 table, not the default/native table. To generate a diff of this commit: cvs rdiff -u -r1.18.86.2 -r1.18.86.3 \ src/sys/compat/netbsd32/netbsd32_compat_09.c cvs rdiff -u -r1.33.36.4 -r1.33.36.5 \ src/sys/compat/netbsd32/netbsd32_compat_12.c cvs rdiff -u -r1.26.28.3 -r1.26.28.4 \ src/sys/compat/netbsd32/netbsd32_compat_13.c cvs rdiff -u -r1.36.10.5 -r1.36.10.6 \ src/sys/compat/netbsd32/netbsd32_compat_20.c cvs rdiff -u -r1.31.16.4 -r1.31.16.5 \ src/sys/compat/netbsd32/netbsd32_compat_30.c cvs rdiff -u -r1.32.16.3 -r1.32.16.4 \ src/sys/compat/netbsd32/netbsd32_compat_50.c cvs rdiff -u -r1.3.2.3 -r1.3.2.4 src/sys/compat/netbsd32/netbsd32_compat_60.c cvs rdiff -u -r1.13.16.4 -r1.13.16.5 src/sys/compat/netbsd32/netbsd32_mod.c cvs rdiff -u -r1.6.2.4 -r1.6.2.5 src/sys/compat/netbsd32/netbsd32_module.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/compat/netbsd32/netbsd32_compat_09.c diff -u src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18.86.2 src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18.86.3 --- src/sys/compat/netbsd32/netbsd32_compat_09.c:1.18.86.2 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_09.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_09.c,v 1.18.86.2 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_09.c,v 1.18.86.3 2018/09/11 04:53:42 pgoyette Exp $ */ /* * Copyright (c) 1998 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.18.86.2 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_09.c,v 1.18.86.3 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -40,6 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_com #include <uvm/uvm_extern.h> #include <sys/sysctl.h> +#include <compat/sys/siginfo.h> + #include <compat/netbsd32/netbsd32.h> #include <compat/netbsd32/netbsd32_syscall.h> #include <compat/netbsd32/netbsd32_syscallargs.h> @@ -87,13 +89,13 @@ compat_09_netbsd32_uname(struct lwp *l, NETBSD32TOP_UAP(name, struct outsname); return (compat_09_sys_uname(l, &ua, retval)); } -NETBSD32_SYS_compat_30_netbsd32_fhstat + static struct syscall_package compat_netbsd32_09_syscalls[] = { - { NETBSD32_SYS_compat_30_netbsd32_ogetdomainname, 0, + { NETBSD32_SYS_compat_09_netbsd32_ogetdomainname, 0, (sy_call_t *)compat_09_netbsd32_ogetdomainname }, - { NETBSD32_SYS_compat_30_netbsd32_osetdomainname, 0, + { NETBSD32_SYS_compat_09_netbsd32_osetdomainname, 0, (sy_call_t *)compat_09_netbsd32_osetdomainname }, - { NETBSD32_SYS_compat_30_netbsd32_ouname, 0, + { NETBSD32_SYS_compat_09_netbsd32_uname, 0, (sy_call_t *)compat_09_netbsd32_uname }, { 0, 0, NULL } }; @@ -101,15 +103,17 @@ static struct syscall_package compat_net MODULE(MODULE_CLASS_EXEC, compat_netbsd32_09, "compat_netbsd32,compat_09"); static int -compat_netbsd32_09_modcmd(modcmt_t cmd, void *(arg) +compat_netbsd32_09_modcmd(modcmd_t cmd, void *arg) { switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_09_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_09_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_09_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_09_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_12.c diff -u src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33.36.4 src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33.36.5 --- src/sys/compat/netbsd32/netbsd32_compat_12.c:1.33.36.4 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_12.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_12.c,v 1.33.36.4 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_12.c,v 1.33.36.5 2018/09/11 04:53:42 pgoyette Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.33.36.4 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_12.c,v 1.33.36.5 2018/09/11 04:53:42 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -216,8 +216,8 @@ static struct syscall_package compat_net (sy_call_t *)compat_12_netbsd32_reboot }, { NETBSD32_SYS_compat_12_netbsd32_msync, 0, (sy_call_t *)compat_12_netbsd32_msync }, - { NETBSD32_SYS_compat_12_netbsd32_swapon, 0, - (sy_call_t *)compat_12_netbsd32_swapon }, + { NETBSD32_SYS_compat_12_netbsd32_oswapon, 0, + (sy_call_t *)compat_12_netbsd32_oswapon }, { NETBSD32_SYS_compat_12_netbsd32_stat12, 0, (sy_call_t *)compat_12_netbsd32_stat12 }, { NETBSD32_SYS_compat_12_netbsd32_fstat12, 0, @@ -237,10 +237,12 @@ compat_netbsd32_12_modcmd(modcmd_t cmd, switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_12_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_12_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_12_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_12_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_13.c diff -u src/sys/compat/netbsd32/netbsd32_compat_13.c:1.26.28.3 src/sys/compat/netbsd32/netbsd32_compat_13.c:1.26.28.4 --- src/sys/compat/netbsd32/netbsd32_compat_13.c:1.26.28.3 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_13.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_13.c,v 1.26.28.3 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_13.c,v 1.26.28.4 2018/09/11 04:53:42 pgoyette Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_13.c,v 1.26.28.3 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_13.c,v 1.26.28.4 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -112,10 +112,12 @@ compat_netbsd32_13_modcmd(modcmd_t cmd, switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_13_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_13_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_13_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_13_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_20.c diff -u src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36.10.5 src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36.10.6 --- src/sys/compat/netbsd32/netbsd32_compat_20.c:1.36.10.5 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_20.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_20.c,v 1.36.10.5 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_20.c,v 1.36.10.6 2018/09/11 04:53:42 pgoyette Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.36.10.5 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_20.c,v 1.36.10.6 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -235,15 +235,17 @@ static struct syscall_package compat_net MODULE(MODULE_CLASS_EXEC, compat_netbsd32_20, "compat_netbsd32,compat_20"); static int -compat_netbsd32_20_modcmt(modcmd_t cmd, void *arg) +compat_netbsd32_20_modcmd(modcmd_t cmd, void *arg) { switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_20_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_20_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_20_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_20_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_30.c diff -u src/sys/compat/netbsd32/netbsd32_compat_30.c:1.31.16.4 src/sys/compat/netbsd32/netbsd32_compat_30.c:1.31.16.5 --- src/sys/compat/netbsd32/netbsd32_compat_30.c:1.31.16.4 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_30.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_30.c,v 1.31.16.4 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_30.c,v 1.31.16.5 2018/09/11 04:53:42 pgoyette Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -27,10 +27,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_30.c,v 1.31.16.4 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_30.c,v 1.31.16.5 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> +#include <sys/module.h> #include <sys/mount.h> #include <sys/mount.h> #include <sys/socket.h> @@ -317,7 +318,7 @@ static struct syscall_package compat_net { NETBSD32_SYS_compat_30_netbsd32___fhstat30, 0, (sy_call_t *)compat_30_netbsd32___fhstat30 }, { NETBSD32_SYS_compat_30_netbsd32_fhopen, 0, - (sy_call_t *)compat_30_netbsd32___fhopen }, + (sy_call_t *)compat_30_netbsd32_fhopen }, { 0, 0, NULL } }; @@ -329,10 +330,12 @@ compat_netbsd32_30_modcmd(modcmd_t cmd, switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_30_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_30_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_30_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_30_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_50.c diff -u src/sys/compat/netbsd32/netbsd32_compat_50.c:1.32.16.3 src/sys/compat/netbsd32/netbsd32_compat_50.c:1.32.16.4 --- src/sys/compat/netbsd32/netbsd32_compat_50.c:1.32.16.3 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_50.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_50.c,v 1.32.16.3 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_50.c,v 1.32.16.4 2018/09/11 04:53:42 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.32.16.3 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_50.c,v 1.32.16.4 2018/09/11 04:53:42 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -994,11 +994,13 @@ compat_netbsd32_50_modcmd(modcmd_t cmd, { switch (cmd) { - MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_50_syscalls); - - MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_50_syscalls); + case MODULE_CMD_INIT: + return syscall_establish(&emul_netbsd32, + compat_netbsd32_50_syscalls); + + case MODULE_CMD_FINI: + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_50_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_compat_60.c diff -u src/sys/compat/netbsd32/netbsd32_compat_60.c:1.3.2.3 src/sys/compat/netbsd32/netbsd32_compat_60.c:1.3.2.4 --- src/sys/compat/netbsd32/netbsd32_compat_60.c:1.3.2.3 Tue Sep 11 02:53:56 2018 +++ src/sys/compat/netbsd32/netbsd32_compat_60.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_compat_60.c,v 1.3.2.3 2018/09/11 02:53:56 pgoyette Exp $ */ +/* $NetBSD: netbsd32_compat_60.c,v 1.3.2.4 2018/09/11 04:53:42 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_60.c,v 1.3.2.3 2018/09/11 02:53:56 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_compat_60.c,v 1.3.2.4 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -103,10 +103,12 @@ compat_netbsd32_60_modcmd(modcmd_t cmd, switch (cmd) { case MODULE_CMD_INIT: - return syscall_establish(NULL, compat_netbsd32_60_syscalls); + return syscall_establish(&emul_netbsd32, + compat_netbsd32_60_syscalls); case MODULE_CMD_FINI: - return syscall_disestablish(NULL, compat_netbsd32_60_syscalls); + return syscall_disestablish(&emul_netbsd32, + compat_netbsd32_60_syscalls); default: return ENOTTY; Index: src/sys/compat/netbsd32/netbsd32_mod.c diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.13.16.4 src/sys/compat/netbsd32/netbsd32_mod.c:1.13.16.5 --- src/sys/compat/netbsd32/netbsd32_mod.c:1.13.16.4 Mon Sep 10 22:50:51 2018 +++ src/sys/compat/netbsd32/netbsd32_mod.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_mod.c,v 1.13.16.4 2018/09/10 22:50:51 pgoyette Exp $ */ +/* $NetBSD: netbsd32_mod.c,v 1.13.16.5 2018/09/11 04:53:42 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.13.16.4 2018/09/10 22:50:51 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.13.16.5 2018/09/11 04:53:42 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_execfmt.h" @@ -61,6 +61,12 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_mod #define ELF32_AUXSIZE (howmany(ELF_AUX_ENTRIES * sizeof(Aux32Info), \ sizeof(Elf32_Addr)) + MAXPATHLEN + ALIGN(1)) +int compat32_80_modctl_compat_stub(struct lwp *, + const struct netbsd32_modctl_args *, register_t *); + +int (*vec_compat32_80_modctl)(struct lwp *, + const struct netbsd32_modctl_args *, register_t *); + MODULE(MODULE_CLASS_EXEC, compat_netbsd32, DEPS1 DEPS2); static struct execsw netbsd32_execsw[] = { Index: src/sys/compat/netbsd32/netbsd32_module.c diff -u src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.4 src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.5 --- src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.4 Mon Sep 10 22:50:51 2018 +++ src/sys/compat/netbsd32/netbsd32_module.c Tue Sep 11 04:53:42 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_module.c,v 1.6.2.4 2018/09/10 22:50:51 pgoyette Exp $ */ +/* $NetBSD: netbsd32_module.c,v 1.6.2.5 2018/09/11 04:53:42 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.6.2.4 2018/09/10 22:50:51 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.6.2.5 2018/09/11 04:53:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/dirent.h> @@ -42,6 +42,9 @@ __KERNEL_RCSID(0, "$NetBSD: netbsd32_mod #include <compat/netbsd32/netbsd32_syscallargs.h> #include <compat/netbsd32/netbsd32_conv.h> +extern int (*vec_compat32_80_modctl)(struct lwp *, + const struct netbsd32_modctl_args *, register_t *); + static int modctl32_handle_stat(struct netbsd32_iovec *iov, void *arg) { @@ -219,7 +222,7 @@ netbsd32_modctl(struct lwp *lwp, const s arg = SCARG_P32(uap, arg); - error = (*vec_netbsd32_modctl_compat)(lwp, uap, result); + error = (*vec_compat32_80_modctl)(lwp, uap, result); if (error != EPASSTHROUGH) return error;