Lines Matching defs:__elfN
86 static int __elfN(check_header)(const Elf_Ehdr *hdr);
87 static Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp,
89 static int __elfN(load_file)(struct proc *p, const char *file, u_long *addr,
91 static int __elfN(load_section)(const struct image_params *imgp,
94 static int __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp);
95 static bool __elfN(freebsd_trans_osrel)(const Elf_Note *note,
98 static bool __elfN(check_note)(struct image_params *imgp,
101 static vm_prot_t __elfN(trans_prot)(Elf_Word);
102 static Elf_Word __elfN(untrans_prot)(vm_prot_t);
103 static size_t __elfN(prepare_register_notes)(struct thread *td,
110 int __elfN(fallback_brand) = -1;
112 fallback_brand, CTLFLAG_RWTUN, &__elfN(fallback_brand), 0,
116 SYSCTL_INT(_debug, OID_AUTO, __elfN(legacy_coredump), CTLFLAG_RW,
120 int __elfN(nxstack) =
129 nxstack, CTLFLAG_RW, &__elfN(nxstack), 0,
133 static int __elfN(vdso) = 1;
135 vdso, CTLFLAG_RWTUN, &__elfN(vdso), 0,
138 static int __elfN(vdso) = 0;
147 static u_long __elfN(pie_base) = ET_DYN_LOAD_ADDR;
154 val = __elfN(pie_base);
160 __elfN(pie_base) = val;
178 static int __elfN(aslr_enabled) = __ELF_WORD_SIZE == 64;
180 &__elfN(aslr_enabled), 0,
187 static int __elfN(pie_aslr_enabled) = __ELF_WORD_SIZE == 64;
189 &__elfN(pie_aslr_enabled), 0,
198 static int __elfN(aslr_honor_sbrk) = 0;
200 &__elfN(aslr_honor_sbrk), 0,
203 static int __elfN(aslr_stack) = __ELF_WORD_SIZE == 64;
205 &__elfN(aslr_stack), 0,
209 static int __elfN(aslr_shared_page) = __ELF_WORD_SIZE == 64;
211 &__elfN(aslr_shared_page), 0,
215 static int __elfN(sigfastblock) = 1;
217 CTLFLAG_RWTUN, &__elfN(sigfastblock), 0,
220 static bool __elfN(allow_wx) = true;
222 CTLFLAG_RWTUN, &__elfN(allow_wx), 0,
229 Elf_Brandnote __elfN(freebsd_brandnote) = {
235 .trans_osrel = __elfN(freebsd_trans_osrel)
239 __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel)
252 Elf_Brandnote __elfN(kfreebsd_brandnote) = {
284 __elfN(insert_brand_entry)(Elf_Brandinfo *entry)
303 __elfN(remove_brand_entry)(Elf_Brandinfo *entry)
319 __elfN(brand_inuse)(Elf_Brandinfo *entry)
337 __elfN(get_brandinfo)(struct image_params *imgp, const char *interp,
367 ret = __elfN(check_note)(imgp, bi->brand_note, osrel,
472 __elfN(fallback_brand) == bi->brand &&
481 __elfN(phdr_in_zero_page)(const Elf_Ehdr *hdr)
488 __elfN(check_header)(const Elf_Ehdr *hdr)
517 __elfN(map_partial)(vm_map_t map, vm_object_t object, vm_ooffset_t offset,
549 __elfN(map_insert)(const struct image_params *imgp, vm_map_t map,
559 rv = __elfN(map_partial)(map, object, offset, start,
567 rv = __elfN(map_partial)(map, object, offset +
621 __elfN(load_section)(const struct image_params *imgp, vm_ooffset_t offset,
671 rv = __elfN(map_insert)(imgp, map, object, file_addr,
694 rv = __elfN(map_insert)(imgp, map, NULL, 0, map_addr,
725 __elfN(load_sections)(const struct image_params *imgp, const Elf_Ehdr *hdr,
743 prot = __elfN(trans_prot)(phdr[i].p_flags);
744 error = __elfN(load_section)(imgp, phdr[i].p_offset,
778 __elfN(load_file)(struct proc *p, const char *file, u_long *addr,
838 if ((error = __elfN(check_header)(hdr)) != 0)
850 if (!__elfN(phdr_in_zero_page)(hdr)) {
861 error = __elfN(load_sections)(imgp, hdr, phdr, rbase, &base_addr);
896 __CONCAT(rnd_, __elfN(base))(vm_map_t map, u_long minv, u_long maxv,
926 __elfN(enforce_limits)(struct image_params *imgp, const Elf_Ehdr *hdr,
1003 __elfN(get_interp)(struct image_params *imgp, const Elf_Phdr *phdr,
1069 __elfN(load_interp)(struct image_params *imgp, const Elf_Brandinfo *brand_info,
1077 error = __elfN(load_file)(imgp->proc,
1083 error = __elfN(load_file)(imgp->proc, interp, addr, entry);
1098 __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
1124 if (__elfN(check_header)(hdr) != 0 ||
1133 if (!__elfN(phdr_in_zero_page)(hdr)) {
1208 error = __elfN(get_interp)(imgp, &phdr[i], &interp,
1214 if (__elfN(nxstack)) {
1216 __elfN(trans_prot)(phdr[i].p_flags);
1232 brand_info = __elfN(get_brandinfo)(imgp, interp, &osrel, &fctl0);
1253 imgp->et_dyn_addr = __elfN(pie_base);
1254 else if ((__elfN(pie_aslr_enabled) &&
1259 imgp->et_dyn_addr = __elfN(pie_base);
1295 (__elfN(aslr_enabled) && hdr->e_type == ET_EXEC) ||
1304 if (!__elfN(aslr_honor_sbrk) ||
1307 if (__elfN(aslr_stack))
1309 if (__elfN(aslr_shared_page))
1313 if ((!__elfN(allow_wx) && (fctl0 & NT_FREEBSD_FCTL_WXNEEDED) == 0 &&
1336 error = __CONCAT(rnd_, __elfN(base))(map,
1346 error = __elfN(load_sections)(imgp, hdr, phdr, imgp->et_dyn_addr, NULL);
1350 error = __elfN(enforce_limits)(imgp, hdr, phdr);
1364 error = __CONCAT(rnd_, __elfN(base))(map, addr, maxv1,
1389 error = __CONCAT(rnd_, __elfN(base))(map, addr,
1393 error = __elfN(load_interp)(imgp, brand_info, interp,
1442 __elfN(freebsd_copyout_auxargs)(struct image_params *imgp, uintptr_t base)
1491 bsdflags |= __elfN(sigfastblock) ? ELF_BSDF_SIGFASTBLK : 0;
1507 if ((imgp->sysent->sv_flags & SV_DSO_SIG) != 0 && __elfN(vdso) != 0) {
1526 __elfN(freebsd_fixup)(uintptr_t *stack_base, struct image_params *imgp)
1568 static int __elfN(corehdr)(struct coredump_params *, int, void *, size_t,
1570 static void __elfN(putnote)(struct thread *td, struct note_info *, struct sbuf *);
1572 static void __elfN(note_prpsinfo)(void *, struct sbuf *, size_t *);
1573 static void __elfN(note_threadmd)(void *, struct sbuf *, size_t *);
1574 static void __elfN(note_procstat_auxv)(void *, struct sbuf *, size_t *);
1575 static void __elfN(note_procstat_proc)(void *, struct sbuf *, size_t *);
1576 static void __elfN(note_procstat_psstrings)(void *, struct sbuf *, size_t *);
1593 __elfN(coredump)(struct thread *td, struct vnode *vp, off_t limit, int flags)
1609 __elfN(size_segments)(td, &seginfo, flags);
1665 error = __elfN(corehdr)(¶ms, seginfo.count, hdr, hdrsize, ¬elst,
1725 phdr->p_flags = __elfN(untrans_prot)(entry->protection);
1745 __elfN(size_segments)(struct thread *td, struct sseg_closure *seginfo,
1826 __elfN(corehdr)(struct coredump_params *p, int numsegs, void *hdr,
1836 __elfN(puthdr)(p->td, hdr, hdrsize, numsegs, notesz, flags);
1843 __elfN(putnote)(p->td, ninfo, sb);
1853 __elfN(prepare_notes)(struct thread *td, struct note_info_list *list,
1863 size += __elfN(register_note)(td, list, NT_PRPSINFO,
1864 __elfN(note_prpsinfo), p);
1874 size += __elfN(prepare_register_notes)(td, list, thr);
1875 size += __elfN(register_note)(td, list, -1,
1876 __elfN(note_threadmd), thr);
1884 size += __elfN(register_note)(td, list, NT_PROCSTAT_PROC,
1885 __elfN(note_procstat_proc), p);
1886 size += __elfN(register_note)(td, list, NT_PROCSTAT_FILES,
1888 size += __elfN(register_note)(td, list, NT_PROCSTAT_VMMAP,
1890 size += __elfN(register_note)(td, list, NT_PROCSTAT_GROUPS,
1892 size += __elfN(register_note)(td, list, NT_PROCSTAT_UMASK,
1894 size += __elfN(register_note)(td, list, NT_PROCSTAT_RLIMIT,
1896 size += __elfN(register_note)(td, list, NT_PROCSTAT_OSREL,
1898 size += __elfN(register_note)(td, list, NT_PROCSTAT_PSSTRINGS,
1899 __elfN(note_procstat_psstrings), p);
1900 size += __elfN(register_note)(td, list, NT_PROCSTAT_AUXV,
1901 __elfN(note_procstat_auxv), p);
1907 __elfN(puthdr)(struct thread *td, void *hdr, size_t hdrsize, int numsegs,
1993 __elfN(register_regset_note)(struct thread *td, struct note_info_list *list,
2021 __elfN(register_note)(struct thread *td, struct note_info_list *list,
2063 __elfN(populate_note)(int type, void *src, void *dst, size_t size, void **descp)
2092 __elfN(putnote)(struct thread *td, struct note_info *ninfo, struct sbuf *sb)
2189 __elfN(note_prpsinfo)(void *arg, struct sbuf *sb, size_t *sizep)
2253 __elfN(get_prstatus)(struct regset *rs, struct thread *td, void *buf,
2281 __elfN(set_prstatus)(struct regset *rs, struct thread *td, void *buf,
2296 static struct regset __elfN(regset_prstatus) = {
2299 .get = __elfN(get_prstatus),
2300 .set = __elfN(set_prstatus),
2302 ELF_REGSET(__elfN(regset_prstatus));
2305 __elfN(get_fpregset)(struct regset *rs, struct thread *td, void *buf,
2325 __elfN(set_fpregset)(struct regset *rs, struct thread *td, void *buf,
2340 static struct regset __elfN(regset_fpregset) = {
2343 .get = __elfN(get_fpregset),
2344 .set = __elfN(set_fpregset),
2346 ELF_REGSET(__elfN(regset_fpregset));
2349 __elfN(get_thrmisc)(struct regset *rs, struct thread *td, void *buf,
2365 static struct regset __elfN(regset_thrmisc) = {
2368 .get = __elfN(get_thrmisc),
2370 ELF_REGSET(__elfN(regset_thrmisc));
2373 __elfN(get_lwpinfo)(struct regset *rs, struct thread *td, void *buf,
2407 static struct regset __elfN(regset_lwpinfo) = {
2410 .get = __elfN(get_lwpinfo),
2412 ELF_REGSET(__elfN(regset_lwpinfo));
2415 __elfN(prepare_register_notes)(struct thread *td, struct note_info_list *list,
2425 size += __elfN(register_regset_note)(td, list, &__elfN(regset_prstatus),
2431 size += __elfN(register_regset_note)(td, list,
2432 &__elfN(regset_fpregset), target_td);
2441 size += __elfN(register_regset_note)(td, list, regset,
2452 __elfN(note_threadmd)(void *arg, struct sbuf *sb, size_t *sizep)
2465 __elfN(dump_thread)(td, buf, &size);
2478 __elfN(note_procstat_proc)(void *arg, struct sbuf *sb, size_t *sizep)
2667 __elfN(note_procstat_psstrings)(void *arg, struct sbuf *sb, size_t *sizep)
2691 __elfN(note_procstat_auxv)(void *arg, struct sbuf *sb, size_t *sizep)
2721 __elfN(parse_notes)(const struct image_params *imgp, const Elf_Note *checknote,
2854 __elfN(check_note)(struct image_params *imgp, Elf_Brandnote *brandnote,
2871 if (phdr[i].p_type == PT_NOTE && __elfN(parse_notes)(imgp,
2876 __elfN(parse_notes)(imgp, &fctl_note,
2891 static struct execsw __elfN(execsw) = {
2892 .ex_imgact = __CONCAT(exec_, __elfN(imgact)),
2895 EXEC_SET(__CONCAT(elf, __ELF_WORD_SIZE), __elfN(execsw));
2898 __elfN(trans_prot)(Elf_Word flags)
2917 __elfN(untrans_prot)(vm_prot_t prot)