Lines Matching full:addend
124 /* lrsel with rounding of addend to nearest 8k */
126 /* rrsel with rounding of addend to nearest 8k */
365 static Elf64_Word get_got(struct module *me, unsigned long value, long addend) in get_got() argument
370 value += addend; in get_got()
421 static Elf_Addr get_stub(struct module *me, unsigned long value, long addend, in get_stub() argument
449 //value = *(unsigned long *)((value + addend) & ~3); /* why? */ in get_stub()
454 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
455 stub->insns[1] |= reassemble_17(rrsel(value, addend) / 4); in get_stub()
479 d = get_got(me, value, addend); in get_stub()
499 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
500 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
507 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
508 stub->insns[1] |= reassemble_14(rrsel(value, addend)); in get_stub()
529 Elf32_Sword addend; in apply_relocate_add() local
556 addend = rel[i].r_addend; in apply_relocate_add()
560 pr_debug("Symbol %s loc 0x%x val 0x%x addend 0x%x: %s\n", in apply_relocate_add()
562 (uint32_t)loc, val, addend, in apply_relocate_add()
580 *loc = fsel(val, addend); in apply_relocate_add()
584 *loc = fsel(val, addend); in apply_relocate_add()
588 val = lrsel(val, addend); in apply_relocate_add()
593 val = rrsel(val, addend); in apply_relocate_add()
601 *loc = fsel(val, addend); in apply_relocate_add()
605 *loc = fsel(val, addend); in apply_relocate_add()
609 val = lrsel(val - dp, addend); in apply_relocate_add()
614 val = rrsel(val - dp, addend); in apply_relocate_add()
620 val += addend; in apply_relocate_add()
625 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
635 val += addend; in apply_relocate_add()
640 val = get_stub(me, sym->st_value, addend, in apply_relocate_add()
649 *loc = val - dot - 8 + addend; in apply_relocate_add()
675 Elf64_Sxword addend; in apply_relocate_add() local
701 addend = rel[i].r_addend; in apply_relocate_add()
705 printk("Symbol %s loc %p val 0x%Lx addend 0x%Lx: %s\n", in apply_relocate_add()
707 loc, val, addend, in apply_relocate_add()
721 val = get_got(me, val, addend); in apply_relocate_add()
729 /* L(ltoff(val+addend)) */ in apply_relocate_add()
731 val = get_got(me, val, addend); in apply_relocate_add()
743 val += addend; in apply_relocate_add()
755 addend, ELF_STUB_DIRECT, in apply_relocate_add()
760 val += addend; in apply_relocate_add()
766 val = get_stub(me, val, addend, ELF_STUB_MILLI, in apply_relocate_add()
769 val = get_stub(me, val, addend, ELF_STUB_GOT, in apply_relocate_add()
774 addend, val); in apply_relocate_add()
781 *loc = val - dot - 8 + addend; in apply_relocate_add()
785 *loc64 = val - dot - 8 + addend; in apply_relocate_add()
789 *loc64 = val + addend; in apply_relocate_add()
796 *loc = fsel(val, addend); in apply_relocate_add()
800 *loc = fsel(val, addend); in apply_relocate_add()
804 if(in_local(me, (void *)(val + addend))) { in apply_relocate_add()
805 *loc64 = get_fdesc(me, val+addend); in apply_relocate_add()
811 * module then val+addend is a pointer in apply_relocate_add()
816 *loc64 = val + addend; in apply_relocate_add()