Lines Matching full:addend
268 uint32_t Type, int64_t Addend, in resolveX86_64Relocation() argument
278 Value + Addend; in resolveX86_64Relocation()
279 LLVM_DEBUG(dbgs() << "Writing " << format("%p", (Value + Addend)) << " at " in resolveX86_64Relocation()
285 Value += Addend; in resolveX86_64Relocation()
298 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
306 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
315 int64_t RealOffset = Value + Addend - FinalAddress; in resolveX86_64Relocation()
332 int64_t GOTOffset = Value - GOTBase + Addend; in resolveX86_64Relocation()
341 uint32_t Type, int32_t Addend) { in resolveX86Relocation() argument
345 Value + Addend; in resolveX86Relocation()
354 uint32_t RealOffset = Value + Addend - FinalAddress; in resolveX86Relocation()
369 uint32_t Type, int64_t Addend) { in resolveAArch64Relocation() argument
380 << format("%x", Type) << " Addend: 0x" in resolveAArch64Relocation()
381 << format("%llx", Addend) << "\n"); in resolveAArch64Relocation()
388 uint64_t Result = Value + Addend; in resolveAArch64Relocation()
394 uint64_t Result = Value + Addend; in resolveAArch64Relocation()
400 write(isBE, TargetPtr, Value + Addend); in resolveAArch64Relocation()
403 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
410 uint64_t Result = Value + Addend - FinalAddress; in resolveAArch64Relocation()
417 write(isBE, TargetPtr, Value + Addend - FinalAddress); in resolveAArch64Relocation()
423 uint64_t BranchImm = Value + Addend - FinalAddress; in resolveAArch64Relocation()
431 or32le(TargetPtr, ((Value + Addend) & 0xFFFF000000000000) >> 43); in resolveAArch64Relocation()
434 or32le(TargetPtr, ((Value + Addend) & 0xFFFF00000000) >> 27); in resolveAArch64Relocation()
437 or32le(TargetPtr, ((Value + Addend) & 0xFFFF0000) >> 11); in resolveAArch64Relocation()
440 or32le(TargetPtr, ((Value + Addend) & 0xFFFF) << 5); in resolveAArch64Relocation()
445 ((Value + Addend) & ~0xfffULL) - (FinalAddress & ~0xfffULL); in resolveAArch64Relocation()
459 or32AArch64Imm(TargetPtr, Value + Addend); in resolveAArch64Relocation()
465 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 0, 11)); in resolveAArch64Relocation()
471 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 1, 11)); in resolveAArch64Relocation()
477 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 2, 11)); in resolveAArch64Relocation()
483 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 3, 11)); in resolveAArch64Relocation()
489 or32AArch64Imm(TargetPtr, getBits(Value + Addend, 4, 11)); in resolveAArch64Relocation()
496 uint32_t Type, int32_t Addend) { in resolveARMRelocation() argument
501 Value += Addend; in resolveARMRelocation()
508 << " Addend: " << format("%x", Addend) << "\n"); in resolveARMRelocation()
602 Rel.Addend = 0x8000; in findPPC64TOCSection()
646 int64_t Addend; in findOPDEntrySection() local
648 Addend = *AddendOrErr; in findOPDEntrySection()
664 if (Rel.Addend != (int64_t)TargetSymbolOffset) in findOPDEntrySection()
680 Rel.Addend = (intptr_t)Addend; in findOPDEntrySection()
720 uint32_t Type, int64_t Addend) { in resolvePPC32Relocation() argument
727 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC32Relocation()
730 writeInt16BE(LocalAddress, applyPPChi(Value + Addend)); in resolvePPC32Relocation()
733 writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); in resolvePPC32Relocation()
740 uint32_t Type, int64_t Addend) { in resolvePPC64Relocation() argument
747 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC64Relocation()
750 writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3); in resolvePPC64Relocation()
753 writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); in resolvePPC64Relocation()
756 writeInt16BE(LocalAddress, applyPPClo(Value + Addend) & ~3); in resolvePPC64Relocation()
760 writeInt16BE(LocalAddress, applyPPChi(Value + Addend)); in resolvePPC64Relocation()
764 writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); in resolvePPC64Relocation()
767 writeInt16BE(LocalAddress, applyPPChigher(Value + Addend)); in resolvePPC64Relocation()
770 writeInt16BE(LocalAddress, applyPPChighera(Value + Addend)); in resolvePPC64Relocation()
773 writeInt16BE(LocalAddress, applyPPChighest(Value + Addend)); in resolvePPC64Relocation()
776 writeInt16BE(LocalAddress, applyPPChighesta(Value + Addend)); in resolvePPC64Relocation()
779 assert(((Value + Addend) & 3) == 0); in resolvePPC64Relocation()
782 writeInt16BE(LocalAddress + 2, (aalk & 3) | ((Value + Addend) & 0xfffc)); in resolvePPC64Relocation()
786 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
791 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
796 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
800 int64_t Result = static_cast<int64_t>(Value + Addend); in resolvePPC64Relocation()
807 int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); in resolvePPC64Relocation()
816 int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); in resolvePPC64Relocation()
823 uint64_t Delta = Value - FinalAddress + Addend; in resolvePPC64Relocation()
827 writeInt64BE(LocalAddress, Value + Addend); in resolvePPC64Relocation()
834 uint32_t Type, int64_t Addend) { in resolveSystemZRelocation() argument
842 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
849 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
855 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
861 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
867 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
872 *LocalAddress = (uint8_t)(Value + Addend); in resolveSystemZRelocation()
875 writeInt16BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
878 writeInt32BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
881 writeInt64BE(LocalAddress, Value + Addend); in resolveSystemZRelocation()
888 uint32_t Type, int64_t Addend) { in resolveBPFRelocation() argument
898 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
899 LLVM_DEBUG(dbgs() << "Writing " << format("%p", (Value + Addend)) << " at " in resolveBPFRelocation()
904 Value += Addend; in resolveBPFRelocation()
931 // the symbol resides (RE.Addend provides additional information about the
937 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
943 uint32_t Type, int64_t Addend, in resolveRelocation() argument
947 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
951 (uint32_t)(Addend & 0xffffffffL)); in resolveRelocation()
955 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
962 (uint32_t)(Addend & 0xffffffffL)); in resolveRelocation()
965 resolvePPC32Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
969 resolvePPC64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
972 resolveSystemZRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
976 resolveBPFRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
988 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend, Value.Offset); in processSimpleRelocation()
1051 if (!isInt<28>(Address + Value.Addend - SourceAddress)) in resolveAArch64ShortBranch()
1055 Value.Addend); in resolveAArch64ShortBranch()
1085 ELF::R_AARCH64_MOVW_UABS_G3, Value.Addend); in resolveAArch64Branch()
1088 ELF::R_AARCH64_MOVW_UABS_G2_NC, Value.Addend); in resolveAArch64Branch()
1091 ELF::R_AARCH64_MOVW_UABS_G1_NC, Value.Addend); in resolveAArch64Branch()
1094 ELF::R_AARCH64_MOVW_UABS_G0_NC, Value.Addend); in resolveAArch64Branch()
1121 int64_t Addend = 0; in processRelocationRef() local
1123 Addend = *AddendOrErr; in processRelocationRef()
1136 LLVM_DEBUG(dbgs() << "\t\tRelType: " << RelType << " Addend: " << Addend in processRelocationRef()
1160 Value.Addend = SymInfo.getOffset() + Addend; in processRelocationRef()
1185 Value.Addend = Addend; in processRelocationRef()
1192 Value.Addend = Addend; in processRelocationRef()
1219 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1224 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1251 ELF::R_ARM_ABS32, Value.Addend); in processRelocationRef()
1268 Value.Addend += *Placeholder; in processRelocationRef()
1271 Value.Addend += (int16_t)((*Placeholder & 0xFFF) | (((*Placeholder >> 16) & 0xF) << 12)); in processRelocationRef()
1284 // Extract the addend from the instruction. in processRelocationRef()
1287 uint32_t Addend = (Opcode & 0x03ffffff) << 2; in processRelocationRef() local
1289 Value.Addend += Addend; in processRelocationRef()
1309 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1312 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1327 int64_t Addend = (Opcode & 0x0000ffff) << 16; in processRelocationRef() local
1328 RelocationEntry RE(SectionID, Offset, RelType, Addend); in processRelocationRef()
1331 int64_t Addend = Value.Addend + SignExtend32<16>(Opcode & 0x0000ffff); in processRelocationRef() local
1338 Reloc.Addend += Addend; in processRelocationRef()
1347 RelocationEntry RE(SectionID, Offset, RelType, Addend); in processRelocationRef()
1354 Value.Addend += Opcode; in processRelocationRef()
1356 Value.Addend += SignExtend32<18>((Opcode & 0x0000ffff) << 2); in processRelocationRef()
1358 Value.Addend += SignExtend32<21>((Opcode & 0x0007ffff) << 2); in processRelocationRef()
1360 Value.Addend += SignExtend32<23>((Opcode & 0x001fffff) << 2); in processRelocationRef()
1362 Value.Addend += SignExtend32<28>((Opcode & 0x03ffffff) << 2); in processRelocationRef()
1367 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1405 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1408 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1421 ELF::R_MIPS_HIGHEST, Value.Addend); in processRelocationRef()
1424 ELF::R_MIPS_HIGHER, Value.Addend); in processRelocationRef()
1427 ELF::R_MIPS_HI16, Value.Addend); in processRelocationRef()
1430 ELF::R_MIPS_LO16, Value.Addend); in processRelocationRef()
1476 Value.Addend += ELF::decodePPC64LocalEntryOffset(SymOther); in processRelocationRef()
1480 Sections[Value.SectionID].getAddressWithOffset(Value.Addend); in processRelocationRef()
1487 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1511 ELF::R_PPC64_ADDR64, Value.Addend); in processRelocationRef()
1522 ELF::R_PPC64_ADDR16_HIGHEST, Value.Addend); in processRelocationRef()
1524 ELF::R_PPC64_ADDR16_HIGHER, Value.Addend); in processRelocationRef()
1526 ELF::R_PPC64_ADDR16_HI, Value.Addend); in processRelocationRef()
1528 ELF::R_PPC64_ADDR16_LO, Value.Addend); in processRelocationRef()
1587 Value.Addend -= TOCValue.Addend; in processRelocationRef()
1588 resolveRelocation(Sections[SectionID], Offset, Value.Addend, RelType, 0); in processRelocationRef()
1591 // via a ELF::R_PPC64_TOC relocation (where both symbol and addend are in processRelocationRef()
1593 // symbols (in which case the addend is respected). in processRelocationRef()
1601 Value.Addend += Addend; in processRelocationRef()
1604 RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); in processRelocationRef()
1655 Addend); in processRelocationRef()
1657 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1704 // The load of the GOT address has an addend of -4 in processRelocationRef()
1716 Addend); in processRelocationRef()
1718 RelocationEntry RE(SectionID, Offset, ELF::R_X86_64_PC32, Value.Addend, in processRelocationRef()
1726 resolveGOTOffsetRelocation(SectionID, Offset, GOTOffset + Addend, in processRelocationRef()
1754 resolveGOTOffsetRelocation(SectionID, Offset, Addend, ELF::R_X86_64_PC64); in processRelocationRef()
1760 Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()
1763 Value.Addend += support::ulittle64_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()
1770 Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset)); in processRelocationRef()