Lines Matching refs:location
43 static int apply_r_larch_none(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_none() argument
49 static int apply_r_larch_error(struct module *me, u32 *location, Elf_Addr v, in apply_r_larch_error() argument
56 static int apply_r_larch_32(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_32() argument
59 *location = v; in apply_r_larch_32()
63 static int apply_r_larch_64(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_64() argument
66 *(Elf_Addr *)location = v; in apply_r_larch_64()
70 static int apply_r_larch_sop_push_pcrel(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop_push_pcrel() argument
73 return rela_stack_push(v - (u64)location, rela_stack, rela_stack_top); in apply_r_larch_sop_push_pcrel()
76 static int apply_r_larch_sop_push_absolute(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop_push_absolute() argument
82 static int apply_r_larch_sop_push_dup(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop_push_dup() argument
101 static int apply_r_larch_sop_push_plt_pcrel(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop_push_plt_pcrel() argument
104 ptrdiff_t offset = (void *)v - (void *)location; in apply_r_larch_sop_push_plt_pcrel()
112 return apply_r_larch_sop_push_pcrel(mod, location, v, rela_stack, rela_stack_top, type); in apply_r_larch_sop_push_plt_pcrel()
115 static int apply_r_larch_sop(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop() argument
161 static int apply_r_larch_sop_imm_field(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_sop_imm_field() argument
166 union loongarch_instruction *insn = (union loongarch_instruction *)location; in apply_r_larch_sop_imm_field()
234 *location = (u32)opr1; in apply_r_larch_sop_imm_field()
252 static int apply_r_larch_add_sub(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_add_sub() argument
257 *(s32 *)location += v; in apply_r_larch_add_sub()
260 *(s64 *)location += v; in apply_r_larch_add_sub()
263 *(s32 *)location -= v; in apply_r_larch_add_sub()
266 *(s64 *)location -= v; in apply_r_larch_add_sub()
274 static int apply_r_larch_b26(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_b26() argument
277 ptrdiff_t offset = (void *)v - (void *)location; in apply_r_larch_b26()
278 union loongarch_instruction *insn = (union loongarch_instruction *)location; in apply_r_larch_b26()
286 offset = (void *)v - (void *)location; in apply_r_larch_b26()
307 static int apply_r_larch_pcala(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_pcala() argument
310 union loongarch_instruction *insn = (union loongarch_instruction *)location; in apply_r_larch_pcala()
313 (void *)((Elf_Addr)location & ~0xfff); in apply_r_larch_pcala()
314 Elf_Addr anchor = (((Elf_Addr)location) & ~0xfff) + offset_hi20; in apply_r_larch_pcala()
341 static int apply_r_larch_got_pc(struct module *mod, u32 *location, Elf_Addr v, in apply_r_larch_got_pc() argument
361 return apply_r_larch_pcala(mod, location, got, rela_stack, rela_stack_top, type); in apply_r_larch_got_pc()
374 typedef int (*reloc_rela_handler)(struct module *mod, u32 *location, Elf_Addr v,
407 void *location; in apply_relocate_add() local
418 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr + rel[i].r_offset; in apply_relocate_add()
443 sym->st_value, rel[i].r_addend, (u64)location); in apply_relocate_add()
446 err = handler(mod, location, v, rela_stack, &rela_stack_top, type); in apply_relocate_add()