Lines Matching refs:rela
67 const Elf_Rela *rela; in do_copy_relocations() local
74 relalim = (const Elf_Rela *)((const char *) dstobj->rela + in do_copy_relocations()
76 for (rela = dstobj->rela; rela < relalim; rela++) { in do_copy_relocations()
87 if (ELF_R_TYPE(rela->r_info) != R_PPC_COPY) { in do_copy_relocations()
91 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations()
92 dstsym = dstobj->symtab + ELF_R_SYM(rela->r_info); in do_copy_relocations()
96 req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); in do_copy_relocations()
131 const Elf_Rela *rela = NULL, *relalim; in reloc_non_plt_self() local
141 rela = (const Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in reloc_non_plt_self()
152 relalim = (const Elf_Rela *)((const char *)rela + relasz); in reloc_non_plt_self()
153 for (; rela < relalim; rela++) { in reloc_non_plt_self()
154 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self()
155 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self()
165 const Elf_Rela *rela, SymCache *cache, int flags, RtldLockState *lockstate) in reloc_nonplt_object() argument
175 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
183 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_nonplt_object()
200 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
228 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object()
230 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
237 if (*where != symval + rela->r_addend) { in reloc_nonplt_object()
238 *where = symval + rela->r_addend; in reloc_nonplt_object()
263 + (Elf_Addr *)(def->st_value + rela->r_addend in reloc_nonplt_object()
267 *where += (Elf_Addr)(def->st_value + rela->r_addend in reloc_nonplt_object()
271 symval = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object()
308 ELF_R_TYPE(rela->r_info)); in reloc_nonplt_object()
323 const Elf_Rela *rela; in reloc_non_plt() local
343 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_non_plt()
344 for (rela = obj->rela; rela < relalim; rela++) { in reloc_non_plt()
345 if (reloc_nonplt_object(obj_rtld, obj, rela, cache, flags, in reloc_non_plt()
374 reloc_plt_object(Obj_Entry *obj, const Elf_Rela *rela) in reloc_plt_object() argument
376 Elf_Word *where = (Elf_Word *)(obj->relocbase + rela->r_offset); in reloc_plt_object()
382 reloff = rela - obj->pltrela; in reloc_plt_object()
435 const Elf_Rela *rela; in reloc_plt() local
442 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_plt()
443 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_plt()
454 assert(ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT); in reloc_plt()
456 if (reloc_plt_object(obj, rela) < 0) { in reloc_plt()
480 const Elf_Rela *rela; in reloc_jmpslots() local
487 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_jmpslots()
489 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) in reloc_jmpslots()
491 assert(ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT); in reloc_jmpslots()
492 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots()
493 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_jmpslots()
512 (const Elf_Rel *) rela); in reloc_jmpslots()
530 const Elf_Rela *rela = (const Elf_Rela *) rel; in reloc_jmpslot() local
571 int reloff = rela - obj->pltrela; in reloc_jmpslot()
612 const Elf_Rela *rela; in reloc_iresolve() local
618 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_iresolve()
619 for (rela = obj->rela; rela < relalim; rela++) { in reloc_iresolve()
620 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_iresolve()
621 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve()
622 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve()
636 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_iresolve()
637 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_iresolve()
638 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve()
639 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve()
665 const Elf_Rela *rela; in reloc_gnu_ifunc() local
673 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_gnu_ifunc()
674 if (ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT) { in reloc_gnu_ifunc()
675 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc()
676 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_gnu_ifunc()
686 (const Elf_Rel *)rela); in reloc_gnu_ifunc()