Home | History | Annotate | Download | only in ppc

Lines Matching defs:rela

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