Lines Matching refs:sym_tab
253 static void e32_get_sym_name(const Elf32_Sym *sym_tab, size_t num_syms, in e32_get_sym_name() argument
266 name_idx = sym_tab[sym_idx].st_name; in e32_get_sym_name()
273 if (sym_tab[sym_idx].st_shndx == SHN_UNDEF && in e32_get_sym_name()
274 ELF32_ST_BIND(sym_tab[sym_idx].st_info) == STB_WEAK) in e32_get_sym_name()
293 static void e32_process_dyn_rel(const Elf32_Sym *sym_tab, size_t num_syms, in e32_process_dyn_rel() argument
301 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_process_dyn_rel()
307 static void e32_tls_get_module(const Elf32_Sym *sym_tab, size_t num_syms, in e32_tls_get_module() argument
318 if (!sym_idx || sym_tab[sym_idx].st_shndx != SHN_UNDEF) { in e32_tls_get_module()
323 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_tls_get_module()
328 static void e32_tls_resolve(const Elf32_Sym *sym_tab, size_t num_syms, in e32_tls_resolve() argument
334 e32_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rel, &name, in e32_tls_resolve()
345 Elf32_Sym *sym_tab = NULL; in e32_relocate() local
372 sym_tab = (Elf32_Sym *)(elf->load_addr + in e32_relocate()
433 if (sym_tab[sym_idx].st_shndx == SHN_UNDEF) { in e32_relocate()
435 e32_process_dyn_rel(sym_tab, num_syms, str_tab, in e32_relocate()
439 sym_tab[sym_idx].st_value; in e32_relocate()
447 *where += sym_tab[sym_idx].st_value - rel->r_offset; in e32_relocate()
454 if (!sym_tab) in e32_relocate()
457 e32_process_dyn_rel(sym_tab, num_syms, str_tab, in e32_relocate()
461 if (!sym_tab) in e32_relocate()
465 e32_tls_get_module(sym_tab, num_syms, str_tab, in e32_relocate()
470 if (!sym_tab) in e32_relocate()
473 e32_tls_resolve(sym_tab, num_syms, str_tab, in e32_relocate()
485 static void e64_get_sym_name(const Elf64_Sym *sym_tab, size_t num_syms, in e64_get_sym_name() argument
498 name_idx = sym_tab[sym_idx].st_name; in e64_get_sym_name()
503 if (sym_tab[sym_idx].st_shndx == SHN_UNDEF && in e64_get_sym_name()
504 ELF64_ST_BIND(sym_tab[sym_idx].st_info) == STB_WEAK) in e64_get_sym_name()
510 static void e64_process_dyn_rela(const Elf64_Sym *sym_tab, size_t num_syms, in e64_process_dyn_rela() argument
518 e64_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rela, &name, in e64_process_dyn_rela()
525 static void e64_process_tls_tprel_rela(const Elf64_Sym *sym_tab, in e64_process_tls_tprel_rela() argument
538 e64_get_sym_name(sym_tab, num_syms, str_tab, str_tab_size, rela, in e64_process_tls_tprel_rela()
555 static void e64_process_tlsdesc_rela(const Elf64_Sym *sym_tab, size_t num_syms, in e64_process_tlsdesc_rela() argument
574 e64_process_tls_tprel_rela(sym_tab, num_syms, str_tab, str_tab_size, in e64_process_tlsdesc_rela()
585 Elf64_Sym *sym_tab = NULL; in e64_relocate() local
612 sym_tab = (Elf64_Sym *)(elf->load_addr + in e64_relocate()
674 if (sym_tab[sym_idx].st_shndx == SHN_UNDEF) { in e64_relocate()
676 e64_process_dyn_rela(sym_tab, num_syms, str_tab, in e64_relocate()
680 sym_tab[sym_idx].st_value; in e64_relocate()
688 e64_process_dyn_rela(sym_tab, num_syms, str_tab, in e64_relocate()
692 e64_process_tls_tprel_rela(sym_tab, num_syms, str_tab, in e64_relocate()
697 e64_process_tlsdesc_rela(sym_tab, num_syms, str_tab, in e64_relocate()
714 e64_process_dyn_rela(sym_tab, num_syms, str_tab, in e64_relocate()
719 e64_process_dyn_rela(sym_tab, num_syms, str_tab, in e64_relocate()