Module Name: src
Committed By: christos
Date: Fri Mar 7 01:33:44 UTC 2014
Modified Files:
src/sys/compat/aoutm68k: aoutm68k_mod.c
src/sys/compat/freebsd: freebsd_mod.c
src/sys/compat/ibcs2: ibcs2_mod.c
src/sys/compat/linux/common: linux_mod.c
src/sys/compat/linux32/common: linux32_mod.c
src/sys/compat/m68k4k: m68k4k_exec.c
src/sys/compat/netbsd32: netbsd32_mod.c
src/sys/compat/osf1: osf1_mod.c
src/sys/compat/sunos: sunos_mod.c
src/sys/compat/sunos32: sunos32_mod.c
src/sys/compat/svr4: svr4_mod.c
src/sys/compat/svr4_32: svr4_32_mod.c
src/sys/compat/ultrix: ultrix_mod.c
src/sys/compat/vax1k: vax1k_exec.c
Log Message:
c99 initializers for struct execsw
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/aoutm68k/aoutm68k_mod.c
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/freebsd/freebsd_mod.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/ibcs2/ibcs2_mod.c
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/linux/common/linux_mod.c
cvs rdiff -u -r1.4 -r1.5 src/sys/compat/linux32/common/linux32_mod.c
cvs rdiff -u -r1.23 -r1.24 src/sys/compat/m68k4k/m68k4k_exec.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/netbsd32/netbsd32_mod.c
cvs rdiff -u -r1.3 -r1.4 src/sys/compat/osf1/osf1_mod.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/sunos/sunos_mod.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/sunos32/sunos32_mod.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/svr4/svr4_mod.c
cvs rdiff -u -r1.2 -r1.3 src/sys/compat/svr4_32/svr4_32_mod.c
cvs rdiff -u -r1.4 -r1.5 src/sys/compat/ultrix/ultrix_mod.c
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/vax1k/vax1k_exec.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/aoutm68k/aoutm68k_mod.c
diff -u src/sys/compat/aoutm68k/aoutm68k_mod.c:1.2 src/sys/compat/aoutm68k/aoutm68k_mod.c:1.3
--- src/sys/compat/aoutm68k/aoutm68k_mod.c:1.2 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/aoutm68k/aoutm68k_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: aoutm68k_mod.c,v 1.2 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: aoutm68k_mod.c,v 1.3 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aoutm68k_mod.c,v 1.2 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aoutm68k_mod.c,v 1.3 2014/03/07 01:33:43 christos Exp $");
#include <sys/param.h>
#include <sys/module.h>
@@ -42,17 +42,19 @@ extern struct emul emul_netbsd_aoutm68k;
MODULE(MODULE_CLASS_EXEC, compat_aoutm68k, "exec_aout");
-static struct execsw aoutm68k_execsw[] = {
- { sizeof(struct exec),
- exec_aout_makecmds,
- { NULL },
- &emul_netbsd_aoutm68k,
- EXECSW_PRIO_FIRST, /* before exec_aout */
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+static struct execsw aoutm68k_execsw = {
+ .es_hdrsz = sizeof(struct exec),
+ .es_makecmds = exec_aout_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd_aoutm68k,
+ .es_prio = EXECSW_PRIO_FIRST, /* before exec_aout */
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -61,12 +63,10 @@ compat_aoutm68k_modcmd(modcmd_t cmd, voi
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(aoutm68k_execsw,
- __arraycount(aoutm68k_execsw));
+ return exec_add(&aoutm68k_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(aoutm68k_execsw,
- __arraycount(aoutm68k_execsw));
+ return exec_remove(&aoutm68k_execsw, 1);
default:
return ENOTTY;
Index: src/sys/compat/freebsd/freebsd_mod.c
diff -u src/sys/compat/freebsd/freebsd_mod.c:1.3 src/sys/compat/freebsd/freebsd_mod.c:1.4
--- src/sys/compat/freebsd/freebsd_mod.c:1.3 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/freebsd/freebsd_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: freebsd_mod.c,v 1.3 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: freebsd_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: freebsd_mod.c,v 1.3 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: freebsd_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_execfmt.h"
@@ -65,29 +65,37 @@ MODULE(MODULE_CLASS_EXEC, compat_freebsd
static struct execsw freebsd_execsw[] = {
#ifdef EXEC_ELF32
/* FreeBSD Elf32 (probe not 64-bit safe) */
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { freebsd_elf32_probe },
- &emul_freebsd,
- EXECSW_PRIO_ANY,
- ELF32_AUXSIZE,
- elf32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = freebsd_elf32_probe,
+ },
+ .es_emul = &emul_freebsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = ELF32_AUXSIZE,
+ .es_copyargs = elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
#ifdef EXEC_AOUT
/* FreeBSD a.out (native word size) */
- { FREEBSD_AOUT_HDR_SIZE,
- exec_freebsd_aout_makecmds,
- { NULL },
- &emul_freebsd,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+ {
+ .es_hdrsz = FREEBSD_AOUT_HDR_SIZE,
+ .es_makecmds = exec_freebsd_aout_makecmds,
+ .u = {
+ .elf_probe_function = NULL,
+ },
+ .es_emul = &emul_freebsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .se_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/ibcs2/ibcs2_mod.c
diff -u src/sys/compat/ibcs2/ibcs2_mod.c:1.2 src/sys/compat/ibcs2/ibcs2_mod.c:1.3
--- src/sys/compat/ibcs2/ibcs2_mod.c:1.2 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/ibcs2/ibcs2_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: ibcs2_mod.c,v 1.2 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: ibcs2_mod.c,v 1.3 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ibcs2_mod.c,v 1.2 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ibcs2_mod.c,v 1.3 2014/03/07 01:33:43 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_execfmt.h"
@@ -63,39 +63,49 @@ MODULE(MODULE_CLASS_EXEC, compat_ibcs2,
static struct execsw ibcs2_execsw[] = {
#ifdef EXEC_ELF32
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { ibcs2_elf32_probe },
- &emul_ibcs2,
- EXECSW_PRIO_ANY,
- ELF32_AUXSIZE,
- elf32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .coff_probe_func = ibcs2_elf32_probe,
+ },
+ .es_emul = &emul_ibcs2,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = ELF32_AUXSIZE,
+ .es_copyargs = elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
- { COFF_HDR_SIZE,
- exec_ibcs2_coff_makecmds,
- { NULL },
- &emul_ibcs2,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- ibcs2_exec_setup_stack },
-
- { XOUT_HDR_SIZE,
- exec_ibcs2_xout_makecmds,
- { NULL },
- &emul_ibcs2,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- ibcs2_exec_setup_stack },
-
+ {
+ .es_hdrsz = COFF_HDR_SIZE,
+ .es_makecmds = exec_ibcs2_coff_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_ibcs2,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = ibcs2_exec_setup_stack,
+ },
+ {
+ .es_hdrsz = XOUT_HDR_SIZE,
+ .es_makecmds = exec_ibcs2_xout_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_ibcs2,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = ibcs2_exec_setup_stack
+ },
};
static int
Index: src/sys/compat/linux/common/linux_mod.c
diff -u src/sys/compat/linux/common/linux_mod.c:1.3 src/sys/compat/linux/common/linux_mod.c:1.4
--- src/sys/compat/linux/common/linux_mod.c:1.3 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/linux/common/linux_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_mod.c,v 1.3 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: linux_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_mod.c,v 1.3 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_execfmt.h"
@@ -69,39 +69,51 @@ MODULE(MODULE_CLASS_EXEC, compat_linux,
static struct execsw linux_execsw[] = {
#if defined(EXEC_ELF32) && ELFSIZE == 32
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { linux_elf32_probe },
- &emul_linux,
- EXECSW_PRIO_ANY,
- LINUX_ELF_AUX_ARGSIZ,
- linux_elf32_copyargs,
- NULL,
- coredump_elf32,
- linux_exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = linux_elf32_probe,
+ },
+ .es_emul = &emul_linux,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = LINUX_ELF_AUX_ARGSIZ,
+ .es_copyargs = linux_elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = linux_exec_setup_stack,
+ },
#elif defined(EXEC_ELF64)
- { sizeof (Elf64_Ehdr),
- exec_elf64_makecmds,
- { linux_elf64_probe },
- &emul_linux,
- EXECSW_PRIO_ANY,
- LINUX_ELF_AUX_ARGSIZ,
- linux_elf64_copyargs,
- NULL,
- coredump_elf64,
- linux_exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf64_Ehdr),
+ .es_makecmds = exec_elf64_makecmds,
+ .u = {
+ .elf_probe_func = linux_elf64_probe,
+ },
+ .es_emul = &emul_linux,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = LINUX_ELF_AUX_ARGSIZ,
+ .es_copyargs = linux_elf64_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf64,
+ .es_setup_stack = linux_exec_setup_stack,
+ },
#endif
#ifdef EXEC_AOUT
- { LINUX_AOUT_HDR_SIZE,
- exec_linux_aout_makecmds,
- { NULL },
- &emul_linux,
- EXECSW_PRIO_LAST,
- LINUX_AOUT_AUX_ARGSIZ,
- linux_aout_copyargs,
- NULL,
- coredump_netbsd,
- linux_exec_setup_stack },
+ {
+ .es_hdrsz = LINUX_AOUT_HDR_SIZE,
+ .es_makecmds = exec_linux_aout_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_linux,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_arglen = LINUX_AOUT_AUX_ARGSIZ,
+ .es_copyargs = linux_aout_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = linux_exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/linux32/common/linux32_mod.c
diff -u src/sys/compat/linux32/common/linux32_mod.c:1.4 src/sys/compat/linux32/common/linux32_mod.c:1.5
--- src/sys/compat/linux32/common/linux32_mod.c:1.4 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/linux32/common/linux32_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_mod.c,v 1.4 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: linux32_mod.c,v 1.5 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_mod.c,v 1.4 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_mod.c,v 1.5 2014/03/07 01:33:43 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_execfmt.h"
@@ -60,16 +60,20 @@ MODULE(MODULE_CLASS_EXEC, compat_linux32
static struct execsw linux32_execsw[] = {
#if defined(EXEC_ELF32)
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { linux32_elf32_probe },
- &emul_linux32,
- EXECSW_PRIO_FIRST,
- LINUX32_ELF_AUX_ARGSIZ,
- linux32_elf32_copyargs,
- NULL,
- coredump_elf32,
- linux_exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = linux32_elf32_probe,
+ },
+ .es_emul = &emul_linux32,
+ .es_prio = EXECSW_PRIO_FIRST,
+ .es_arglen = LINUX32_ELF_AUX_ARGSIZ,
+ .es_copyargs = linux32_elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = linux_exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/m68k4k/m68k4k_exec.c
diff -u src/sys/compat/m68k4k/m68k4k_exec.c:1.23 src/sys/compat/m68k4k/m68k4k_exec.c:1.24
--- src/sys/compat/m68k4k/m68k4k_exec.c:1.23 Thu Sep 19 14:50:35 2013
+++ src/sys/compat/m68k4k/m68k4k_exec.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: m68k4k_exec.c,v 1.23 2013/09/19 18:50:35 christos Exp $ */
+/* $NetBSD: m68k4k_exec.c,v 1.24 2014/03/07 01:33:43 christos Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: m68k4k_exec.c,v 1.23 2013/09/19 18:50:35 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: m68k4k_exec.c,v 1.24 2014/03/07 01:33:43 christos Exp $");
#if !defined(__m68k__)
#error YOU GOTTA BE KIDDING!
@@ -67,17 +67,19 @@ __KERNEL_RCSID(0, "$NetBSD: m68k4k_exec.
MODULE(MODULE_CLASS_EXEC, exec_m68k4k, DEP);
-static struct execsw exec_m68k4k_execsw[] = {
- { sizeof(struct exec),
- exec_m68k4k_makecmds,
- { NULL },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+static struct execsw exec_m68k4k_execsw = {
+ .es_hdrsz = sizeof(struct exec),
+ .es_makecmds = exec_m68k4k_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -86,12 +88,10 @@ exec_m68k4k_modcmd(modcmd_t cmd, void *a
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(exec_m68k4k_execsw,
- __arraycount(exec_m68k4k_execsw));
+ return exec_add(&exec_m68k4k_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(exec_m68k4k_execsw,
- __arraycount(exec_m68k4k_execsw));
+ return exec_remove(&exec_m68k4k_execsw, 1);
default:
return ENOTTY;
Index: src/sys/compat/netbsd32/netbsd32_mod.c
diff -u src/sys/compat/netbsd32/netbsd32_mod.c:1.2 src/sys/compat/netbsd32/netbsd32_mod.c:1.3
--- src/sys/compat/netbsd32/netbsd32_mod.c:1.2 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/netbsd32/netbsd32_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: netbsd32_mod.c,v 1.3 2014/03/07 01:33:43 christos 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.2 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_mod.c,v 1.3 2014/03/07 01:33:43 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_execfmt.h"
@@ -58,28 +58,36 @@ MODULE(MODULE_CLASS_EXEC, compat_netbsd3
static struct execsw netbsd32_execsw[] = {
#ifdef EXEC_AOUT
- { sizeof(struct netbsd32_exec),
- exec_netbsd32_makecmds,
- { NULL },
- &emul_netbsd32,
- EXECSW_PRIO_FIRST,
- 0,
- netbsd32_copyargs,
- NULL,
- coredump_netbsd32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof(struct netbsd32_exec),
+ .es_makecmds = exec_netbsd32_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd32,
+ .es_prio = EXECSW_PRIO_FIRST,
+ .es_arglen = 0,
+ .es_copyargs = netbsd32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd32,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
#ifdef EXEC_ELF32
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { netbsd32_elf32_probe },
- &emul_netbsd32,
- EXECSW_PRIO_FIRST,
- ELF32_AUXSIZE,
- netbsd32_elf32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack }, /* XXX XXX XXX */
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = netbsd32_elf32_probe,
+ },
+ .es_emul = &emul_netbsd32,
+ .es_prio = EXECSW_PRIO_FIRST,
+ .es_arglen = ELF32_AUXSIZE,
+ .es_copyargs = netbsd32_elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack, /* XXX XXX XXX */
+ },
#endif
};
Index: src/sys/compat/osf1/osf1_mod.c
diff -u src/sys/compat/osf1/osf1_mod.c:1.3 src/sys/compat/osf1/osf1_mod.c:1.4
--- src/sys/compat/osf1/osf1_mod.c:1.3 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/osf1/osf1_mod.c Thu Mar 6 20:33:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: osf1_mod.c,v 1.3 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: osf1_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: osf1_mod.c,v 1.3 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: osf1_mod.c,v 1.4 2014/03/07 01:33:43 christos Exp $");
#include <sys/param.h>
#include <sys/module.h>
@@ -48,18 +48,22 @@ __KERNEL_RCSID(0, "$NetBSD: osf1_mod.c,v
MODULE(MODULE_CLASS_EXEC, compat_osf1, "compat,exec_ecoff");
-static struct execsw osf1_execsw[] = {
- { ECOFF_HDR_SIZE,
- exec_ecoff_makecmds,
- { .ecoff_probe_func = osf1_exec_ecoff_probe },
- &emul_osf1,
- EXECSW_PRIO_ANY,
- howmany(OSF1_MAX_AUX_ENTRIES * sizeof (struct osf1_auxv) +
- 2 * (MAXPATHLEN + 1), sizeof (char *)), /* exec & loader names */
- osf1_copyargs,
- cpu_exec_ecoff_setregs,
- coredump_netbsd,
- exec_setup_stack },
+#define OSF1_ARGLEN howmany(OSF1_MAX_AUX_ENTRIES * sizeof (struct osf1_auxv) + \
+ 2 * (MAXPATHLEN + 1), sizeof (char *)) /* exec & loader names */
+
+static struct execsw osf1_execsw = {
+ .es_hdrsz = ECOFF_HDR_SIZE,
+ .es_makecmds = exec_ecoff_makecmds,
+ .u = {
+ .ecoff_probe_func = osf1_exec_ecoff_probe,
+ },
+ .es_emul = &emul_osf1,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = OSF1_ARGLEN,
+ .es_copyargs = osf1_copyargs,
+ .es_setregs = cpu_exec_ecoff_setregs,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -68,12 +72,10 @@ compat_osf1_modcmd(modcmd_t cmd, void *a
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(osf1_execsw,
- __arraycount(osf1_execsw));
+ return exec_add(&osf1_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(osf1_execsw,
- __arraycount(osf1_execsw));
+ return exec_remove(&osf1_execsw, 1);
default:
return ENOTTY;
Index: src/sys/compat/sunos/sunos_mod.c
diff -u src/sys/compat/sunos/sunos_mod.c:1.2 src/sys/compat/sunos/sunos_mod.c:1.3
--- src/sys/compat/sunos/sunos_mod.c:1.2 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/sunos/sunos_mod.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: sunos_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: sunos_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunos_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunos_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $");
#include <sys/param.h>
#include <sys/module.h>
@@ -44,17 +44,19 @@ __KERNEL_RCSID(0, "$NetBSD: sunos_mod.c,
MODULE(MODULE_CLASS_EXEC, compat_sunos, "compat,exec_aout");
-static struct execsw sunos_execsw[] = {
- { SUNOS_AOUT_HDR_SIZE,
- exec_sunos_aout_makecmds,
- { NULL },
- &emul_sunos,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+static struct execsw sunos_execsw = {
+ .es_hdrsz = SUNOS_AOUT_HDR_SIZE,
+ .es_makecmds = exec_sunos_aout_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_sunos,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -63,12 +65,10 @@ compat_sunos_modcmd(modcmd_t cmd, void *
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(sunos_execsw,
- __arraycount(sunos_execsw));
+ return exec_add(&sunos_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(sunos_execsw,
- __arraycount(sunos_execsw));
+ return exec_remove(&sunos_execsw, 1);
default:
return ENOTTY;
Index: src/sys/compat/sunos32/sunos32_mod.c
diff -u src/sys/compat/sunos32/sunos32_mod.c:1.2 src/sys/compat/sunos32/sunos32_mod.c:1.3
--- src/sys/compat/sunos32/sunos32_mod.c:1.2 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/sunos32/sunos32_mod.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: sunos32_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: sunos32_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunos32_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunos32_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $");
#include <sys/param.h>
#include <sys/module.h>
@@ -46,17 +46,19 @@ __KERNEL_RCSID(0, "$NetBSD: sunos32_mod.
MODULE(MODULE_CLASS_EXEC, compat_sunos, "compat,compat_netbsd32,exec_aout");
-static struct execsw sunos_execsw[] = {
- { SUNOS32_AOUT_HDR_SIZE,
- exec_sunos32_aout_makecmds,
- { NULL },
- &emul_sunos,
- EXECSW_PRIO_ANY,
- 0,
- netbsd32_copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+static struct execsw sunos_execsw = {
+ .es_hdrsz = SUNOS32_AOUT_HDR_SIZE,
+ .es_makecmds = exec_sunos32_aout_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_sunos,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = netbsd32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -65,12 +67,10 @@ compat_sunos_modcmd(modcmd_t cmd, void *
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(sunos_execsw,
- __arraycount(sunos_execsw));
+ return exec_add(&sunos_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(sunos_execsw,
- __arraycount(sunos_execsw));
+ return exec_remove(&sunos_execsw, 1);
default:
return ENOTTY;
Index: src/sys/compat/svr4/svr4_mod.c
diff -u src/sys/compat/svr4/svr4_mod.c:1.2 src/sys/compat/svr4/svr4_mod.c:1.3
--- src/sys/compat/svr4/svr4_mod.c:1.2 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/svr4/svr4_mod.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: svr4_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: svr4_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $");
#ifndef ELFSIZE
#define ELFSIZE ARCH_ELFSIZE
@@ -64,27 +64,35 @@ MODULE(MODULE_CLASS_EXEC, compat_svr4, "
static struct execsw svr4_execsw[] = {
#if defined(EXEC_ELF32) && ELFSIZE == 32
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { svr4_elf32_probe },
- &emul_svr4,
- EXECSW_PRIO_LAST, /* probe always succeeds */
- ELF32_AUXSIZE,
- elf32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = svr4_elf32_probe,
+ },
+ .es_emul = &emul_svr4,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_argslen = ELF32_AUXSIZE,
+ .es_copyargs = elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack,
+ },
#elif defined(EXEC_ELF64)
- { sizeof (Elf64_Ehdr),
- exec_elf64_makecmds,
- { svr4_elf64_probe },
- &emul_svr4,
- EXECSW_PRIO_LAST, /* probe always succeeds */
- ELF64_AUXSIZE,
- elf64_copyargs,
- NULL,
- coredump_elf64,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf64_Ehdr),
+ .es_makecmds = exec_elf64_makecmds,
+ .u = {
+ .elf_probe_func = svr4_elf64_probe,
+ },
+ .es_emul = &emul_svr4,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_arglen = ELF64_AUXSIZE,
+ .es_copyargs = elf64_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf64,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/svr4_32/svr4_32_mod.c
diff -u src/sys/compat/svr4_32/svr4_32_mod.c:1.2 src/sys/compat/svr4_32/svr4_32_mod.c:1.3
--- src/sys/compat/svr4_32/svr4_32_mod.c:1.2 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/svr4_32/svr4_32_mod.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: svr4_32_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: svr4_32_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_32_mod.c,v 1.2 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_32_mod.c,v 1.3 2014/03/07 01:33:44 christos Exp $");
#ifndef ELFSIZE
#define ELFSIZE ARCH_ELFSIZE
@@ -56,16 +56,20 @@ MODULE(MODULE_CLASS_EXEC, compat_svr4_32
static struct execsw svr4_32_execsw[] = {
#if defined(EXEC_ELF32)
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { svr4_32_elf32_probe },
- &emul_svr4_32,
- EXECSW_PRIO_LAST, /* probe always succeeds */
- SVR4_32_AUX_ARGSIZ,
- svr4_32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u = {
+ .elf_probe_func = svr4_32_elf32_probe,
+ },
+ .es_emul = &emul_svr4_32,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_arglen = SVR4_32_AUX_ARGSIZ,
+ .es_copyargs = svr4_32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/ultrix/ultrix_mod.c
diff -u src/sys/compat/ultrix/ultrix_mod.c:1.4 src/sys/compat/ultrix/ultrix_mod.c:1.5
--- src/sys/compat/ultrix/ultrix_mod.c:1.4 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/ultrix/ultrix_mod.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: ultrix_mod.c,v 1.4 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: ultrix_mod.c,v 1.5 2014/03/07 01:33:44 christos Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ultrix_mod.c,v 1.4 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ultrix_mod.c,v 1.5 2014/03/07 01:33:44 christos Exp $");
#include <sys/param.h>
#include <sys/module.h>
@@ -57,16 +57,20 @@ MODULE(MODULE_CLASS_EXEC, compat_ultrix,
static struct execsw ultrix_execsw[] = {
#ifdef EXEC_ECOFF
- { ECOFF_HDR_SIZE,
- exec_ecoff_makecmds,
- { .ecoff_probe_func = ultrix_exec_ecoff_probe },
- &emul_ultrix,
- EXECSW_PRIO_LAST, /* XXX probe func alw. succeeds */
- 0,
- copyargs,
- cpu_exec_ecoff_setregs,
- coredump_netbsd,
- exec_setup_stack },
+ {
+ .es_hdrsz = ECOFF_HDR_SIZE,
+ .es_makecmds = exec_ecoff_makecmds,
+ .u = {
+ .ecoff_probe_func = ultrix_exec_ecoff_probe,
+ },
+ .es_emul = &emul_ultrix,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = cpu_exec_ecoff_setregs,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
};
Index: src/sys/compat/vax1k/vax1k_exec.c
diff -u src/sys/compat/vax1k/vax1k_exec.c:1.17 src/sys/compat/vax1k/vax1k_exec.c:1.18
--- src/sys/compat/vax1k/vax1k_exec.c:1.17 Thu Sep 19 14:50:36 2013
+++ src/sys/compat/vax1k/vax1k_exec.c Thu Mar 6 20:33:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: vax1k_exec.c,v 1.17 2013/09/19 18:50:36 christos Exp $ */
+/* $NetBSD: vax1k_exec.c,v 1.18 2014/03/07 01:33:44 christos Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vax1k_exec.c,v 1.17 2013/09/19 18:50:36 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vax1k_exec.c,v 1.18 2014/03/07 01:33:44 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -69,18 +69,20 @@ MODULE(MODULE_CLASS_EXEC, exec_vax1k, NU
int exec_vax1k_prep_anymagic(struct lwp *, struct exec_package *,
size_t, bool);
-static struct execsw exec_vax1k_execsw[] = {
+static struct execsw exec_vax1k_execsw = {
/* NetBSD vax1k a.out */
- { sizeof(struct exec),
- exec_vax1k_makecmds,
- { NULL },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+ .es_hdrsz = sizeof(struct exec),
+ .es_makecmds = exec_vax1k_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -89,12 +91,10 @@ exec_vax1k_modcmd(modcmd_t cmd, void *ar
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(exec_vax1k_execsw,
- __arraycount(exec_vax1k_execsw));
+ return exec_add(&exec_vax1k_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(exec_vax1k_execsw,
- __arraycount(exec_vax1k_execsw));
+ return exec_remove(&exec_vax1k_execsw, 1);
default:
return ENOTTY;