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: /*