Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/elf_machdep.c
| Show First 20 Lines • Show All 94 Lines • ▼ Show 20 Lines | static struct sysentvec elf64_freebsd_sysvec = { | ||||
| .sv_hwcap = &elf_hwcap, | .sv_hwcap = &elf_hwcap, | ||||
| .sv_onexec_old = exec_onexec_old, | .sv_onexec_old = exec_onexec_old, | ||||
| .sv_onexit = exit_onexit, | .sv_onexit = exit_onexit, | ||||
| .sv_regset_begin = SET_BEGIN(__elfN(regset)), | .sv_regset_begin = SET_BEGIN(__elfN(regset)), | ||||
| .sv_regset_end = SET_LIMIT(__elfN(regset)), | .sv_regset_end = SET_LIMIT(__elfN(regset)), | ||||
| }; | }; | ||||
| INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); | INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); | ||||
| static Elf64_Brandinfo freebsd_brand_info = { | static const Elf64_Brandinfo freebsd_brand_info = { | ||||
| .brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
| .machine = EM_RISCV, | .machine = EM_RISCV, | ||||
| .compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
| .interp_path = "/libexec/ld-elf.so.1", | .interp_path = "/libexec/ld-elf.so.1", | ||||
| .sysvec = &elf64_freebsd_sysvec, | .sysvec = &elf64_freebsd_sysvec, | ||||
| .interp_newpath = NULL, | .interp_newpath = NULL, | ||||
| .brand_note = &elf64_freebsd_brandnote, | .brand_note = &elf64_freebsd_brandnote, | ||||
| .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE | ||||
| }; | }; | ||||
| SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST, | C_SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST, | ||||
| (sysinit_cfunc_t)elf64_insert_brand_entry, &freebsd_brand_info); | (sysinit_cfunc_t)elf64_insert_brand_entry, &freebsd_brand_info); | ||||
| static void | static void | ||||
| elf64_register_sysvec(void *arg) | elf64_register_sysvec(void *arg) | ||||
| { | { | ||||
| struct sysentvec *sv; | struct sysentvec *sv; | ||||
| sv = arg; | sv = arg; | ||||
| ▲ Show 20 Lines • Show All 428 Lines • Show Last 20 Lines | |||||