Lines Matching full:addend
261 uint32_t Type, int64_t Addend, in resolveX86_64Relocation() argument
270 Value += Addend; in resolveX86_64Relocation()
279 Value += Addend; in resolveX86_64Relocation()
290 Value + Addend; in resolveX86_64Relocation()
291 LLVM_DEBUG(dbgs() << "Writing " << format("%p", (Value + Addend)) << " at " in resolveX86_64Relocation()
297 Value += Addend; in resolveX86_64Relocation()
310 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
318 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
327 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
344 int64_t GOTOffset = Value - GOTBase + Addend; in resolveX86_64Relocation()
360 Value + Addend; in resolveX86_64Relocation()
367 int64_t RealValue = Value + Addend; in resolveX86_64Relocation()
379 uint32_t Type, int32_t Addend) { in resolveX86Relocation() argument
383 Value + Addend; in resolveX86Relocation()
392 uint32_t RealOffset = Value + Addend - FinalAddress; in resolveX86Relocation()
407 uint32_t Type, int64_t Addend) { in resolveAArch64Relocation() argument
418 << format("%x", Type) << " Addend: 0x" in resolveAArch64Relocation()
419 << format("%llx", Addend) << "\n"); in resolveAArch64Relocation()
428 uint64_t Result = Value + Addend; in resolveAArch64Relocation()
435 uint64_t Result = Value + Addend; in resolveAArch64Relocation()
442 write(isBE, TargetPtr, Value + Addend); in resolveAArch64Relocation()
445 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
452 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
459 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
466 write(isBE, TargetPtr, Value + Addend - FinalAddress); in resolveAArch64Relocation()
469 uint64_t BranchImm = Value + Addend - FinalAddress; in resolveAArch64Relocation()
478 uint64_t BranchImm = Value + Addend - FinalAddress; in resolveAArch64Relocation()
493 uint64_t BranchImm = Value + Addend - FinalAddress; in resolveAArch64Relocation()
501 or32le(TargetPtr, ((Value + Addend) & 0xFFFF000000000000) >> 43); in resolveAArch64Relocation()
504 or32le(TargetPtr, ((Value + Addend) & 0xFFFF00000000) >> 27); in resolveAArch64Relocation()
507 or32le(TargetPtr, ((Value + Addend) & 0xFFFF0000) >> 11); in resolveAArch64Relocation()
510 or32le(TargetPtr, ((Value + Addend) & 0xFFFF) << 5); in resolveAArch64Relocation()
515 ((Value + Addend) & ~0xfffULL) - (FinalAddress & ~0xfffULL); in resolveAArch64Relocation()
529 or32AArch64Imm(TargetPtr, Value + Addend); in resolveAArch64Relocation()
535 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 0, 11)); in resolveAArch64Relocation()
541 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 1, 11)); in resolveAArch64Relocation()
547 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 2, 11)); in resolveAArch64Relocation()
553 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 3, 11)); in resolveAArch64Relocation()
559 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 4, 11)); in resolveAArch64Relocation()
563 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
576 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
593 uint32_t Type, int32_t Addend) { in resolveARMRelocation() argument
598 Value += Addend; in resolveARMRelocation()
605 << " Addend: " << format("%x", Addend) << "\n"); in resolveARMRelocation()
699 Rel.Addend = 0x8000; in findPPC64TOCSection()
743 int64_t Addend; in findOPDEntrySection() local
745 Addend = *AddendOrErr; in findOPDEntrySection()
761 if (Rel.Addend != (int64_t)TargetSymbolOffset) in findOPDEntrySection()
777 Rel.Addend = (intptr_t)Addend; in findOPDEntrySection()
817 uint32_t Type, int64_t Addend) { in resolvePPC32Relocation() argument
824 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC32Relocation()
827 writeInt16BE(LocalAddress, applyPPChi(Value + Addend)); in resolvePPC32Relocation()
830 writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); in resolvePPC32Relocation()
837 uint32_t Type, int64_t Addend) { in resolvePPC64Relocation() argument
844 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC64Relocation()
847 writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3); in resolvePPC64Relocation()
850 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC64Relocation()
853 writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3); in resolvePPC64Relocation()
857 writeInt16BE(LocalAddress, applyPPChi(Value + Addend)); in resolvePPC64Relocation()
861 writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); in resolvePPC64Relocation()
864 writeInt16BE(LocalAddress, applyPPChigher(Value + Addend)); in resolvePPC64Relocation()
867 writeInt16BE(LocalAddress, applyPPChighera(Value + Addend)); in resolvePPC64Relocation()
870 writeInt16BE(LocalAddress, applyPPChighest(Value + Addend)); in resolvePPC64Relocation()
873 writeInt16BE(LocalAddress, applyPPChighesta(Value + Addend)); in resolvePPC64Relocation()
876 assert(((Value + Addend) & 3) == 0); in resolvePPC64Relocation()
879 writeInt16BE(LocalAddress + 2, (aalk & 3) | ((Value + Addend) & 0xfffc)); in resolvePPC64Relocation()
883 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
888 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
893 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
897 int64_t Result = static_cast<int64_t>(Value + Addend); in resolvePPC64Relocation()
904 int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); in resolvePPC64Relocation()
913 int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); in resolvePPC64Relocation()
920 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
924 writeInt64BE(LocalAddress, Value + Addend); in resolvePPC64Relocation()
931 uint32_t Type, int64_t Addend) { in resolveSystemZRelocation() argument
939 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
946 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
952 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
958 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
964 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
969 *LocalAddress = (uint8_t)(Value + Addend); in resolveSystemZRelocation()
972 writeInt16BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
975 writeInt32BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
978 writeInt64BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
985 uint32_t Type, int64_t Addend) { in resolveBPFRelocation() argument
998 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
999 LLVM_DEBUG(dbgs() << "Writing " << format("%p", (Value + Addend)) << " at " in resolveBPFRelocation()
1004 Value += Addend; in resolveBPFRelocation()
1031 // the symbol resides (RE.Addend provides additional information about the
1037 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
1043 uint32_t Type, int64_t Addend, in resolveRelocation() argument
1047 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
1051 (uint32_t)(Addend & 0xffffffffL)); in resolveRelocation()
1055 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1062 (uint32_t)(Addend & 0xffffffffL)); in resolveRelocation()
1066 resolvePPC32Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1070 resolvePPC64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1073 resolveSystemZRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1077 resolveBPFRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1089 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend, Value.Offset); in processSimpleRelocation()
1159 if (!isInt<28>(TargetOffset + Value.Addend - SourceOffset)) in resolveAArch64ShortBranch()
1162 RelocationEntry RE(SectionID, SourceOffset, RelI->getType(), Value.Addend); in resolveAArch64ShortBranch()
1195 ELF::R_AARCH64_MOVW_UABS_G3, Value.Addend); in resolveAArch64Branch()
1198 ELF::R_AARCH64_MOVW_UABS_G2_NC, Value.Addend); in resolveAArch64Branch()
1201 ELF::R_AARCH64_MOVW_UABS_G1_NC, Value.Addend); in resolveAArch64Branch()
1204 ELF::R_AARCH64_MOVW_UABS_G0_NC, Value.Addend); in resolveAArch64Branch()
1230 int64_t Addend = 0; in processRelocationRef() local
1232 Addend = *AddendOrErr; in processRelocationRef()
1245 LLVM_DEBUG(dbgs() << "\t\tRelType: " << RelType << " Addend: " << Addend in processRelocationRef()
1268 Value.Addend = SymInfo.getOffset() + Addend; in processRelocationRef()
1292 Value.Addend = Addend; in processRelocationRef()
1300 Value.Addend = Addend; in processRelocationRef()
1329 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1334 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1360 ELF::R_ARM_ABS32, Value.Addend); in processRelocationRef()
1377 Value.Addend += *Placeholder; in processRelocationRef()
1380 Value.Addend += (int16_t)((*Placeholder & 0xFFF) | (((*Placeholder >> 16) & 0xF) << 12)); in processRelocationRef()
1393 // Extract the addend from the instruction. in processRelocationRef()
1396 uint32_t Addend = (Opcode & 0x03ffffff) << 2; in processRelocationRef() local
1398 Value.Addend += Addend; in processRelocationRef()
1418 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1421 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1436 int64_t Addend = (Opcode & 0x0000ffff) << 16; in processRelocationRef() local
1437 RelocationEntry RE(SectionID, Offset, RelType, Addend); in processRelocationRef()
1440 int64_t Addend = Value.Addend + SignExtend32<16>(Opcode & 0x0000ffff); in processRelocationRef() local
1447 Reloc.Addend += Addend; in processRelocationRef()
1456 RelocationEntry RE(SectionID, Offset, RelType, Addend); in processRelocationRef()
1463 Value.Addend += Opcode; in processRelocationRef()
1465 Value.Addend += SignExtend32<18>((Opcode & 0x0000ffff) << 2); in processRelocationRef()
1467 Value.Addend += SignExtend32<21>((Opcode & 0x0007ffff) << 2); in processRelocationRef()
1469 Value.Addend += SignExtend32<23>((Opcode & 0x001fffff) << 2); in processRelocationRef()
1471 Value.Addend += SignExtend32<28>((Opcode & 0x03ffffff) << 2); in processRelocationRef()
1476 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1514 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1517 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1530 ELF::R_MIPS_HIGHEST, Value.Addend); in processRelocationRef()
1533 ELF::R_MIPS_HIGHER, Value.Addend); in processRelocationRef()
1536 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1539 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1585 Value.Addend += ELF::decodePPC64LocalEntryOffset(SymOther); in processRelocationRef()
1589 Sections[Value.SectionID].getAddressWithOffset(Value.Addend); in processRelocationRef()
1596 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1619 ELF::R_PPC64_ADDR64, Value.Addend); in processRelocationRef()
1630 ELF::R_PPC64_ADDR16_HIGHEST, Value.Addend); in processRelocationRef()
1632 ELF::R_PPC64_ADDR16_HIGHER, Value.Addend); in processRelocationRef()
1634 ELF::R_PPC64_ADDR16_HI, Value.Addend); in processRelocationRef()
1636 ELF::R_PPC64_ADDR16_LO, Value.Addend); in processRelocationRef()
1695 Value.Addend -= TOCValue.Addend; in processRelocationRef()
1696 resolveRelocation(Sections[SectionID], Offset, Value.Addend, RelType, 0); in processRelocationRef()
1699 // via a ELF::R_PPC64_TOC relocation (where both symbol and addend are in processRelocationRef()
1701 // symbols (in which case the addend is respected). in processRelocationRef()
1709 Value.Addend += Addend; in processRelocationRef()
1712 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1761 Addend); in processRelocationRef()
1763 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1811 // The load of the GOT address has an addend of -4 in processRelocationRef()
1823 Addend); in processRelocationRef()
1825 Value.Addend += support::ulittle32_t::ref( in processRelocationRef()
1833 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1861 resolveGOTOffsetRelocation(SectionID, Offset, Addend, ELF::R_X86_64_PC32); in processRelocationRef()
1864 resolveGOTOffsetRelocation(SectionID, Offset, Addend, ELF::R_X86_64_PC64); in processRelocationRef()
1870 Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()
1873 Value.Addend += support::ulittle64_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()
1876 processX86_64GOTTPOFFRelocation(SectionID, Offset, Value, Addend); in processRelocationRef()
1882 processX86_64TLSRelocation(SectionID, Offset, RelType, Value, Addend, in processRelocationRef()
1889 Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()
1899 int64_t Addend) { in processX86_64GOTTPOFFRelocation() argument
1982 // The original GOTTPOFF relocation has an addend as it is PC relative, in processX86_64GOTTPOFFRelocation()
1984 // absolute value (which is an offset from %fs:0), so remove the addend in processX86_64GOTTPOFFRelocation()
1988 ELF::R_X86_64_TPOFF32, Value.Addend - Addend); in processX86_64GOTTPOFFRelocation()
2004 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processX86_64GOTTPOFFRelocation()
2017 RelocationValueRef Value, int64_t Addend, in processX86_64TLSRelocation() argument
2125 // The TLSGD/TLSLD relocations are PC-relative, so they have an addend. in processX86_64TLSRelocation()
2127 // %fs:0, so remove the TLSGD/TLSLD addend again. in processX86_64TLSRelocation()
2129 ELF::R_X86_64_TPOFF32, Value.Addend - Addend); in processX86_64TLSRelocation()
2519 // instruction, so the addend is -4. in createIFuncStub()