Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/powerpc/elf32_machdep.c
| Show First 20 Lines • Show All 137 Lines • ▼ Show 20 Lines | #endif | ||||
| .sv_hwcap4 = NULL, | .sv_hwcap4 = NULL, | ||||
| .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(elf32_sysvec, &elf32_freebsd_sysvec); | INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec); | ||||
| static Elf32_Brandinfo freebsd_brand_info = { | static const Elf32_Brandinfo freebsd_brand_info = { | ||||
| .brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
| .machine = EM_PPC, | .machine = EM_PPC, | ||||
| .compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
| .interp_path = "/libexec/ld-elf.so.1", | .interp_path = "/libexec/ld-elf.so.1", | ||||
| .sysvec = &elf32_freebsd_sysvec, | .sysvec = &elf32_freebsd_sysvec, | ||||
| #ifdef __powerpc64__ | #ifdef __powerpc64__ | ||||
| .interp_newpath = "/libexec/ld-elf32.so.1", | .interp_newpath = "/libexec/ld-elf32.so.1", | ||||
| #else | #else | ||||
| .interp_newpath = NULL, | .interp_newpath = NULL, | ||||
| #endif | #endif | ||||
| .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(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, | C_SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, | ||||
| (sysinit_cfunc_t) elf32_insert_brand_entry, | (sysinit_cfunc_t) elf32_insert_brand_entry, | ||||
| &freebsd_brand_info); | &freebsd_brand_info); | ||||
| static Elf32_Brandinfo freebsd_brand_oinfo = { | static const Elf32_Brandinfo freebsd_brand_oinfo = { | ||||
| .brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
| .machine = EM_PPC, | .machine = EM_PPC, | ||||
| .compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
| .interp_path = "/usr/libexec/ld-elf.so.1", | .interp_path = "/usr/libexec/ld-elf.so.1", | ||||
| .sysvec = &elf32_freebsd_sysvec, | .sysvec = &elf32_freebsd_sysvec, | ||||
| .interp_newpath = NULL, | .interp_newpath = NULL, | ||||
| .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(oelf32, SI_SUB_EXEC, SI_ORDER_ANY, | C_SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY, | ||||
| (sysinit_cfunc_t) elf32_insert_brand_entry, | (sysinit_cfunc_t) elf32_insert_brand_entry, | ||||
| &freebsd_brand_oinfo); | &freebsd_brand_oinfo); | ||||
| void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); | void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); | ||||
| void | void | ||||
| elf32_dump_thread(struct thread *td, void *dst, size_t *off) | elf32_dump_thread(struct thread *td, void *dst, size_t *off) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 285 Lines • Show Last 20 Lines | |||||