Module Name: src
Committed By: christos
Date: Fri Mar 7 01:34:30 UTC 2014
Modified Files:
src/sys/kern: exec_aout.c exec_ecoff.c exec_elf32.c exec_elf64.c
exec_script.c
Log Message:
c99 initializers for struct execsw
To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/sys/kern/exec_aout.c
cvs rdiff -u -r1.30 -r1.31 src/sys/kern/exec_ecoff.c
cvs rdiff -u -r1.138 -r1.139 src/sys/kern/exec_elf32.c
cvs rdiff -u -r1.4 -r1.5 src/sys/kern/exec_elf64.c
cvs rdiff -u -r1.69 -r1.70 src/sys/kern/exec_script.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/kern/exec_aout.c
diff -u src/sys/kern/exec_aout.c:1.38 src/sys/kern/exec_aout.c:1.39
--- src/sys/kern/exec_aout.c:1.38 Sat Jan 25 18:58:41 2014
+++ src/sys/kern/exec_aout.c Thu Mar 6 20:34:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_aout.c,v 1.38 2014/01/25 23:58:41 christos Exp $ */
+/* $NetBSD: exec_aout.c,v 1.39 2014/03/07 01:34:29 christos Exp $ */
/*
* Copyright (c) 1993, 1994 Christopher G. Demetriou
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_aout.c,v 1.38 2014/01/25 23:58:41 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_aout.c,v 1.39 2014/03/07 01:34:29 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_coredump.h"
@@ -56,17 +56,19 @@ __KERNEL_RCSID(0, "$NetBSD: exec_aout.c,
MODULE(MODULE_CLASS_EXEC, exec_aout, DEP);
-static struct execsw exec_aout_execsw[] = {
- { sizeof(struct exec),
- exec_aout_makecmds,
- { NULL },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- 0,
- copyargs,
- NULL,
- coredump_netbsd,
- exec_setup_stack },
+static struct execsw exec_aout_execsw = {
+ .es_hdrsz = sizeof(struct exec),
+ .es_makecmds = exec_aout_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
@@ -75,12 +77,10 @@ exec_aout_modcmd(modcmd_t cmd, void *arg
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(exec_aout_execsw,
- __arraycount(exec_aout_execsw));
+ return exec_add(&exec_aout_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(exec_aout_execsw,
- __arraycount(exec_aout_execsw));
+ return exec_remove(&exec_aout_execsw, 1);
default:
return ENOTTY;
Index: src/sys/kern/exec_ecoff.c
diff -u src/sys/kern/exec_ecoff.c:1.30 src/sys/kern/exec_ecoff.c:1.31
--- src/sys/kern/exec_ecoff.c:1.30 Thu Sep 19 14:50:59 2013
+++ src/sys/kern/exec_ecoff.c Thu Mar 6 20:34:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_ecoff.c,v 1.30 2013/09/19 18:50:59 christos Exp $ */
+/* $NetBSD: exec_ecoff.c,v 1.31 2014/03/07 01:34:29 christos Exp $ */
/*
* Copyright (c) 1994 Adam Glass
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_ecoff.c,v 1.30 2013/09/19 18:50:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_ecoff.c,v 1.31 2014/03/07 01:34:29 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_coredump.h"
@@ -58,16 +58,18 @@ __KERNEL_RCSID(0, "$NetBSD: exec_ecoff.c
MODULE(MODULE_CLASS_EXEC, exec_ecoff, DEP)
static struct execsw exec_ecoff_execsw = {
- ECOFF_HDR_SIZE,
- exec_ecoff_makecmds,
- { .ecoff_probe_func = cpu_exec_ecoff_probe },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- 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 = cpu_exec_ecoff_probe,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = copyargs,
+ .es_setregs = cpu_exec_ecoff_setregs,
+ .es_coredump = coredump_netbsd,
+ .es_setup_stack = exec_setup_stack,
};
static int
Index: src/sys/kern/exec_elf32.c
diff -u src/sys/kern/exec_elf32.c:1.138 src/sys/kern/exec_elf32.c:1.139
--- src/sys/kern/exec_elf32.c:1.138 Thu Sep 19 14:50:59 2013
+++ src/sys/kern/exec_elf32.c Thu Mar 6 20:34:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_elf32.c,v 1.138 2013/09/19 18:50:59 christos Exp $ */
+/* $NetBSD: exec_elf32.c,v 1.139 2014/03/07 01:34:29 christos Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_elf32.c,v 1.138 2013/09/19 18:50:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_elf32.c,v 1.139 2014/03/07 01:34:29 christos Exp $");
#define ELFSIZE 32
@@ -52,27 +52,35 @@ __KERNEL_RCSID(0, "$NetBSD: exec_elf32.c
MODULE(MODULE_CLASS_EXEC, exec_elf32, DEP);
static struct execsw exec_elf32_execsw[] = {
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { netbsd_elf32_probe },
- &emul_netbsd,
- 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 = netbsd_elf32_probe,
+ },
+ .es_emul = &emul_netbsd,
+ .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,
+ },
#if EXEC_ELF_NOTELESS
- { sizeof (Elf32_Ehdr),
- exec_elf32_makecmds,
- { NULL },
- &emul_netbsd,
- EXECSW_PRIO_LAST,
- ELF32_AUXSIZE,
- elf32_copyargs,
- NULL,
- coredump_elf32,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf32_Ehdr),
+ .es_makecmds = exec_elf32_makecmds,
+ .u {
+ elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_LAST,
+ .es_arglen = ELF32_AUXSIZE,
+ .es_copyargs = elf32_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf32,
+ .es_setup_stack = exec_setup_stack,
+ },
#endif
};
Index: src/sys/kern/exec_elf64.c
diff -u src/sys/kern/exec_elf64.c:1.4 src/sys/kern/exec_elf64.c:1.5
--- src/sys/kern/exec_elf64.c:1.4 Thu Sep 19 14:50:59 2013
+++ src/sys/kern/exec_elf64.c Thu Mar 6 20:34:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_elf64.c,v 1.4 2013/09/19 18:50:59 christos Exp $ */
+/* $NetBSD: exec_elf64.c,v 1.5 2014/03/07 01:34:29 christos Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_elf64.c,v 1.4 2013/09/19 18:50:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_elf64.c,v 1.5 2014/03/07 01:34:29 christos Exp $");
#define ELFSIZE 64
@@ -53,28 +53,36 @@ MODULE(MODULE_CLASS_EXEC, exec_elf64, DE
static struct execsw exec_elf64_execsw[] = {
/* Native Elf64 */
- { sizeof (Elf64_Ehdr),
- exec_elf64_makecmds,
- { netbsd_elf64_probe },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- ELF64_AUXSIZE,
- elf64_copyargs,
- NULL,
- coredump_elf64,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf64_Ehdr),
+ .es_makecmds = exec_elf64_makecmds,
+ .u = {
+ .elf_probe_func = netbsd_elf64_probe,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = ELF64_AUXSIZE,
+ .es_copyargs = elf64_copyargs,
+ .es_setregs = NULL,
+ .es_coredump = coredump_elf64,
+ .es_setup_stack = exec_setup_stack,
+ },
#if EXEC_ELF_NOTELESS
/* Generic Elf64 -- run at NetBSD Elf64 */
- { sizeof (Elf64_Ehdr),
- exec_elf64_makecmds,
- { NULL },
- &emul_netbsd,
- EXECSW_PRIO_ANY,
- ELF64_AUXSIZE,
- elf64_copyargs,
- NULL,
- coredump_elf64,
- exec_setup_stack },
+ {
+ .es_hdrsz = sizeof (Elf64_Ehdr),
+ .es_makecmds = exec_elf64_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = &emul_netbsd,
+ .es_prio = EXECSW_PRIO_ANY,
+ .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/kern/exec_script.c
diff -u src/sys/kern/exec_script.c:1.69 src/sys/kern/exec_script.c:1.70
--- src/sys/kern/exec_script.c:1.69 Fri Feb 21 03:11:59 2014
+++ src/sys/kern/exec_script.c Thu Mar 6 20:34:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_script.c,v 1.69 2014/02/21 08:11:59 maxv Exp $ */
+/* $NetBSD: exec_script.c,v 1.70 2014/03/07 01:34:29 christos Exp $ */
/*
* Copyright (c) 1993, 1994, 1996 Christopher G. Demetriou
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_script.c,v 1.69 2014/02/21 08:11:59 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_script.c,v 1.70 2014/03/07 01:34:29 christos Exp $");
#if defined(SETUIDSCRIPTS) && !defined(FDSCRIPTS)
#define FDSCRIPTS /* Need this for safe set-id scripts. */
@@ -56,17 +56,19 @@ __KERNEL_RCSID(0, "$NetBSD: exec_script.
MODULE(MODULE_CLASS_EXEC, exec_script, NULL);
-static struct execsw exec_script_execsw[] = {
- { SCRIPT_HDR_SIZE,
- exec_script_makecmds,
- { NULL },
- NULL,
- EXECSW_PRIO_ANY,
- 0,
- NULL,
- NULL,
- NULL,
- exec_setup_stack },
+static struct execsw exec_script_execsw = {
+ .es_hdrsz = SCRIPT_HDR_SIZE,
+ .es_makecmds = exec_script_makecmds,
+ .u = {
+ .elf_probe_func = NULL,
+ },
+ .es_emul = NULL,
+ .es_prio = EXECSW_PRIO_ANY,
+ .es_arglen = 0,
+ .es_copyargs = NULL,
+ .es_setregs = NULL,
+ .es_coredump = NULL,
+ .es_setup_stack = exec_setup_stack,
};
static int
@@ -75,12 +77,10 @@ exec_script_modcmd(modcmd_t cmd, void *a
switch (cmd) {
case MODULE_CMD_INIT:
- return exec_add(exec_script_execsw,
- __arraycount(exec_script_execsw));
+ return exec_add(&exec_script_execsw, 1);
case MODULE_CMD_FINI:
- return exec_remove(exec_script_execsw,
- __arraycount(exec_script_execsw));
+ return exec_remove(&exec_script_execsw, 1);
case MODULE_CMD_AUTOUNLOAD:
/*