Lines Matching full:addend

104 /* lrsel with rounding of addend to nearest 8k */
106 /* rrsel with rounding of addend to nearest 8k */
336 static Elf64_Word get_got(struct module *me, unsigned long value, long addend) in get_got() argument
341 value += addend; in get_got()
392 static Elf_Addr get_stub(struct module *me, unsigned long value, long addend, in get_stub() argument
420 //value = *(unsigned long *)((value + addend) & ~3); /* why? */ in get_stub()
425 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
426 stub->insns[1] |= reassemble_17(rrsel(value, addend) / 4); in get_stub()
450 d = get_got(me, value, addend); in get_stub()
470 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
471 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
478 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
479 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
500 Elf32_Sword addend; in apply_relocate_add() local
527 addend = rel[i].r_addend; in apply_relocate_add()
531 pr_debug("Symbol %s loc 0x%x val 0x%x addend 0x%x: %s\n", in apply_relocate_add()
533 (uint32_t)loc, val, addend, in apply_relocate_add()
551 *loc = fsel(val, addend); in apply_relocate_add()
555 *loc = fsel(val, addend); in apply_relocate_add()
559 val = lrsel(val, addend); in apply_relocate_add()
564 val = rrsel(val, addend); in apply_relocate_add()
572 *loc = fsel(val, addend); in apply_relocate_add()
576 *loc = fsel(val, addend); in apply_relocate_add()
580 val = lrsel(val - dp, addend); in apply_relocate_add()
585 val = rrsel(val - dp, addend); in apply_relocate_add()
591 val += addend; in apply_relocate_add()
596 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
606 val += addend; in apply_relocate_add()
611 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
620 *loc = val - dot - 8 + addend; in apply_relocate_add()
646 Elf64_Sxword addend; in apply_relocate_add() local
672 addend = rel[i].r_addend; in apply_relocate_add()
676 printk("Symbol %s loc %p val 0x%Lx addend 0x%Lx: %s\n", in apply_relocate_add()
678 loc, val, addend, in apply_relocate_add()
692 val = get_got(me, val, addend); in apply_relocate_add()
700 /* L(ltoff(val+addend)) */ in apply_relocate_add()
702 val = get_got(me, val, addend); in apply_relocate_add()
714 val += addend; in apply_relocate_add()
726 addend, ELF_STUB_DIRECT, in apply_relocate_add()
731 val += addend; in apply_relocate_add()
737 val = get_stub(me, val, addend, ELF_STUB_MILLI, in apply_relocate_add()
740 val = get_stub(me, val, addend, ELF_STUB_GOT, in apply_relocate_add()
745 addend, val); in apply_relocate_add()
752 *loc = val - dot - 8 + addend; in apply_relocate_add()
756 *loc64 = val - dot - 8 + addend; in apply_relocate_add()
760 *loc64 = val + addend; in apply_relocate_add()
767 *loc = fsel(val, addend); in apply_relocate_add()
771 *loc = fsel(val, addend); in apply_relocate_add()
775 if (within_module(val + addend, me)) { in apply_relocate_add()
776 *loc64 = get_fdesc(me, val+addend); in apply_relocate_add()
782 * module then val+addend is a pointer in apply_relocate_add()
787 *loc64 = val + addend; in apply_relocate_add()