Lines Matching refs:val
71 static u64 do_reloc(enum aarch64_reloc_op reloc_op, __le32 *place, u64 val) in do_reloc() argument
75 return val; in do_reloc()
77 return val - (u64)place; in do_reloc()
79 return (val & ~0xfff) - ((u64)place & ~0xfff); in do_reloc()
88 static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len) in reloc_data() argument
90 s64 sval = do_reloc(op, place, val); in reloc_data()
152 static int reloc_insn_movw(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_movw() argument
159 sval = do_reloc(op, place, val); in reloc_insn_movw()
193 static int reloc_insn_imm(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_imm() argument
201 sval = do_reloc(op, place, val); in reloc_insn_imm()
229 __le32 *place, u64 val) in reloc_insn_adrp() argument
234 return reloc_insn_imm(RELOC_OP_PAGE, place, val, 12, 21, in reloc_insn_adrp()
238 if (!reloc_insn_imm(RELOC_OP_PREL, place, val & ~0xfff, 0, 21, in reloc_insn_adrp()
244 val = module_emit_veneer_for_adrp(mod, sechdrs, place, val & ~0xfff); in reloc_insn_adrp()
245 if (!val) in reloc_insn_adrp()
247 insn = aarch64_insn_gen_branch_imm((u64)place, val, in reloc_insn_adrp()
266 u64 val; in apply_relocate_add() local
279 val = sym->st_value + rel[i].r_addend; in apply_relocate_add()
295 ovf = reloc_data(RELOC_OP_ABS, loc, val, 64); in apply_relocate_add()
298 ovf = reloc_data(RELOC_OP_ABS, loc, val, 32); in apply_relocate_add()
301 ovf = reloc_data(RELOC_OP_ABS, loc, val, 16); in apply_relocate_add()
305 ovf = reloc_data(RELOC_OP_PREL, loc, val, 64); in apply_relocate_add()
308 ovf = reloc_data(RELOC_OP_PREL, loc, val, 32); in apply_relocate_add()
311 ovf = reloc_data(RELOC_OP_PREL, loc, val, 16); in apply_relocate_add()
319 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 0, in apply_relocate_add()
326 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 16, in apply_relocate_add()
333 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 32, in apply_relocate_add()
339 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 48, in apply_relocate_add()
343 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 0, in apply_relocate_add()
347 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 16, in apply_relocate_add()
351 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 32, in apply_relocate_add()
356 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 0, in apply_relocate_add()
360 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 0, in apply_relocate_add()
365 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 16, in apply_relocate_add()
369 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 16, in apply_relocate_add()
374 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 32, in apply_relocate_add()
378 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 32, in apply_relocate_add()
384 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 48, in apply_relocate_add()
390 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 19, in apply_relocate_add()
394 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 0, 21, in apply_relocate_add()
401 ovf = reloc_insn_adrp(me, sechdrs, loc, val); in apply_relocate_add()
408 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 0, 12, in apply_relocate_add()
413 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 1, 11, in apply_relocate_add()
418 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 2, 10, in apply_relocate_add()
423 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 3, 9, in apply_relocate_add()
428 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 4, 8, in apply_relocate_add()
432 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 14, in apply_relocate_add()
436 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 19, in apply_relocate_add()
441 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 26, in apply_relocate_add()
446 val = module_emit_plt_entry(me, sechdrs, loc, &rel[i], sym); in apply_relocate_add()
447 if (!val) in apply_relocate_add()
449 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, in apply_relocate_add()
469 me->name, (int)ELF64_R_TYPE(rel[i].r_info), val); in apply_relocate_add()