Lines Matching refs:uint64_t
54 #define MAX_LTOFF ((uint64_t) (1 << 22)) /* max. allowable linkage-table offset */
141 static inline uint64_t
144 return (uint64_t) insn & ~0xfUL; in bundle()
150 return (uint64_t) insn & 0x3; in slot()
154 apply_imm64 (struct module *mod, struct insn *insn, uint64_t val) in apply_imm64()
166 apply_imm60 (struct module *mod, struct insn *insn, uint64_t val) in apply_imm60()
173 if (val + ((uint64_t) 1 << 59) >= (1UL << 60)) { in apply_imm60()
183 apply_imm22 (struct module *mod, struct insn *insn, uint64_t val) in apply_imm22()
198 apply_imm21b (struct module *mod, struct insn *insn, uint64_t val) in apply_imm21b()
245 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[1]; in plt_target()
294 uint64_t b0, b1, *b = (uint64_t *) plt->bundle[0]; in plt_target()
495 in_init (const struct module *mod, uint64_t addr) in in_init()
497 return addr - (uint64_t) mod->module_init < mod->init_size; in in_init()
501 in_core (const struct module *mod, uint64_t addr) in in_core()
503 return addr - (uint64_t) mod->module_core < mod->core_size; in in_core()
507 is_internal (const struct module *mod, uint64_t value) in is_internal()
515 static uint64_t
516 get_ltoff (struct module *mod, uint64_t value, int *okp) in get_ltoff()
534 return (uint64_t) e - mod->arch.gp; in get_ltoff()
538 gp_addressable (struct module *mod, uint64_t value) in gp_addressable()
544 static uint64_t
545 get_plt (struct module *mod, const struct insn *insn, uint64_t value, int *okp) in get_plt()
548 uint64_t target_ip, target_gp; in get_plt()
553 if (in_init(mod, (uint64_t) insn)) { in get_plt()
562 target_ip = ((uint64_t *) value)[0]; in get_plt()
563 target_gp = ((uint64_t *) value)[1]; in get_plt()
586 return (uint64_t) plt; in get_plt()
590 static uint64_t
591 get_fdesc (struct module *mod, uint64_t value, int *okp) in get_fdesc()
613 return (uint64_t)fdesc; in get_fdesc()
614 if ((uint64_t) ++fdesc >= mod->arch.opd->sh_addr + mod->arch.opd->sh_size) in get_fdesc()
621 return (uint64_t) fdesc; in get_fdesc()
625 do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, in do_reloc()
630 uint64_t val; in do_reloc()
650 if ((in_init(mod, val) && in_core(mod, (uint64_t)location)) || in do_reloc()
651 (in_core(mod, val) && in_init(mod, (uint64_t)location))) { in do_reloc()
656 uint64_t delta = ((int64_t)val - (int64_t)location) / 16; in do_reloc()
672 val -= (uint64_t) location; in do_reloc()
686 val -= (uint64_t) (in_init(mod, val) ? mod->module_init : mod->module_core); in do_reloc()
776 case RF_64LSB: put_unaligned(val, (uint64_t *) location); break; in do_reloc()
820 uint64_t gp; in apply_relocate_add()
829 gp = (uint64_t) mod->module_core + ((gp + 7) & -8); in apply_relocate_add()