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;

Reply via email to