Lines Matching refs:lf

92 	struct linker_file lf;		/* Common fields */  member
134 static int link_elf_lookup_debug_symbol_ctf(linker_file_t lf,
158 static int elf_obj_lookup(linker_file_t lf, Elf_Size symidx, int deps,
226 end <= round_page((vm_offset_t)ef->address + ef->lf.size), in link_elf_protect_range()
339 round_page((vm_offset_t)ef->address + ef->lf.size), gapprot); in link_elf_protect()
352 linker_file_t lf; in link_elf_link_preload() local
374 lf = linker_make_file(filename, &link_elf_class); in link_elf_link_preload()
375 if (lf == NULL) in link_elf_link_preload()
378 ef = (elf_file_t)lf; in link_elf_link_preload()
381 lf->address = *(caddr_t *)baseptr; in link_elf_link_preload()
382 lf->size = *(size_t *)sizeptr; in link_elf_link_preload()
556 if (lf->ctors_addr != 0) { in link_elf_link_preload()
561 lf->ctors_addr = ef->progtab[pb].addr; in link_elf_link_preload()
562 lf->ctors_size = shdr[i].sh_size; in link_elf_link_preload()
567 if (lf->dtors_addr != 0) { in link_elf_link_preload()
572 lf->dtors_addr = ef->progtab[pb].addr; in link_elf_link_preload()
573 lf->dtors_size = shdr[i].sh_size; in link_elf_link_preload()
627 round_page((vm_offset_t)ef->address + ef->lf.size), VM_PROT_ALL); in link_elf_link_preload()
630 error = link_elf_reloc_local(lf, false); in link_elf_link_preload()
633 *result = lf; in link_elf_link_preload()
638 linker_file_unload(lf, LINKER_UNLOAD_FORCE); in link_elf_link_preload()
659 link_elf_invoke_ctors(linker_file_t lf) in link_elf_invoke_ctors() argument
661 KASSERT(lf->ctors_invoked == LF_NONE, in link_elf_invoke_ctors()
663 __func__, lf->filename, lf->ctors_invoked)); in link_elf_invoke_ctors()
665 link_elf_invoke_cbs(lf->ctors_addr, lf->ctors_size); in link_elf_invoke_ctors()
666 lf->ctors_invoked = LF_CTORS; in link_elf_invoke_ctors()
670 link_elf_invoke_dtors(linker_file_t lf) in link_elf_invoke_dtors() argument
672 KASSERT(lf->ctors_invoked != LF_DTORS, in link_elf_invoke_dtors()
674 __func__, lf->filename, lf->ctors_invoked)); in link_elf_invoke_dtors()
676 if (lf->ctors_invoked == LF_CTORS) { in link_elf_invoke_dtors()
677 link_elf_invoke_cbs(lf->dtors_addr, lf->dtors_size); in link_elf_invoke_dtors()
678 lf->ctors_invoked = LF_DTORS; in link_elf_invoke_dtors()
683 link_elf_link_preload_finish(linker_file_t lf) in link_elf_link_preload_finish() argument
688 ef = (elf_file_t)lf; in link_elf_link_preload_finish()
694 error = elf_cpu_load_file(lf); in link_elf_link_preload_finish()
700 error = link_elf_reloc_local(lf, true); in link_elf_link_preload_finish()
708 link_elf_invoke_ctors(lf); in link_elf_link_preload_finish()
728 linker_file_t lf; in link_elf_load_file() local
737 lf = NULL; in link_elf_load_file()
800 lf = linker_make_file(filename, &link_elf_class); in link_elf_load_file()
801 if (!lf) { in link_elf_load_file()
805 ef = (elf_file_t) lf; in link_elf_load_file()
1025 lf->address = ef->address = (caddr_t)mapbase; in link_elf_load_file()
1026 lf->size = mapsize; in link_elf_load_file()
1057 if (lf->ctors_addr != 0) { in link_elf_load_file()
1062 lf->ctors_addr = in link_elf_load_file()
1064 lf->ctors_size = in link_elf_load_file()
1070 if (lf->dtors_addr != 0) { in link_elf_load_file()
1075 lf->dtors_addr = in link_elf_load_file()
1077 lf->dtors_size = in link_elf_load_file()
1234 error = link_elf_reloc_local(lf, false); in link_elf_load_file()
1240 error = linker_load_dependencies(lf); in link_elf_load_file()
1251 error = elf_cpu_load_file(lf); in link_elf_load_file()
1257 error = link_elf_reloc_local(lf, true); in link_elf_load_file()
1263 link_elf_invoke_ctors(lf); in link_elf_load_file()
1264 *result = lf; in link_elf_load_file()
1270 if (error && lf) in link_elf_load_file()
1271 linker_file_unload(lf, LINKER_UNLOAD_FORCE); in link_elf_load_file()
1380 link_elf_error(ef->lf.filename, "lost a reltab!"); in relocate_file1()
1386 link_elf_error(ef->lf.filename, "lost base for reltab"); in relocate_file1()
1400 if (elf_reloc(&ef->lf, base, rel, ELF_RELOC_REL, in relocate_file1()
1414 link_elf_error(ef->lf.filename, "lost a relatab!"); in relocate_file1()
1420 link_elf_error(ef->lf.filename, in relocate_file1()
1435 if (elf_reloc(&ef->lf, base, rela, ELF_RELOC_RELA, in relocate_file1()
1467 link_elf_lookup_symbol1(linker_file_t lf, const char *name, c_linker_sym_t *sym, in link_elf_lookup_symbol1() argument
1470 elf_file_t ef = (elf_file_t)lf; in link_elf_lookup_symbol1()
1490 link_elf_lookup_symbol(linker_file_t lf, const char *name, c_linker_sym_t *sym) in link_elf_lookup_symbol() argument
1492 return (link_elf_lookup_symbol1(lf, name, sym, in link_elf_lookup_symbol()
1497 link_elf_lookup_debug_symbol(linker_file_t lf, const char *name, in link_elf_lookup_debug_symbol() argument
1500 return (link_elf_lookup_symbol1(lf, name, sym, true)); in link_elf_lookup_debug_symbol()
1504 link_elf_lookup_debug_symbol_ctf(linker_file_t lf, const char *name, in link_elf_lookup_debug_symbol_ctf() argument
1507 if (link_elf_lookup_debug_symbol(lf, name, sym)) in link_elf_lookup_debug_symbol_ctf()
1510 return (link_elf_ctf_get_ddb(lf, lc)); in link_elf_lookup_debug_symbol_ctf()
1514 link_elf_symbol_values1(linker_file_t lf, c_linker_sym_t sym, in link_elf_symbol_values1() argument
1521 ef = (elf_file_t) lf; in link_elf_symbol_values1()
1539 link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, in link_elf_symbol_values() argument
1542 return (link_elf_symbol_values1(lf, sym, symval, in link_elf_symbol_values()
1547 link_elf_debug_symbol_values(linker_file_t lf, c_linker_sym_t sym, in link_elf_debug_symbol_values() argument
1550 return (link_elf_symbol_values1(lf, sym, symval, true)); in link_elf_debug_symbol_values()
1554 link_elf_search_symbol(linker_file_t lf, caddr_t value, in link_elf_search_symbol() argument
1557 elf_file_t ef = (elf_file_t)lf; in link_elf_search_symbol()
1593 link_elf_lookup_set(linker_file_t lf, const char *name, in link_elf_lookup_set() argument
1596 elf_file_t ef = (elf_file_t)lf; in link_elf_lookup_set()
1689 elf_obj_lookup(linker_file_t lf, Elf_Size symidx, int deps, Elf_Addr *res) in elf_obj_lookup() argument
1691 elf_file_t ef = (elf_file_t)lf; in elf_obj_lookup()
1730 res1 = (Elf_Addr)linker_file_lookup_symbol(lf, symbol, deps); in elf_obj_lookup()
1805 link_elf_reloc_local(linker_file_t lf, bool ifuncs) in link_elf_reloc_local() argument
1807 elf_file_t ef = (elf_file_t)lf; in link_elf_reloc_local()
1823 link_elf_error(ef->lf.filename, "lost a reltab"); in link_elf_reloc_local()
1829 link_elf_error(ef->lf.filename, "lost base for reltab"); in link_elf_reloc_local()
1843 if (elf_reloc_local(lf, base, rel, ELF_RELOC_REL, in link_elf_reloc_local()
1853 link_elf_error(ef->lf.filename, "lost a relatab!"); in link_elf_reloc_local()
1859 link_elf_error(ef->lf.filename, "lost base for reltab"); in link_elf_reloc_local()
1873 if (elf_reloc_local(lf, base, rela, ELF_RELOC_RELA, in link_elf_reloc_local()
1882 link_elf_symtab_get(linker_file_t lf, const Elf_Sym **symtab) in link_elf_symtab_get() argument
1884 elf_file_t ef = (elf_file_t)lf; in link_elf_symtab_get()
1893 link_elf_strtab_get(linker_file_t lf, caddr_t *strtab) in link_elf_strtab_get() argument
1895 elf_file_t ef = (elf_file_t)lf; in link_elf_strtab_get()
1905 link_elf_propagate_vnets(linker_file_t lf) in link_elf_propagate_vnets() argument
1907 elf_file_t ef = (elf_file_t) lf; in link_elf_propagate_vnets()