Lines Matching refs:rela

66     const Elf_Rela *rela;  in do_copy_relocations()  local
70 relalim = (const Elf_Rela *)((const char *) dstobj->rela + dstobj->relasize); in do_copy_relocations()
71 for (rela = dstobj->rela; rela < relalim; rela++) { in do_copy_relocations()
72 if (ELF_R_TYPE(rela->r_info) == R_X86_64_COPY) { in do_copy_relocations()
83 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations()
84 dstsym = dstobj->symtab + ELF_R_SYM(rela->r_info); in do_copy_relocations()
88 req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); in do_copy_relocations()
131 const Elf_Rela *rela; in reloc_non_plt() local
153 relalim = (const Elf_Rela *)((const char*)obj->rela + obj->relasize); in reloc_non_plt()
154 for (rela = obj->rela; rela < relalim; rela++) { in reloc_non_plt()
159 switch (ELF_R_TYPE(rela->r_info)) { in reloc_non_plt()
168 def = find_symdef(ELF_R_SYM(rela->r_info), obj, in reloc_non_plt()
183 switch (ELF_R_TYPE(rela->r_info)) { in reloc_non_plt()
215 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt()
218 switch (ELF_R_TYPE(rela->r_info)) { in reloc_non_plt()
222 *where = symval + rela->r_addend; in reloc_non_plt()
231 rela->r_addend - (Elf_Addr)where); in reloc_non_plt()
269 rela->r_addend); in reloc_non_plt()
290 defobj->tlsoffset + rela->r_addend); in reloc_non_plt()
296 *where += (Elf_Addr)(def->st_value + rela->r_addend); in reloc_non_plt()
300 rela->r_addend); in reloc_non_plt()
303 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt()
317 (unsigned int)ELF_R_TYPE(rela->r_info)); in reloc_non_plt()
332 const Elf_Rela *rela; in reloc_plt() local
335 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_plt()
338 switch(ELF_R_TYPE(rela->r_info)) { in reloc_plt()
341 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt()
351 (unsigned int)ELF_R_TYPE(rela->r_info)); in reloc_plt()
363 const Elf_Rela *rela; in reloc_jmpslots() local
368 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_jmpslots()
373 switch (ELF_R_TYPE(rela->r_info)) { in reloc_jmpslots()
375 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots()
376 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_jmpslots()
384 target = (Elf_Addr)(defobj->relocbase + def->st_value + rela->r_addend); in reloc_jmpslots()
385 reloc_jmpslot(where, target, defobj, obj, (const Elf_Rel *)rela); in reloc_jmpslots()
393 (unsigned int)ELF_R_TYPE(rela->r_info)); in reloc_jmpslots()
417 reloc_iresolve_one(Obj_Entry *obj, const Elf_Rela *rela, in reloc_iresolve_one() argument
422 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one()
423 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one()
434 const Elf_Rela *rela; in reloc_iresolve() local
441 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_iresolve()
442 if (ELF_R_TYPE(rela->r_info) == R_X86_64_IRELATIVE) in reloc_iresolve()
443 reloc_iresolve_one(obj, rela, lockstate); in reloc_iresolve()
452 const Elf_Rela *rela; in reloc_iresolve_nonplt() local
457 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_iresolve_nonplt()
458 for (rela = obj->rela; rela < relalim; rela++) { in reloc_iresolve_nonplt()
459 if (ELF_R_TYPE(rela->r_info) == R_X86_64_IRELATIVE) in reloc_iresolve_nonplt()
460 reloc_iresolve_one(obj, rela, lockstate); in reloc_iresolve_nonplt()
469 const Elf_Rela *rela; in reloc_gnu_ifunc() local
474 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_gnu_ifunc()
479 switch (ELF_R_TYPE(rela->r_info)) { in reloc_gnu_ifunc()
481 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc()
482 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_gnu_ifunc()
491 reloc_jmpslot(where, target, defobj, obj, (const Elf_Rel *)rela); in reloc_gnu_ifunc()