Lines Matching refs:rela
62 const Elf_Rela *rela; in do_copy_relocations() local
69 relalim = (const Elf_Rela *)((const char *) dstobj->rela + in do_copy_relocations()
71 for (rela = dstobj->rela; rela < relalim; rela++) { in do_copy_relocations()
82 if (ELF_R_TYPE(rela->r_info) != R_PPC_COPY) { in do_copy_relocations()
86 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations()
87 dstsym = dstobj->symtab + ELF_R_SYM(rela->r_info); in do_copy_relocations()
91 req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); in do_copy_relocations()
126 const Elf_Rela *rela = NULL, *relalim; in reloc_non_plt_self() local
136 rela = (const Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in reloc_non_plt_self()
147 relalim = (const Elf_Rela *)((const char *)rela + relasz); in reloc_non_plt_self()
148 for (; rela < relalim; rela++) { in reloc_non_plt_self()
149 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self()
150 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self()
160 const Elf_Rela *rela, SymCache *cache, int flags, RtldLockState *lockstate) in reloc_nonplt_object() argument
170 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
178 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_nonplt_object()
194 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
223 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object()
225 switch (ELF_R_TYPE(rela->r_info)) { in reloc_nonplt_object()
232 if (*where != symval + rela->r_addend) { in reloc_nonplt_object()
233 *where = symval + rela->r_addend; in reloc_nonplt_object()
258 + (Elf_Addr *)(def->st_value + rela->r_addend in reloc_nonplt_object()
262 *where += (Elf_Addr)(def->st_value + rela->r_addend in reloc_nonplt_object()
266 symval = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object()
303 ELF_R_TYPE(rela->r_info)); in reloc_nonplt_object()
318 const Elf_Rela *rela; in reloc_non_plt() local
341 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_non_plt()
342 for (rela = obj->rela; rela < relalim; rela++) { in reloc_non_plt()
343 if (reloc_nonplt_object(obj_rtld, obj, rela, cache, flags, in reloc_non_plt()
373 reloc_plt_object(Obj_Entry *obj, const Elf_Rela *rela) in reloc_plt_object() argument
375 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt_object()
378 reloff = rela - obj->pltrela; in reloc_plt_object()
403 const Elf_Rela *rela; in reloc_plt() local
408 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_plt()
411 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_plt()
422 assert(ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT); in reloc_plt()
424 if (reloc_plt_object(obj, rela) < 0) { in reloc_plt()
441 const Elf_Rela *rela; in reloc_jmpslots() local
448 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_jmpslots()
450 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) in reloc_jmpslots()
452 assert(ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT); in reloc_jmpslots()
453 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots()
454 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_jmpslots()
477 (const Elf_Rel *) rela); in reloc_jmpslots()
571 const Elf_Rela *rela; in reloc_iresolve()
577 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_iresolve()
578 for (rela = obj->rela; rela < relalim; rela++) { in reloc_iresolve()
579 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_iresolve()
580 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve()
581 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve()
595 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_iresolve()
596 if (ELF_R_TYPE(rela->r_info) == R_PPC_IRELATIVE) { in reloc_iresolve()
597 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve()
598 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve()
624 const Elf_Rela *rela; in reloc_gnu_ifunc()
632 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_gnu_ifunc()
633 if (ELF_R_TYPE(rela->r_info) == R_PPC_JMP_SLOT) { in reloc_gnu_ifunc()
634 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc()
635 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_gnu_ifunc()
645 (const Elf_Rel *)rela); in reloc_gnu_ifunc()