Home | History | Annotate | Download | only in RuntimeDyld

Lines Matching refs:Section

193 void RuntimeDyldELF::resolveX86_64Relocation(const SectionEntry &Section,
203 uint64_t *Target = reinterpret_cast<uint64_t*>(Section.Address + Offset);
216 uint32_t *Target = reinterpret_cast<uint32_t*>(Section.Address + Offset);
225 uint32_t *Placeholder = reinterpret_cast<uint32_t*>(Section.ObjAddress
227 uint32_t *Target = reinterpret_cast<uint32_t*>(Section.Address + Offset);
228 uint64_t FinalAddress = Section.LoadAddress + Offset;
238 void RuntimeDyldELF::resolveX86Relocation(const SectionEntry &Section,
247 uint32_t *Placeholder = reinterpret_cast<uint32_t*>(Section.ObjAddress
249 uint32_t *Target = reinterpret_cast<uint32_t*>(Section.Address + Offset);
256 uint32_t *Placeholder = reinterpret_cast<uint32_t*>(Section.ObjAddress
258 uint32_t *Target = reinterpret_cast<uint32_t*>(Section.Address + Offset);
259 uint32_t FinalAddress = ((Section.LoadAddress + Offset) & 0xFFFFFFFF);
272 void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section,
278 uint32_t* TargetPtr = (uint32_t*)(Section.Address + Offset);
279 uint32_t FinalAddress = ((Section.LoadAddress + Offset) & 0xFFFFFFFF);
283 << Section.Address + Offset
336 void RuntimeDyldELF::resolveMIPSRelocation(const SectionEntry &Section,
341 uint32_t* TargetPtr = (uint32_t*)(Section.Address + Offset);
345 << Section.Address + Offset
347 << format("%p",Section.LoadAddress + Offset)
376 // Return the .TOC. section address to R_PPC64_TOC relocations.
393 // In this case just use the first section (which is usually
468 // and #highest(value) macros defined in section 4.5.1. Relocation Types
495 void RuntimeDyldELF::resolvePPC64Relocation(const SectionEntry &Section,
500 uint8_t* LocalAddress = Section.Address + Offset;
530 uint64_t FinalAddress = (Section.LoadAddress + Offset);
538 uint64_t FinalAddress = (Section.LoadAddress + Offset);
563 void RuntimeDyldELF::resolveRelocation(const SectionEntry &Section,
570 resolveX86_64Relocation(Section, Offset, Value, Type, Addend);
573 resolveX86Relocation(Section, Offset,
579 resolveARMRelocation(Section, Offset,
585 resolveMIPSRelocation(Section, Offset,
590 resolvePPC64Relocation(Section, Offset, Value, Type, Addend);
637 llvm_unreachable("Symbol section not found, bad object file format!");
638 DEBUG(dbgs() << "\t\tThis is section symbol\n");
669 SectionEntry &Section = Sections[Rel.SectionID];
674 resolveRelocation(Section, Rel.Offset,
675 (uint64_t)Section.Address + i->second, RelType, 0);
680 Stubs[Value] = Section.StubOffset;
681 uint8_t *StubTargetAddr = createStubFunction(Section.Address +
682 Section.StubOffset);
683 RelocationEntry RE(Rel.SectionID, StubTargetAddr - Section.Address,
690 resolveRelocation(Section, Rel.Offset,
691 (uint64_t)Section.Address + Section.StubOffset,
693 Section.StubOffset += getMaxStubSize();
699 SectionEntry &Section = Sections[Rel.SectionID];
700 uint8_t *Target = Section.Address + Rel.Offset;
711 resolveRelocation(Section, Rel.Offset,
712 (uint64_t)Section.Address + i->second, RelType, 0);
717 Stubs[Value] = Section.StubOffset;
718 uint8_t *StubTargetAddr = createStubFunction(Section.Address +
719 Section.StubOffset);
723 StubTargetAddr - Section.Address,
726 StubTargetAddr - Section.Address + 4,
737 resolveRelocation(Section, Rel.Offset,
738 (uint64_t)Section.Address + Section.StubOffset,
740 Section.StubOffset += getMaxStubSize();
747 SectionEntry &Section = Sections[Rel.SectionID];
748 uint8_t *Target = Section.Address + Rel.Offset;
752 // in calculated based in the relocation values in .opd section.
773 resolveRelocation(Section, Rel.Offset,
774 (uint64_t)Section.Address + i->second, RelType, 0);
779 Stubs[Value] = Section.StubOffset;
780 uint8_t *StubTargetAddr = createStubFunction(Section.Address +
781 Section.StubOffset);
782 RelocationEntry RE(Rel.SectionID, StubTargetAddr - Section.Address,
785 // Generates the 64-bits address loads as exemplified in section
788 StubTargetAddr - Section.Address + 2,
791 StubTargetAddr - Section.Address + 6,
794 StubTargetAddr - Section.Address + 14,
797 StubTargetAddr - Section.Address + 18,
812 resolveRelocation(Section, Rel.Offset,
813 (uint64_t)Section.Address + Section.StubOffset,
818 Section.StubOffset += getMaxStubSize();