summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-09-24 10:14:37 +0000
committerkib <kib@FreeBSD.org>2008-09-24 10:14:37 +0000
commitc50080867468c7354bdcffe03f0917bb5813f5b7 (patch)
tree6f64cce43a5cbd519a28e6d8cdd1f045953d31aa /sys/i386
parentc01b2f07c60be4c69749ddba8fb198994cca96b5 (diff)
downloadFreeBSD-src-c50080867468c7354bdcffe03f0917bb5813f5b7.zip
FreeBSD-src-c50080867468c7354bdcffe03f0917bb5813f5b7.tar.gz
Change the static struct sysentvec and struct Elf_Brandinfo initializers
to the C99 style. At least, it is easier to read sysent definitions that way, and search for the actual instances of sigcode etc. Explicitely initialize sysentvec.sv_maxssiz that was missed in most sysvecs. No objection from: jhb MFC after: 1 month
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/elf_machdep.c89
-rw-r--r--sys/i386/ibcs2/ibcs2_sysvec.c53
-rw-r--r--sys/i386/linux/linux_sysvec.c150
3 files changed, 148 insertions, 144 deletions
diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c
index dcc178e..93f1d45 100644
--- a/sys/i386/i386/elf_machdep.c
+++ b/sys/i386/i386/elf_machdep.c
@@ -46,59 +46,60 @@ __FBSDID("$FreeBSD$");
#include <machine/md_var.h>
struct sysentvec elf32_freebsd_sysvec = {
- SYS_MAXSYSCALL,
- sysent,
- 0,
- 0,
- NULL,
- 0,
- NULL,
- NULL,
- __elfN(freebsd_fixup),
- sendsig,
- sigcode,
- &szsigcode,
- NULL,
- "FreeBSD ELF32",
- __elfN(coredump),
- NULL,
- MINSIGSTKSZ,
- PAGE_SIZE,
- VM_MIN_ADDRESS,
- VM_MAXUSER_ADDRESS,
- USRSTACK,
- PS_STRINGS,
- VM_PROT_ALL,
- exec_copyout_strings,
- exec_setregs,
- NULL
+ .sv_size = SYS_MAXSYSCALL,
+ .sv_table = sysent,
+ .sv_mask = 0,
+ .sv_sigsize = 0,
+ .sv_sigtbl = NULL,
+ .sv_errsize = 0,
+ .sv_errtbl = NULL,
+ .sv_transtrap = NULL,
+ .sv_fixup = __elfN(freebsd_fixup),
+ .sv_sendsig = sendsig,
+ .sv_sigcode = sigcode,
+ .sv_szsigcode = &szsigcode,
+ .sv_prepsyscall = NULL,
+ .sv_name = "FreeBSD ELF32",
+ .sv_coredump = __elfN(coredump),
+ .sv_imgact_try = NULL,
+ .sv_minsigstksz = MINSIGSTKSZ,
+ .sv_pagesize = PAGE_SIZE,
+ .sv_minuser = VM_MIN_ADDRESS,
+ .sv_maxuser = VM_MAXUSER_ADDRESS,
+ .sv_usrstack = USRSTACK,
+ .sv_psstrings = PS_STRINGS,
+ .sv_stackprot = VM_PROT_ALL,
+ .sv_copyout_strings = exec_copyout_strings,
+ .sv_setregs = exec_setregs,
+ .sv_fixlimit = NULL,
+ .sv_maxssiz = NULL
};
static Elf32_Brandinfo freebsd_brand_info = {
- ELFOSABI_FREEBSD,
- EM_386,
- "FreeBSD",
- NULL,
- "/libexec/ld-elf.so.1",
- &elf32_freebsd_sysvec,
- NULL,
- BI_CAN_EXEC_DYN,
- };
+ .brand = ELFOSABI_FREEBSD,
+ .machine = EM_386,
+ .compat_3_brand = "FreeBSD",
+ .emul_path = NULL,
+ .interp_path = "/libexec/ld-elf.so.1",
+ .sysvec = &elf32_freebsd_sysvec,
+ .interp_newpath = NULL,
+ .flags = BI_CAN_EXEC_DYN,
+};
SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_info);
static Elf32_Brandinfo freebsd_brand_oinfo = {
- ELFOSABI_FREEBSD,
- EM_386,
- "FreeBSD",
- NULL,
- "/usr/libexec/ld-elf.so.1",
- &elf32_freebsd_sysvec,
- NULL,
- BI_CAN_EXEC_DYN,
- };
+ .brand = ELFOSABI_FREEBSD,
+ .machine = EM_386,
+ .compat_3_brand = "FreeBSD",
+ .emul_path = NULL,
+ .interp_path = "/usr/libexec/ld-elf.so.1",
+ .sysvec = &elf32_freebsd_sysvec,
+ .interp_newpath = NULL,
+ .flags = BI_CAN_EXEC_DYN,
+};
SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
diff --git a/sys/i386/ibcs2/ibcs2_sysvec.c b/sys/i386/ibcs2/ibcs2_sysvec.c
index e324413..2c834dd 100644
--- a/sys/i386/ibcs2/ibcs2_sysvec.c
+++ b/sys/i386/ibcs2/ibcs2_sysvec.c
@@ -59,32 +59,33 @@ extern char sigcode[];
static int ibcs2_fixup(register_t **, struct image_params *);
struct sysentvec ibcs2_svr3_sysvec = {
- sizeof (ibcs2_sysent) / sizeof (ibcs2_sysent[0]),
- ibcs2_sysent,
- 0xFF,
- IBCS2_SIGTBLSZ,
- bsd_to_ibcs2_sig,
- ELAST + 1,
- bsd_to_ibcs2_errno,
- NULL, /* trap-to-signal translation function */
- ibcs2_fixup, /* fixup */
- sendsig,
- sigcode, /* use generic trampoline */
- &szsigcode, /* use generic trampoline size */
- NULL, /* prepsyscall */
- "IBCS2 COFF",
- NULL, /* we don't have a COFF coredump function */
- NULL,
- IBCS2_MINSIGSTKSZ,
- PAGE_SIZE,
- VM_MIN_ADDRESS,
- VM_MAXUSER_ADDRESS,
- USRSTACK,
- PS_STRINGS,
- VM_PROT_ALL,
- exec_copyout_strings,
- exec_setregs,
- NULL
+ .sv_size = sizeof (ibcs2_sysent) / sizeof (ibcs2_sysent[0]),
+ .sv_table = ibcs2_sysent,
+ .sv_mask = 0xff,
+ .sv_sigsize = IBCS2_SIGTBLSZ,
+ .sv_sigtbl = bsd_to_ibcs2_sig,
+ .sv_errsize = ELAST + 1,
+ .sv_errtbl = bsd_to_ibcs2_errno,
+ .sv_transtrap = NULL,
+ .sv_fixup = ibcs2_fixup,
+ .sv_sendsig = sendsig,
+ .sv_sigcode = sigcode, /* use generic trampoline */
+ .sv_szsigcode = &szsigcode,
+ .sv_prepsyscall = NULL,
+ .sv_name = "IBCS2 COFF",
+ .sv_coredump = NULL, /* we don't have a COFF coredump function */
+ .sv_imgact_try = NULL,
+ .sv_minsigstksz = IBCS2_MINSIGSTKSZ,
+ .sv_pagesize = PAGE_SIZE,
+ .sv_minuser = VM_MIN_ADDRESS,
+ .sv_maxuser = VM_MAXUSER_ADDRESS,
+ .sv_usrstack = USRSTACK,
+ .sv_psstrings = PS_STRINGS,
+ .sv_stackprot = VM_PROT_ALL,
+ .sv_copyout_strings = exec_copyout_strings,
+ .sv_setregs = exec_setregs,
+ .sv_fixlimit = NULL,
+ .sv_maxssiz = NULL
};
static int
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c
index 2de5a6f..91f943d 100644
--- a/sys/i386/linux/linux_sysvec.c
+++ b/sys/i386/linux/linux_sysvec.c
@@ -813,90 +813,92 @@ exec_linux_setregs(struct thread *td, u_long entry,
}
struct sysentvec linux_sysvec = {
- LINUX_SYS_MAXSYSCALL,
- linux_sysent,
- 0,
- LINUX_SIGTBLSZ,
- bsd_to_linux_signal,
- ELAST + 1,
- bsd_to_linux_errno,
- translate_traps,
- linux_fixup,
- linux_sendsig,
- linux_sigcode,
- &linux_szsigcode,
- linux_prepsyscall,
- "Linux a.out",
- NULL,
- exec_linux_imgact_try,
- LINUX_MINSIGSTKSZ,
- PAGE_SIZE,
- VM_MIN_ADDRESS,
- VM_MAXUSER_ADDRESS,
- USRSTACK,
- PS_STRINGS,
- VM_PROT_ALL,
- exec_copyout_strings,
- exec_linux_setregs,
- NULL
+ .sv_size = LINUX_SYS_MAXSYSCALL,
+ .sv_table = linux_sysent,
+ .sv_mask = 0,
+ .sv_sigsize = LINUX_SIGTBLSZ,
+ .sv_sigtbl = bsd_to_linux_signal,
+ .sv_errsize = ELAST + 1,
+ .sv_errtbl = bsd_to_linux_errno,
+ .sv_transtrap = translate_traps,
+ .sv_fixup = linux_fixup,
+ .sv_sendsig = linux_sendsig,
+ .sv_sigcode = linux_sigcode,
+ .sv_szsigcode = &linux_szsigcode,
+ .sv_prepsyscall = linux_prepsyscall,
+ .sv_name = "Linux a.out",
+ .sv_coredump = NULL,
+ .sv_imgact_try = exec_linux_imgact_try,
+ .sv_minsigstksz = LINUX_MINSIGSTKSZ,
+ .sv_pagesize = PAGE_SIZE,
+ .sv_minuser = VM_MIN_ADDRESS,
+ .sv_maxuser = VM_MAXUSER_ADDRESS,
+ .sv_usrstack = USRSTACK,
+ .sv_psstrings = PS_STRINGS,
+ .sv_stackprot = VM_PROT_ALL,
+ .sv_copyout_strings = exec_copyout_strings,
+ .sv_setregs = exec_linux_setregs,
+ .sv_fixlimit = NULL,
+ .sv_maxssiz = NULL
};
struct sysentvec elf_linux_sysvec = {
- LINUX_SYS_MAXSYSCALL,
- linux_sysent,
- 0,
- LINUX_SIGTBLSZ,
- bsd_to_linux_signal,
- ELAST + 1,
- bsd_to_linux_errno,
- translate_traps,
- elf_linux_fixup,
- linux_sendsig,
- linux_sigcode,
- &linux_szsigcode,
- linux_prepsyscall,
- "Linux ELF",
- elf32_coredump,
- exec_linux_imgact_try,
- LINUX_MINSIGSTKSZ,
- PAGE_SIZE,
- VM_MIN_ADDRESS,
- VM_MAXUSER_ADDRESS,
- USRSTACK,
- PS_STRINGS,
- VM_PROT_ALL,
- exec_copyout_strings,
- exec_linux_setregs,
- NULL
+ .sv_size = LINUX_SYS_MAXSYSCALL,
+ .sv_table = linux_sysent,
+ .sv_mask = 0,
+ .sv_sigsize = LINUX_SIGTBLSZ,
+ .sv_sigtbl = bsd_to_linux_signal,
+ .sv_errsize = ELAST + 1,
+ .sv_errtbl = bsd_to_linux_errno,
+ .sv_transtrap = translate_traps,
+ .sv_fixup = elf_linux_fixup,
+ .sv_sendsig = linux_sendsig,
+ .sv_sigcode = linux_sigcode,
+ .sv_szsigcode = &linux_szsigcode,
+ .sv_prepsyscall = linux_prepsyscall,
+ .sv_name = "Linux ELF",
+ .sv_coredump = elf32_coredump,
+ .sv_imgact_try = exec_linux_imgact_try,
+ .sv_minsigstksz = LINUX_MINSIGSTKSZ,
+ .sv_pagesize = PAGE_SIZE,
+ .sv_minuser = VM_MIN_ADDRESS,
+ .sv_maxuser = VM_MAXUSER_ADDRESS,
+ .sv_usrstack = USRSTACK,
+ .sv_psstrings = PS_STRINGS,
+ .sv_stackprot = VM_PROT_ALL,
+ .sv_copyout_strings = exec_copyout_strings,
+ .sv_setregs = exec_linux_setregs,
+ .sv_fixlimit = NULL,
+ .sv_maxssiz = NULL
};
static Elf32_Brandinfo linux_brand = {
- ELFOSABI_LINUX,
- EM_386,
- "Linux",
- "/compat/linux",
- "/lib/ld-linux.so.1",
- &elf_linux_sysvec,
- NULL,
- BI_CAN_EXEC_DYN,
- };
+ .brand = ELFOSABI_LINUX,
+ .machine = EM_386,
+ .compat_3_brand = "Linux",
+ .emul_path = "/compat/linux",
+ .interp_path = "/lib/ld-linux.so.1",
+ .sysvec = &elf_linux_sysvec,
+ .interp_newpath = NULL,
+ .flags = BI_CAN_EXEC_DYN,
+};
static Elf32_Brandinfo linux_glibc2brand = {
- ELFOSABI_LINUX,
- EM_386,
- "Linux",
- "/compat/linux",
- "/lib/ld-linux.so.2",
- &elf_linux_sysvec,
- NULL,
- BI_CAN_EXEC_DYN,
- };
+ .brand = ELFOSABI_LINUX,
+ .machine = EM_386,
+ .compat_3_brand = "Linux",
+ .emul_path = "/compat/linux",
+ .interp_path = "/lib/ld-linux.so.2",
+ .sysvec = &elf_linux_sysvec,
+ .interp_newpath = NULL,
+ .flags = BI_CAN_EXEC_DYN,
+};
Elf32_Brandinfo *linux_brandlist[] = {
- &linux_brand,
- &linux_glibc2brand,
- NULL
- };
+ &linux_brand,
+ &linux_glibc2brand,
+ NULL
+};
static int
linux_elf_modevent(module_t mod, int type, void *data)
OpenPOWER on IntegriCloud