Lines Matching full:re
105 RelocationEntry RE(SectionID, Offset, RelType, 0, -1, 0, 0, 0, false, 0);
106 addRelocationForSymbol(RE, TargetName);
116 RelocationEntry RE =
119 addRelocationForSection(RE, TargetSectionID);
123 RelocationEntry RE =
125 addRelocationForSection(RE, TargetSectionID);
129 RelocationEntry RE =
131 addRelocationForSection(RE, TargetSectionID);
142 void resolveRelocation(const RelocationEntry &RE, uint64_t Value) override {
143 const auto Section = Sections[RE.SectionID];
144 uint8_t *Target = Section.getAddressWithOffset(RE.Offset);
146 switch (RE.RelType) {
153 RE.Sections.SectionA == static_cast<uint32_t>(-1)
155 : Sections[RE.Sections.SectionA].getLoadAddressWithOffset(
156 RE.Addend);
158 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
160 << " TargetSection: " << RE.Sections.SectionA
170 Sections[RE.Sections.SectionA].getLoadAddressWithOffset(RE.Addend) -
173 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
175 << " TargetSection: " << RE.Sections.SectionA
183 uint64_t Result = RE.Sections.SectionA == static_cast<uint32_t>(-1)
185 : Sections[RE.Sections.SectionA].getLoadAddress();
186 Result = Result - Section.getLoadAddress() + RE.Addend - 4 - RE.Offset;
191 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
193 << " TargetSection: " << RE.Sections.SectionA
201 assert(static_cast<uint32_t>(RE.SectionID) <= UINT16_MAX &&
203 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
205 << RE.SectionID << '\n');
206 writeBytesUnaligned(RE.SectionID, Target, 2);
210 assert(static_cast<uint64_t>(RE.Addend) <= UINT32_MAX &&
212 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
214 << RE.Addend << '\n');
215 writeBytesUnaligned(RE.Addend, Target, 4);