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()
350 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = 1; in resolveX86_64Relocation()
359 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
370 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
377 void RuntimeDyldELF::resolveX86Relocation(const SectionEntry &Section, in resolveX86Relocation() argument
382 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
391 Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveX86Relocation()
393 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
405 void RuntimeDyldELF::resolveAArch64Relocation(const SectionEntry &Section, in resolveAArch64Relocation() argument
409 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveAArch64Relocation()
410 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveAArch64Relocation()
415 << format("%llx", Section.getAddressWithOffset(Offset)) in resolveAArch64Relocation()
591 void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, in resolveARMRelocation() argument
596 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveARMRelocation()
597 uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveARMRelocation()
601 << Section.getAddressWithOffset(Offset) in resolveARMRelocation()
678 for (auto &Section : Obj.sections()) { in findPPC64TOCSection() local
679 Expected<StringRef> NameOrErr = Section.getName(); in findPPC64TOCSection()
689 findOrEmitSection(Obj, Section, false, LocalSections)) in findPPC64TOCSection()
815 void RuntimeDyldELF::resolvePPC32Relocation(const SectionEntry &Section, in resolvePPC32Relocation() argument
818 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC32Relocation()
835 void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section, in resolvePPC64Relocation() argument
838 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC64Relocation()
882 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
887 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
892 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
903 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
912 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
919 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
929 void RuntimeDyldELF::resolveSystemZRelocation(const SectionEntry &Section, in resolveSystemZRelocation() argument
932 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolveSystemZRelocation()
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()
983 void RuntimeDyldELF::resolveBPFRelocation(const SectionEntry &Section, in resolveBPFRelocation() argument
998 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
1000 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
1006 write(isBE, Section.getAddressWithOffset(Offset), static_cast<uint32_t>(Value)); in resolveBPFRelocation()
1008 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
1036 const SectionEntry &Section = Sections[RE.SectionID]; in resolveRelocation() local
1037 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
1041 void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section, in resolveRelocation() argument
1047 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
1050 resolveX86Relocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
1055 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1061 resolveARMRelocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, 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()
1177 SectionEntry &Section = Sections[SectionID]; in resolveAArch64Branch() local
1184 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1185 Section.getLoadAddressWithOffset(i->second), RelType, 0); in resolveAArch64Branch()
1190 Stubs[Value] = Section.getStubOffset(); in resolveAArch64Branch()
1192 Section.getAddressWithOffset(Section.getStubOffset())); in resolveAArch64Branch()
1194 RelocationEntry REmovz_g3(SectionID, StubTargetAddr - Section.getAddress(), in resolveAArch64Branch()
1197 StubTargetAddr - Section.getAddress() + 4, in resolveAArch64Branch()
1200 StubTargetAddr - Section.getAddress() + 8, in resolveAArch64Branch()
1203 StubTargetAddr - Section.getAddress() + 12, in resolveAArch64Branch()
1217 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1218 Section.getLoadAddressWithOffset(Section.getStubOffset()), in resolveAArch64Branch()
1220 Section.advanceStubOffset(getMaxStubSize()); in resolveAArch64Branch()
1344 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1349 resolveRelocation(Section, Offset, in processRelocationRef()
1350 Section.getLoadAddressWithOffset(i->second), RelType, in processRelocationRef()
1356 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1358 Section.getAddressWithOffset(Section.getStubOffset())); in processRelocationRef()
1359 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1367 Section, Offset, in processRelocationRef()
1368 Section.getLoadAddressWithOffset(Section.getStubOffset()), RelType, in processRelocationRef()
1370 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1391 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1409 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1414 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1417 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1420 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1431 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1433 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1493 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1504 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1509 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1513 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1516 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1529 StubTargetAddr - Section.getAddress(), in processRelocationRef()
1532 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1535 StubTargetAddr - Section.getAddress() + 12, in processRelocationRef()
1538 StubTargetAddr - Section.getAddress() + 20, in processRelocationRef()
1552 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1554 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1569 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1570 uint8_t *Target = Section.getAddressWithOffset(Offset); in processRelocationRef()
1607 resolveRelocation(Section, Offset, in processRelocationRef()
1608 Section.getLoadAddressWithOffset(i->second), in processRelocationRef()
1614 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1616 Section.getAddressWithOffset(Section.getStubOffset()), in processRelocationRef()
1618 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1625 uint64_t StubRelocOffset = StubTargetAddr - Section.getAddress(); in processRelocationRef()
1651 Section, Offset, in processRelocationRef()
1652 Section.getLoadAddressWithOffset(Section.getStubOffset()), in processRelocationRef()
1654 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1731 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1737 StubAddress = uintptr_t(Section.getAddressWithOffset(i->second)); in processRelocationRef()
1743 uintptr_t BaseAddress = uintptr_t(Section.getAddress()); in processRelocationRef()
1745 alignTo(BaseAddress + Section.getStubOffset(), getStubAlignment()); in processRelocationRef()
1756 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1760 resolveRelocation(Section, Offset, StubAddress + 8, ELF::R_390_PC32DBL, in processRelocationRef()
1763 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1785 SectionEntry *Section = &Sections[SectionID]; in processRelocationRef() local
1789 StubAddress = uintptr_t(Section->getAddress()) + i->second; in processRelocationRef()
1795 uintptr_t BaseAddress = uintptr_t(Section->getAddress()); in processRelocationRef()
1796 StubAddress = alignTo(BaseAddress + Section->getStubOffset(), in processRelocationRef()
1803 Section->advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1809 Section = &Sections[SectionID]; in processRelocationRef()
1822 resolveRelocation(*Section, Offset, StubAddress, ELF::R_X86_64_PC32, in processRelocationRef()
1960 auto &Section = Sections[SectionID]; in processX86_64GOTTPOFFRelocation() local
1967 Section.getSize()) { in processX86_64GOTTPOFFRelocation()
1974 auto *TLSSequence = Section.getAddressWithOffset(TLSSequenceStartOffset); in processX86_64GOTTPOFFRelocation()
2203 auto &Section = Sections[SectionID]; in processX86_64TLSRelocation() local
2206 Section.getSize()) { in processX86_64TLSRelocation()
2210 auto *TLSSequence = Section.getAddressWithOffset(Offset - TLSSequenceOffset); in processX86_64TLSRelocation()
2404 const SectionRef &Section = i->first; in finalizeLoad() local
2407 Expected<StringRef> NameOrErr = Section.getName(); in finalizeLoad()