Lines Matching refs:rela

81 	const Elf_Rela *rela;  in do_copy_relocations()  local
96 relalim = (const Elf_Rela *)((const char *)dstobj->rela + in do_copy_relocations()
98 for (rela = dstobj->rela; rela < relalim; rela++) { in do_copy_relocations()
99 if (ELF_R_TYPE(rela->r_info) != R_RISCV_COPY) in do_copy_relocations()
102 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations()
103 dstsym = dstobj->symtab + ELF_R_SYM(rela->r_info); in do_copy_relocations()
108 req.ventry = fetch_ventry(dstobj, ELF_R_SYM(rela->r_info)); in do_copy_relocations()
141 const Elf_Rela *rela; in reloc_plt() local
145 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_plt()
148 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt()
150 switch (ELF_R_TYPE(rela->r_info)) { in reloc_plt()
159 (unsigned int)ELF_R_TYPE(rela->r_info)); in reloc_plt()
175 const Elf_Rela *rela; in reloc_jmpslots() local
180 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_jmpslots()
183 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots()
184 switch(ELF_R_TYPE(rela->r_info)) { in reloc_jmpslots()
186 def = find_symdef(ELF_R_SYM(rela->r_info), obj, in reloc_jmpslots()
202 (unsigned int)ELF_R_TYPE(rela->r_info)); in reloc_jmpslots()
211 reloc_iresolve_one(Obj_Entry *obj, const Elf_Rela *rela, in reloc_iresolve_one() argument
216 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one()
217 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one()
228 const Elf_Rela *rela; in reloc_iresolve() local
236 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_iresolve()
237 if (ELF_R_TYPE(rela->r_info) == R_RISCV_IRELATIVE) in reloc_iresolve()
238 reloc_iresolve_one(obj, rela, lockstate); in reloc_iresolve()
247 const Elf_Rela *rela; in reloc_iresolve_nonplt() local
253 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_iresolve_nonplt()
254 for (rela = obj->rela; rela < relalim; rela++) { in reloc_iresolve_nonplt()
255 if (ELF_R_TYPE(rela->r_info) == R_RISCV_IRELATIVE) in reloc_iresolve_nonplt()
256 reloc_iresolve_one(obj, rela, lockstate); in reloc_iresolve_nonplt()
266 const Elf_Rela *rela; in reloc_gnu_ifunc() local
275 for (rela = obj->pltrela; rela < relalim; rela++) { in reloc_gnu_ifunc()
276 if (ELF_R_TYPE(rela->r_info) == R_RISCV_JUMP_SLOT) { in reloc_gnu_ifunc()
277 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc()
278 def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj, in reloc_gnu_ifunc()
289 (const Elf_Rel *)rela); in reloc_gnu_ifunc()
319 const Elf_Rela *rela; in reloc_non_plt() local
335 relalim = (const Elf_Rela *)((const char *)obj->rela + obj->relasize); in reloc_non_plt()
336 for (rela = obj->rela; rela < relalim; rela++) { in reloc_non_plt()
337 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt()
338 symnum = ELF_R_SYM(rela->r_info); in reloc_non_plt()
340 switch (ELF_R_TYPE(rela->r_info)) { in reloc_non_plt()
372 *where = symval + rela->r_addend; in reloc_non_plt()
401 *where += (Elf_Addr)(def->st_value + rela->r_addend in reloc_non_plt()
428 *where = (def->st_value + rela->r_addend + in reloc_non_plt()
432 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt()
439 obj->path, ELF_R_TYPE(rela->r_info)); in reloc_non_plt()