Lines Matching refs:Section
260 void RuntimeDyldELF::resolveX86_64Relocation(const SectionEntry &Section, in resolveX86_64Relocation() argument
274 *Section.getAddressWithOffset(Offset) = TruncatedAddr; in resolveX86_64Relocation()
276 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
283 support::ulittle16_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
286 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
290 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
293 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
303 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
306 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
310 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
314 Section.getAddress()[Offset] = TruncOffset; in resolveX86_64Relocation()
318 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
322 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
327 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
329 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
338 for (const auto &Section : Sections) { in resolveX86_64Relocation() local
339 if (Section.getName() == ".got") { in resolveX86_64Relocation()
340 GOTBase = Section.getLoadAddressWithOffset(0); in resolveX86_64Relocation()
346 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = GOTOffset; in resolveX86_64Relocation()
351 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = 1; in resolveX86_64Relocation()
360 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
371 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
378 void RuntimeDyldELF::resolveX86Relocation(const SectionEntry &Section, in resolveX86Relocation() argument
383 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
392 Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveX86Relocation()
394 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
406 void RuntimeDyldELF::resolveAArch64Relocation(const SectionEntry &Section, in resolveAArch64Relocation() argument
410 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveAArch64Relocation()
411 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveAArch64Relocation()
416 << format("%llx", Section.getAddressWithOffset(Offset)) in resolveAArch64Relocation()
592 void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, in resolveARMRelocation() argument
597 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveARMRelocation()
598 uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveARMRelocation()
602 << Section.getAddressWithOffset(Offset) in resolveARMRelocation()
679 for (auto &Section : Obj.sections()) { in findPPC64TOCSection() local
680 Expected<StringRef> NameOrErr = Section.getName(); in findPPC64TOCSection()
690 findOrEmitSection(Obj, Section, false, LocalSections)) in findPPC64TOCSection()
816 void RuntimeDyldELF::resolvePPC32Relocation(const SectionEntry &Section, in resolvePPC32Relocation() argument
819 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC32Relocation()
836 void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section, in resolvePPC64Relocation() argument
839 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC64Relocation()
883 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
888 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
893 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
904 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
913 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
920 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
930 void RuntimeDyldELF::resolveSystemZRelocation(const SectionEntry &Section, in resolveSystemZRelocation() argument
933 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolveSystemZRelocation()
940 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
947 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
953 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
959 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
965 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
984 void RuntimeDyldELF::resolveBPFRelocation(const SectionEntry &Section, in resolveBPFRelocation() argument
999 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
1001 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
1007 write(isBE, Section.getAddressWithOffset(Offset), static_cast<uint32_t>(Value)); in resolveBPFRelocation()
1009 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
1037 const SectionEntry &Section = Sections[RE.SectionID]; in resolveRelocation() local
1038 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
1042 void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section, in resolveRelocation() argument
1048 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
1051 resolveX86Relocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
1056 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1062 resolveARMRelocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
1067 resolvePPC32Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1071 resolvePPC64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1074 resolveSystemZRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1078 resolveBPFRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1168 SectionEntry &Section = Sections[SectionID]; in resolveAArch64Branch() local
1175 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1176 (uint64_t)Section.getAddressWithOffset(i->second), in resolveAArch64Branch()
1182 Stubs[Value] = Section.getStubOffset(); in resolveAArch64Branch()
1184 Section.getAddressWithOffset(Section.getStubOffset())); in resolveAArch64Branch()
1186 RelocationEntry REmovz_g3(SectionID, StubTargetAddr - Section.getAddress(), in resolveAArch64Branch()
1189 StubTargetAddr - Section.getAddress() + 4, in resolveAArch64Branch()
1192 StubTargetAddr - Section.getAddress() + 8, in resolveAArch64Branch()
1195 StubTargetAddr - Section.getAddress() + 12, in resolveAArch64Branch()
1209 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1210 reinterpret_cast<uint64_t>(Section.getAddressWithOffset( in resolveAArch64Branch()
1211 Section.getStubOffset())), in resolveAArch64Branch()
1213 Section.advanceStubOffset(getMaxStubSize()); in resolveAArch64Branch()
1337 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1343 Section, Offset, in processRelocationRef()
1344 reinterpret_cast<uint64_t>(Section.getAddressWithOffset(i->second)), in processRelocationRef()
1350 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1352 Section.getAddressWithOffset(Section.getStubOffset())); in processRelocationRef()
1353 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1360 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1361 Section.getAddressWithOffset( in processRelocationRef()
1362 Section.getStubOffset())), in processRelocationRef()
1364 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1385 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1403 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1408 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1411 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1414 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1425 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1427 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1487 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1498 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1503 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1507 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1510 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1523 StubTargetAddr - Section.getAddress(), in processRelocationRef()
1526 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1529 StubTargetAddr - Section.getAddress() + 12, in processRelocationRef()
1532 StubTargetAddr - Section.getAddress() + 20, in processRelocationRef()
1546 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1548 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1563 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1564 uint8_t *Target = Section.getAddressWithOffset(Offset); in processRelocationRef()
1601 resolveRelocation(Section, Offset, in processRelocationRef()
1603 Section.getAddressWithOffset(i->second)), in processRelocationRef()
1609 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1611 Section.getAddressWithOffset(Section.getStubOffset()), in processRelocationRef()
1613 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1620 uint64_t StubRelocOffset = StubTargetAddr - Section.getAddress(); in processRelocationRef()
1645 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1646 Section.getAddressWithOffset( in processRelocationRef()
1647 Section.getStubOffset())), in processRelocationRef()
1649 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1726 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1732 StubAddress = uintptr_t(Section.getAddressWithOffset(i->second)); in processRelocationRef()
1738 uintptr_t BaseAddress = uintptr_t(Section.getAddress()); in processRelocationRef()
1740 alignTo(BaseAddress + Section.getStubOffset(), getStubAlignment()); in processRelocationRef()
1751 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1755 resolveRelocation(Section, Offset, StubAddress + 8, ELF::R_390_PC32DBL, in processRelocationRef()
1758 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1780 SectionEntry *Section = &Sections[SectionID]; in processRelocationRef() local
1784 StubAddress = uintptr_t(Section->getAddress()) + i->second; in processRelocationRef()
1790 uintptr_t BaseAddress = uintptr_t(Section->getAddress()); in processRelocationRef()
1791 StubAddress = alignTo(BaseAddress + Section->getStubOffset(), in processRelocationRef()
1798 Section->advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1804 Section = &Sections[SectionID]; in processRelocationRef()
1817 resolveRelocation(*Section, Offset, StubAddress, ELF::R_X86_64_PC32, in processRelocationRef()
1955 auto &Section = Sections[SectionID]; in processX86_64GOTTPOFFRelocation() local
1962 Section.getSize()) { in processX86_64GOTTPOFFRelocation()
1969 auto *TLSSequence = Section.getAddressWithOffset(TLSSequenceStartOffset); in processX86_64GOTTPOFFRelocation()
2198 auto &Section = Sections[SectionID]; in processX86_64TLSRelocation() local
2201 Section.getSize()) { in processX86_64TLSRelocation()
2205 auto *TLSSequence = Section.getAddressWithOffset(Offset - TLSSequenceOffset); in processX86_64TLSRelocation()
2399 const SectionRef &Section = i->first; in finalizeLoad() local
2402 Expected<StringRef> NameOrErr = Section.getName(); in finalizeLoad()