Lines Matching refs:Section

263 void RuntimeDyldELF::resolveX86_64Relocation(const SectionEntry &Section,  in resolveX86_64Relocation()  argument
274 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
277 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
287 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
290 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveX86_64Relocation()
294 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
298 Section.getAddress()[Offset] = TruncOffset; in resolveX86_64Relocation()
302 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
306 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
311 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveX86_64Relocation()
313 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86_64Relocation()
322 for (const auto &Section : Sections) { in resolveX86_64Relocation() local
323 if (Section.getName() == ".got") { in resolveX86_64Relocation()
324 GOTBase = Section.getLoadAddressWithOffset(0); in resolveX86_64Relocation()
330 support::ulittle64_t::ref(Section.getAddressWithOffset(Offset)) = GOTOffset; in resolveX86_64Relocation()
336 void RuntimeDyldELF::resolveX86Relocation(const SectionEntry &Section, in resolveX86Relocation() argument
341 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
350 Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveX86Relocation()
352 support::ulittle32_t::ref(Section.getAddressWithOffset(Offset)) = in resolveX86Relocation()
364 void RuntimeDyldELF::resolveAArch64Relocation(const SectionEntry &Section, in resolveAArch64Relocation() argument
368 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveAArch64Relocation()
369 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolveAArch64Relocation()
374 << format("%llx", Section.getAddressWithOffset(Offset)) in resolveAArch64Relocation()
484 void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, in resolveARMRelocation() argument
489 reinterpret_cast<uint32_t *>(Section.getAddressWithOffset(Offset)); in resolveARMRelocation()
490 uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset) & 0xFFFFFFFF; in resolveARMRelocation()
494 << Section.getAddressWithOffset(Offset) in resolveARMRelocation()
571 for (auto &Section: Obj.sections()) { in findPPC64TOCSection() local
573 if (auto EC = Section.getName(SectionName)) in findPPC64TOCSection()
581 findOrEmitSection(Obj, Section, false, LocalSections)) in findPPC64TOCSection()
701 void RuntimeDyldELF::resolvePPC32Relocation(const SectionEntry &Section, in resolvePPC32Relocation() argument
704 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC32Relocation()
721 void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section, in resolvePPC64Relocation() argument
724 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolvePPC64Relocation()
768 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
773 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
778 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
789 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
798 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
805 uint64_t FinalAddress = Section.getLoadAddressWithOffset(Offset); in resolvePPC64Relocation()
815 void RuntimeDyldELF::resolveSystemZRelocation(const SectionEntry &Section, in resolveSystemZRelocation() argument
818 uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); in resolveSystemZRelocation()
825 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
832 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
838 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
844 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
850 int64_t Delta = (Value + Addend) - Section.getLoadAddressWithOffset(Offset); in resolveSystemZRelocation()
869 void RuntimeDyldELF::resolveBPFRelocation(const SectionEntry &Section, in resolveBPFRelocation() argument
881 write(isBE, Section.getAddressWithOffset(Offset), Value + Addend); in resolveBPFRelocation()
883 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
889 write(isBE, Section.getAddressWithOffset(Offset), static_cast<uint32_t>(Value)); in resolveBPFRelocation()
891 << format("%p\n", Section.getAddressWithOffset(Offset))); in resolveBPFRelocation()
919 const SectionEntry &Section = Sections[RE.SectionID]; in resolveRelocation() local
920 return resolveRelocation(Section, RE.Offset, Value, RE.RelType, RE.Addend, in resolveRelocation()
924 void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section, in resolveRelocation() argument
930 resolveX86_64Relocation(Section, Offset, Value, Type, Addend, SymOffset); in resolveRelocation()
933 resolveX86Relocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
938 resolveAArch64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
944 resolveARMRelocation(Section, Offset, (uint32_t)(Value & 0xffffffffL), Type, in resolveRelocation()
948 resolvePPC32Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
952 resolvePPC64Relocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
955 resolveSystemZRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
959 resolveBPFRelocation(Section, Offset, Value, Type, Addend); in resolveRelocation()
1049 SectionEntry &Section = Sections[SectionID]; in resolveAArch64Branch() local
1056 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1057 (uint64_t)Section.getAddressWithOffset(i->second), in resolveAArch64Branch()
1063 Stubs[Value] = Section.getStubOffset(); in resolveAArch64Branch()
1065 Section.getAddressWithOffset(Section.getStubOffset())); in resolveAArch64Branch()
1067 RelocationEntry REmovz_g3(SectionID, StubTargetAddr - Section.getAddress(), in resolveAArch64Branch()
1070 StubTargetAddr - Section.getAddress() + 4, in resolveAArch64Branch()
1073 StubTargetAddr - Section.getAddress() + 8, in resolveAArch64Branch()
1076 StubTargetAddr - Section.getAddress() + 12, in resolveAArch64Branch()
1090 resolveRelocation(Section, Offset, in resolveAArch64Branch()
1091 reinterpret_cast<uint64_t>(Section.getAddressWithOffset( in resolveAArch64Branch()
1092 Section.getStubOffset())), in resolveAArch64Branch()
1094 Section.advanceStubOffset(getMaxStubSize()); in resolveAArch64Branch()
1217 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1223 Section, Offset, in processRelocationRef()
1224 reinterpret_cast<uint64_t>(Section.getAddressWithOffset(i->second)), in processRelocationRef()
1230 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1232 Section.getAddressWithOffset(Section.getStubOffset())); in processRelocationRef()
1233 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1240 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1241 Section.getAddressWithOffset( in processRelocationRef()
1242 Section.getStubOffset())), in processRelocationRef()
1244 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1265 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1283 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1288 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1291 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1294 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1305 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1307 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1367 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1378 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1383 Section.getAddressWithOffset(Section.getStubOffset()), AbiVariant); in processRelocationRef()
1387 RelocationEntry REHi(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1390 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1403 StubTargetAddr - Section.getAddress(), in processRelocationRef()
1406 StubTargetAddr - Section.getAddress() + 4, in processRelocationRef()
1409 StubTargetAddr - Section.getAddress() + 12, in processRelocationRef()
1412 StubTargetAddr - Section.getAddress() + 20, in processRelocationRef()
1426 RelocationEntry RE(SectionID, Offset, RelType, Section.getStubOffset()); in processRelocationRef()
1428 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1443 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1444 uint8_t *Target = Section.getAddressWithOffset(Offset); in processRelocationRef()
1481 resolveRelocation(Section, Offset, in processRelocationRef()
1483 Section.getAddressWithOffset(i->second)), in processRelocationRef()
1489 Stubs[Value] = Section.getStubOffset(); in processRelocationRef()
1491 Section.getAddressWithOffset(Section.getStubOffset()), in processRelocationRef()
1493 RelocationEntry RE(SectionID, StubTargetAddr - Section.getAddress(), in processRelocationRef()
1500 uint64_t StubRelocOffset = StubTargetAddr - Section.getAddress(); in processRelocationRef()
1525 resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( in processRelocationRef()
1526 Section.getAddressWithOffset( in processRelocationRef()
1527 Section.getStubOffset())), in processRelocationRef()
1529 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1606 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1612 StubAddress = uintptr_t(Section.getAddressWithOffset(i->second)); in processRelocationRef()
1618 uintptr_t BaseAddress = uintptr_t(Section.getAddress()); in processRelocationRef()
1621 (BaseAddress + Section.getStubOffset() + StubAlignment - 1) & in processRelocationRef()
1633 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1637 resolveRelocation(Section, Offset, StubAddress + 8, ELF::R_390_PC32DBL, in processRelocationRef()
1640 resolveRelocation(Section, Offset, StubAddress, RelType, Addend); in processRelocationRef()
1662 SectionEntry &Section = Sections[SectionID]; in processRelocationRef() local
1666 StubAddress = uintptr_t(Section.getAddress()) + i->second; in processRelocationRef()
1672 uintptr_t BaseAddress = uintptr_t(Section.getAddress()); in processRelocationRef()
1675 (BaseAddress + Section.getStubOffset() + StubAlignment - 1) & in processRelocationRef()
1682 Section.advanceStubOffset(getMaxStubSize()); in processRelocationRef()
1698 resolveRelocation(Section, Offset, StubAddress, ELF::R_X86_64_PC32, in processRelocationRef()
1885 const SectionRef &Section = i->first; in finalizeLoad() local
1887 Section.getName(Name); in finalizeLoad()