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()
487 in_init (const struct module *mod, uint64_t addr) in in_init()
489 return addr - (uint64_t) mod->module_init < mod->init_size; in in_init()
493 in_core (const struct module *mod, uint64_t addr) in in_core()
495 return addr - (uint64_t) mod->module_core < mod->core_size; in in_core()
499 is_internal (const struct module *mod, uint64_t value) in is_internal()
507 static uint64_t
508 get_ltoff (struct module *mod, uint64_t value, int *okp) in get_ltoff()
526 return (uint64_t) e - mod->arch.gp; in get_ltoff()
530 gp_addressable (struct module *mod, uint64_t value) in gp_addressable()
536 static uint64_t
537 get_plt (struct module *mod, const struct insn *insn, uint64_t value, int *okp) in get_plt()
540 uint64_t target_ip, target_gp; in get_plt()
545 if (in_init(mod, (uint64_t) insn)) { in get_plt()
554 target_ip = ((uint64_t *) value)[0]; in get_plt()
555 target_gp = ((uint64_t *) value)[1]; in get_plt()
578 return (uint64_t) plt; in get_plt()
582 static uint64_t
583 get_fdesc (struct module *mod, uint64_t value, int *okp) in get_fdesc()
605 return (uint64_t)fdesc; in get_fdesc()
606 if ((uint64_t) ++fdesc >= mod->arch.opd->sh_addr + mod->arch.opd->sh_size) in get_fdesc()
613 return (uint64_t) fdesc; in get_fdesc()
617 do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, in do_reloc()
622 uint64_t val; in do_reloc()
642 if ((in_init(mod, val) && in_core(mod, (uint64_t)location)) || in do_reloc()
643 (in_core(mod, val) && in_init(mod, (uint64_t)location))) { in do_reloc()
648 uint64_t delta = ((int64_t)val - (int64_t)location) / 16; in do_reloc()
664 val -= (uint64_t) location; in do_reloc()
678 val -= (uint64_t) (in_init(mod, val) ? mod->module_init : mod->module_core); in do_reloc()
768 case RF_64LSB: put_unaligned(val, (uint64_t *) location); break; in do_reloc()
812 uint64_t gp; in apply_relocate_add()
821 gp = (uint64_t) mod->module_core + ((gp + 7) & -8); in apply_relocate_add()