Lines Matching refs:sym
98 soinfo** found_in, const ElfW(Sym)** sym) { in lookup_symbol() argument
101 *sym = relocator.cache_sym; in lookup_symbol()
116 *sym = local_sym; in lookup_symbol()
119 if (*sym == nullptr) { in lookup_symbol()
170 const ElfW(Sym)* sym = nullptr; in process_relocation_impl()
254 sym = &relocator.si_symtab[r_sym]; in process_relocation_impl()
255 auto sym_type = ELF_ST_TYPE(sym->st_info); in process_relocation_impl()
265 } else if (!lookup_symbol<IsGeneral>(relocator, r_sym, sym_name, &found_in, &sym)) { in process_relocation_impl()
274 if (sym != nullptr) { in process_relocation_impl()
275 if (ELF_ST_TYPE(sym->st_info) != STT_TLS) { in process_relocation_impl()
281 sym_addr = sym->st_value; in process_relocation_impl()
287 if (!lookup_symbol<IsGeneral>(relocator, r_sym, sym_name, &found_in, &sym)) return false; in process_relocation_impl()
288 if (sym != nullptr) { in process_relocation_impl()
291 ELF_ST_TYPE(sym->st_info) == STT_GNU_IFUNC; in process_relocation_impl()
293 sym_addr = found_in->resolve_symbol_address(sym); in process_relocation_impl()