Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/ia32/ia32_sysvec.c
Show First 20 Lines • Show All 110 Lines • ▼ Show 20 Lines | struct sysentvec ia32_freebsd_sysvec = { | ||||
.sv_sigcode = _binary_elf_vdso32_so_1_start, | .sv_sigcode = _binary_elf_vdso32_so_1_start, | ||||
.sv_szsigcode = (int *)&_binary_elf_vdso32_so_1_size, | .sv_szsigcode = (int *)&_binary_elf_vdso32_so_1_size, | ||||
.sv_sigcodeoff = VDSO_IA32_SIGCODE_OFFSET, | .sv_sigcodeoff = VDSO_IA32_SIGCODE_OFFSET, | ||||
.sv_name = "FreeBSD ELF32", | .sv_name = "FreeBSD ELF32", | ||||
.sv_coredump = elf32_coredump, | .sv_coredump = elf32_coredump, | ||||
.sv_elf_core_osabi = ELFOSABI_FREEBSD, | .sv_elf_core_osabi = ELFOSABI_FREEBSD, | ||||
.sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | .sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | ||||
.sv_elf_core_prepare_notes = elf32_prepare_notes, | .sv_elf_core_prepare_notes = elf32_prepare_notes, | ||||
.sv_imgact_try = NULL, | |||||
.sv_minsigstksz = MINSIGSTKSZ, | .sv_minsigstksz = MINSIGSTKSZ, | ||||
.sv_minuser = FREEBSD32_MINUSER, | .sv_minuser = FREEBSD32_MINUSER, | ||||
.sv_maxuser = FREEBSD32_MAXUSER, | .sv_maxuser = FREEBSD32_MAXUSER, | ||||
.sv_usrstack = FREEBSD32_USRSTACK, | .sv_usrstack = FREEBSD32_USRSTACK, | ||||
.sv_psstrings = FREEBSD32_PS_STRINGS, | .sv_psstrings = FREEBSD32_PS_STRINGS, | ||||
.sv_psstringssz = sizeof(struct freebsd32_ps_strings), | .sv_psstringssz = sizeof(struct freebsd32_ps_strings), | ||||
.sv_stackprot = VM_PROT_ALL, | .sv_stackprot = VM_PROT_ALL, | ||||
.sv_copyout_auxargs = elf32_freebsd_copyout_auxargs, | .sv_copyout_auxargs = elf32_freebsd_copyout_auxargs, | ||||
Show All 18 Lines | struct sysentvec ia32_freebsd_sysvec = { | ||||
.sv_regset_end = SET_LIMIT(__elfN(regset)), | .sv_regset_end = SET_LIMIT(__elfN(regset)), | ||||
}; | }; | ||||
INIT_SYSENTVEC(elf_ia32_sysvec, &ia32_freebsd_sysvec); | INIT_SYSENTVEC(elf_ia32_sysvec, &ia32_freebsd_sysvec); | ||||
static Elf32_Brandinfo ia32_brand_info = { | static Elf32_Brandinfo ia32_brand_info = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_386, | .machine = EM_386, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/libexec/ld-elf.so.1", | .interp_path = "/libexec/ld-elf.so.1", | ||||
.sysvec = &ia32_freebsd_sysvec, | .sysvec = &ia32_freebsd_sysvec, | ||||
.interp_newpath = "/libexec/ld-elf32.so.1", | .interp_newpath = "/libexec/ld-elf32.so.1", | ||||
.brand_note = &elf32_freebsd_brandnote, | .brand_note = &elf32_freebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | ||||
}; | }; | ||||
SYSINIT(ia32, SI_SUB_EXEC, SI_ORDER_MIDDLE, | SYSINIT(ia32, SI_SUB_EXEC, SI_ORDER_MIDDLE, | ||||
(sysinit_cfunc_t) elf32_insert_brand_entry, | (sysinit_cfunc_t) elf32_insert_brand_entry, | ||||
&ia32_brand_info); | &ia32_brand_info); | ||||
static Elf32_Brandinfo ia32_brand_oinfo = { | static Elf32_Brandinfo ia32_brand_oinfo = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_386, | .machine = EM_386, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/usr/libexec/ld-elf.so.1", | .interp_path = "/usr/libexec/ld-elf.so.1", | ||||
.sysvec = &ia32_freebsd_sysvec, | .sysvec = &ia32_freebsd_sysvec, | ||||
.interp_newpath = "/libexec/ld-elf32.so.1", | .interp_newpath = "/libexec/ld-elf32.so.1", | ||||
.brand_note = &elf32_freebsd_brandnote, | .brand_note = &elf32_freebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | ||||
}; | }; | ||||
SYSINIT(oia32, SI_SUB_EXEC, SI_ORDER_ANY, | SYSINIT(oia32, SI_SUB_EXEC, SI_ORDER_ANY, | ||||
(sysinit_cfunc_t) elf32_insert_brand_entry, | (sysinit_cfunc_t) elf32_insert_brand_entry, | ||||
&ia32_brand_oinfo); | &ia32_brand_oinfo); | ||||
static Elf32_Brandinfo kia32_brand_info = { | static Elf32_Brandinfo kia32_brand_info = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_386, | .machine = EM_386, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/lib/ld.so.1", | .interp_path = "/lib/ld.so.1", | ||||
.sysvec = &ia32_freebsd_sysvec, | .sysvec = &ia32_freebsd_sysvec, | ||||
.brand_note = &elf32_kfreebsd_brandnote, | .brand_note = &elf32_kfreebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY | ||||
}; | }; | ||||
SYSINIT(kia32, SI_SUB_EXEC, SI_ORDER_ANY, | SYSINIT(kia32, SI_SUB_EXEC, SI_ORDER_ANY, | ||||
(sysinit_cfunc_t) elf32_insert_brand_entry, | (sysinit_cfunc_t) elf32_insert_brand_entry, | ||||
▲ Show 20 Lines • Show All 55 Lines • Show Last 20 Lines |