Lines Matching full:addend

105 /* lrsel with rounding of addend to nearest 8k */
107 /* rrsel with rounding of addend to nearest 8k */
348 static Elf64_Word get_got(struct module *me, unsigned long value, long addend) in get_got() argument
353 value += addend; in get_got()
404 static Elf_Addr get_stub(struct module *me, unsigned long value, long addend, in get_stub() argument
432 //value = *(unsigned long *)((value + addend) & ~3); /* why? */ in get_stub()
437 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
438 stub->insns[1] |= reassemble_17(rrsel(value, addend) / 4); in get_stub()
462 d = get_got(me, value, addend); in get_stub()
482 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
483 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
490 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
491 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
512 Elf32_Sword addend; in apply_relocate_add() local
539 addend = rel[i].r_addend; in apply_relocate_add()
543 pr_debug("Symbol %s loc 0x%x val 0x%x addend 0x%x: %s\n", in apply_relocate_add()
545 (uint32_t)loc, val, addend, in apply_relocate_add()
563 *loc = fsel(val, addend); in apply_relocate_add()
567 *loc = fsel(val, addend); in apply_relocate_add()
571 val = lrsel(val, addend); in apply_relocate_add()
576 val = rrsel(val, addend); in apply_relocate_add()
584 *loc = fsel(val, addend); in apply_relocate_add()
588 *loc = fsel(val, addend); in apply_relocate_add()
592 val = lrsel(val - dp, addend); in apply_relocate_add()
597 val = rrsel(val - dp, addend); in apply_relocate_add()
603 val += addend; in apply_relocate_add()
608 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
618 val += addend; in apply_relocate_add()
623 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
632 *loc = val - dot - 8 + addend; in apply_relocate_add()
658 Elf64_Sxword addend; in apply_relocate_add() local
684 addend = rel[i].r_addend; in apply_relocate_add()
688 printk("Symbol %s loc %p val 0x%Lx addend 0x%Lx: %s\n", in apply_relocate_add()
690 loc, val, addend, in apply_relocate_add()
704 val = get_got(me, val, addend); in apply_relocate_add()
712 /* L(ltoff(val+addend)) */ in apply_relocate_add()
714 val = get_got(me, val, addend); in apply_relocate_add()
726 val += addend; in apply_relocate_add()
738 addend, ELF_STUB_DIRECT, in apply_relocate_add()
743 val += addend; in apply_relocate_add()
749 val = get_stub(me, val, addend, ELF_STUB_MILLI, in apply_relocate_add()
752 val = get_stub(me, val, addend, ELF_STUB_GOT, in apply_relocate_add()
757 addend, val); in apply_relocate_add()
764 *loc = val - dot - 8 + addend; in apply_relocate_add()
768 *loc64 = val - dot - 8 + addend; in apply_relocate_add()
772 *loc64 = val + addend; in apply_relocate_add()
779 *loc = fsel(val, addend); in apply_relocate_add()
783 *loc = fsel(val, addend); in apply_relocate_add()
787 if (within_module(val + addend, me)) { in apply_relocate_add()
788 *loc64 = get_fdesc(me, val+addend); in apply_relocate_add()
794 * module then val+addend is a pointer in apply_relocate_add()
799 *loc64 = val + addend; in apply_relocate_add()