• Home
  • Raw
  • Download

Lines Matching refs:RE

50     RelocationEntry RE(getRelocationEntry(SectionID, Obj, RelI));  in processRelocationRef()
51 RE.Addend = memcpyAddend(RE); in processRelocationRef()
53 getRelocationValueRef(Obj, RelI, RE, ObjSectionToID)); in processRelocationRef()
56 if (!IsExtern && RE.IsPCRel) in processRelocationRef()
57 makeValueAddendPCRel(Value, RelI, 1 << RE.Size); in processRelocationRef()
59 if (RE.RelType == MachO::X86_64_RELOC_GOT || in processRelocationRef()
60 RE.RelType == MachO::X86_64_RELOC_GOT_LOAD) in processRelocationRef()
61 processGOTRelocation(RE, Value, Stubs); in processRelocationRef()
63 RE.Addend = Value.Offset; in processRelocationRef()
65 addRelocationForSymbol(RE, Value.SymbolName); in processRelocationRef()
67 addRelocationForSection(RE, Value.SectionID); in processRelocationRef()
73 void resolveRelocation(const RelocationEntry &RE, uint64_t Value) override { in resolveRelocation() argument
74 DEBUG(dumpRelocationToResolve(RE, Value)); in resolveRelocation()
75 const SectionEntry &Section = Sections[RE.SectionID]; in resolveRelocation()
76 uint8_t *LocalAddress = Section.getAddressWithOffset(RE.Offset); in resolveRelocation()
80 if (RE.IsPCRel) { in resolveRelocation()
83 uint64_t FinalAddress = Section.getLoadAddressWithOffset(RE.Offset); in resolveRelocation()
87 switch (RE.RelType) { in resolveRelocation()
96 writeBytesUnaligned(Value + RE.Addend, LocalAddress, 1 << RE.Size); in resolveRelocation()
99 uint64_t SectionABase = Sections[RE.Sections.SectionA].getLoadAddress(); in resolveRelocation()
100 uint64_t SectionBBase = Sections[RE.Sections.SectionB].getLoadAddress(); in resolveRelocation()
103 Value = SectionABase - SectionBBase + RE.Addend; in resolveRelocation()
104 writeBytesUnaligned(Value, LocalAddress, 1 << RE.Size); in resolveRelocation()
118 void processGOTRelocation(const RelocationEntry &RE, in processGOTRelocation() argument
120 SectionEntry &Section = Sections[RE.SectionID]; in processGOTRelocation()
121 assert(RE.IsPCRel); in processGOTRelocation()
122 assert(RE.Size == 2); in processGOTRelocation()
123 Value.Offset -= RE.Addend; in processGOTRelocation()
131 RelocationEntry GOTRE(RE.SectionID, Section.getStubOffset(), in processGOTRelocation()
141 RelocationEntry TargetRE(RE.SectionID, RE.Offset, in processGOTRelocation()
142 MachO::X86_64_RELOC_UNSIGNED, RE.Addend, true, 2); in processGOTRelocation()
152 MachO::any_relocation_info RE = in processSubtractRelocation() local
155 unsigned Size = Obj.getAnyRelocationLength(RE); in processSubtractRelocation()