Lines Matching refs:Section

259 void RuntimeDyldELF::resolveX86_64Relocation(const SectionEntry &Section,  in resolveX86_64Relocation()  argument
273 *Section.getAddressWithOffset(Offset) = TruncatedAddr; in resolveX86_64Relocation()
275 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
282 support::ulittle16_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
285 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
289 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
292 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
302 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
305 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
309 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
313 Section.getAddress()[Offset] = TruncOffset; in resolveX86_64Relocation()
317 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
321 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
326 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
328 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
337 for (const auto &Section : Sections) { in resolveX86_64Relocation() local
338 if (Section.getName() == ".got") { in resolveX86_64Relocation()
339 GOTBase = Section.getLoadAddressWithOffset(0); in resolveX86_64Relocation()
345 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = GOTOffset; in resolveX86_64Relocation()
351 void RuntimeDyldELF::resolveX86Relocation(const SectionEntry &Section, in resolveX86Relocation() argument
356 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
365 Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveX86Relocation()
367 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
379 void RuntimeDyldELF::resolveAArch64Relocation(const SectionEntry &Section, in resolveAArch64Relocation() argument
383 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveAArch64Relocation()
384 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveAArch64Relocation()
389 << format("%llx", Section.getAddressWithOffset(Offset)) in resolveAArch64Relocation()
552 void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, in resolveARMRelocation() argument
557 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveARMRelocation()
558 uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveARMRelocation()
562 << Section.getAddressWithOffset(Offset) in resolveARMRelocation()
639 for (auto &Section : Obj.sections()) { in findPPC64TOCSection() local
640 Expected<StringRef> NameOrErr = Section.getName(); in findPPC64TOCSection()
650 findOrEmitSection(Obj, Section, false, LocalSections)) in findPPC64TOCSection()
776 void RuntimeDyldELF::resolvePPC32Relocation(const SectionEntry &Section, in resolvePPC32Relocation() argument
779 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC32Relocation()
796 void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section, in resolvePPC64Relocation() argument
799 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC64Relocation()
843 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
848 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
853 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
864 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
873 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
880 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
890 void RuntimeDyldELF::resolveSystemZRelocation(const SectionEntry &Section, in resolveSystemZRelocation() argument
893 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolveSystemZRelocation()
900 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
907 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
913 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
919 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
925 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
944 void RuntimeDyldELF::resolveBPFRelocation(const SectionEntry &Section, in resolveBPFRelocation() argument
959 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
961 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
967 write(isBE, Section.getAddressWithOffset(Offset), static_cast<uint32_t>(Value)); in resolveBPFRelocation()
969 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
997 const SectionEntry &Section = Sections[RE.SectionID]; in resolveRelocation() local
998 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
1002 void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section, in resolveRelocation() argument
1008 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
1011 resolveX86Relocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
1016 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1022 resolveARMRelocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
1027 resolvePPC32Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1031 resolvePPC64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1034 resolveSystemZRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1038 resolveBPFRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1128 SectionEntry &Section = Sections[SectionID]; in resolveAArch64Branch() local
1135 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1136 (uint64_t)Section.getAddressWithOffset(i->second), in resolveAArch64Branch()
1142 Stubs[Value] = Section.getStubOffset(); in resolveAArch64Branch()
1144 Section.getAddressWithOffset(Section.getStubOffset())); in resolveAArch64Branch()
1146 RelocationEntry REmovz_g3(SectionID, StubTargetAddr - Section.getAddress(), in resolveAArch64Branch()
1149 StubTargetAddr - Section.getAddress() + 4, in resolveAArch64Branch()
1152 StubTargetAddr - Section.getAddress() + 8, in resolveAArch64Branch()
1155 StubTargetAddr - Section.getAddress() + 12, in resolveAArch64Branch()
1169 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1170 reinterpret_cast<uint64_t>(Section.getAddressWithOffset( in resolveAArch64Branch()
1171 Section.getStubOffset())), in resolveAArch64Branch()
1173 Section.advanceStubOffset(getMaxStubSize()); in resolveAArch64Branch()
1298 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1304 Section, Offset, in processRelocationRef()
1305 reinterpret_cast<uint64_t>(Section.getAddressWithOffset(i->second)), in processRelocationRef()
1311 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1313 Section.getAddressWithOffset(Section.getStubOffset())); in processRelocationRef()
1314 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1321 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1322 Section.getAddressWithOffset( in processRelocationRef()
1323 Section.getStubOffset())), in processRelocationRef()
1325 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1346 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1364 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1369 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1372 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1375 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1386 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1388 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1448 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1459 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1464 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1468 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1471 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1484 StubTargetAddr - Section.getAddress(), in processRelocationRef()
1487 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1490 StubTargetAddr - Section.getAddress() + 12, in processRelocationRef()
1493 StubTargetAddr - Section.getAddress() + 20, in processRelocationRef()
1507 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1509 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1524 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1525 uint8_t *Target = Section.getAddressWithOffset(Offset); in processRelocationRef()
1562 resolveRelocation(Section, Offset, in processRelocationRef()
1564 Section.getAddressWithOffset(i->second)), in processRelocationRef()
1570 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1572 Section.getAddressWithOffset(Section.getStubOffset()), in processRelocationRef()
1574 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1581 uint64_t StubRelocOffset = StubTargetAddr - Section.getAddress(); in processRelocationRef()
1606 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1607 Section.getAddressWithOffset( in processRelocationRef()
1608 Section.getStubOffset())), in processRelocationRef()
1610 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1687 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1693 StubAddress = uintptr_t(Section.getAddressWithOffset(i->second)); in processRelocationRef()
1699 uintptr_t BaseAddress = uintptr_t(Section.getAddress()); in processRelocationRef()
1702 (BaseAddress + Section.getStubOffset() + StubAlignment - 1) & in processRelocationRef()
1714 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1718 resolveRelocation(Section, Offset, StubAddress + 8, ELF::R_390_PC32DBL, in processRelocationRef()
1721 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1743 SectionEntry *Section = &Sections[SectionID]; in processRelocationRef() local
1747 StubAddress = uintptr_t(Section->getAddress()) + i->second; in processRelocationRef()
1753 uintptr_t BaseAddress = uintptr_t(Section->getAddress()); in processRelocationRef()
1756 (BaseAddress + Section->getStubOffset() + StubAlignment - 1) & in processRelocationRef()
1763 Section->advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1769 Section = &Sections[SectionID]; in processRelocationRef()
1782 resolveRelocation(*Section, Offset, StubAddress, ELF::R_X86_64_PC32, in processRelocationRef()
1971 const SectionRef &Section = i->first; in finalizeLoad() local
1974 Expected<StringRef> NameOrErr = Section.getName(); in finalizeLoad()