Lines Matching refs:rela

226 reloc_is_irelative(int machine, GElf_Rela *rela)  in reloc_is_irelative()  argument
231 irelative = GELF_R_TYPE(rela->r_info) == R_PPC64_JMP_IREL; in reloc_is_irelative()
236 irelative = GELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE; in reloc_is_irelative()
243 arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela *rela) in arch_plt_sym_val() argument
250 return rela->r_offset; in arch_plt_sym_val()
255 } else if (reloc_is_irelative(lte->ehdr.e_machine, rela)) { in arch_plt_sym_val()
260 assert(rela->r_addend != 0); in arch_plt_sym_val()
262 arch_addr_t res_addr = (arch_addr_t) (uintptr_t) rela->r_addend; in arch_plt_sym_val()
422 reloc_copy_if_irelative(GElf_Rela *rela, void *data) in reloc_copy_if_irelative() argument
426 return CBS_STOP_IF(reloc_is_irelative(lte->ehdr.e_machine, rela) in reloc_copy_if_irelative()
427 && VECT_PUSHBACK(&lte->plt_relocs, rela) < 0); in reloc_copy_if_irelative()
455 GElf_Addr rela, relasz; in arch_elf_init() local
459 && elf_load_dynamic_entry(lte, DT_RELA, &rela) == 0 in arch_elf_init()
461 && elf_get_section_covering(lte, rela, &rela_sec, &rela_shdr) == 0 in arch_elf_init()
645 GElf_Rela *rela = VECT_ELEMENT(&lte->plt_relocs, GElf_Rela, i); in arch_elf_add_func_entry() local
646 if (sym->st_value == arch_plt_sym_val(lte, i, rela)) { in arch_elf_add_func_entry()
653 = (arch_addr_t) (uintptr_t) rela->r_addend; in arch_elf_add_func_entry()
665 if (elf_add_plt_entry(proc, lte, name, rela, in arch_elf_add_func_entry()
692 const char *a_name, GElf_Rela *rela, size_t ndx, in arch_elf_add_plt_entry() argument
695 bool is_irelative = reloc_is_irelative(lte->ehdr.e_machine, rela); in arch_elf_add_plt_entry()
701 ? (GElf_Addr) rela->r_addend in arch_elf_add_plt_entry()
702 : arch_plt_sym_val(lte, ndx, rela); in arch_elf_add_plt_entry()
714 if (default_elf_add_plt_entry(proc, lte, name, rela, ndx, in arch_elf_add_plt_entry()
758 GElf_Addr plt_entry_addr = arch_plt_sym_val(lte, ndx, rela); in arch_elf_add_plt_entry()
759 GElf_Addr plt_slot_addr = rela->r_offset; in arch_elf_add_plt_entry()