reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
 1151     Value.SectionID = SymInfo.getSectionID();
 1152     Value.Offset = SymInfo.getOffset();
 1153     Value.Addend = SymInfo.getOffset() + Addend;
 1175         Value.SectionID = *SectionIDOrErr;
 1178       Value.Addend = Addend;
 1184       Value.SymbolName = TargetName.data();
 1185       Value.Addend = Addend;
 1191       if (!Value.SymbolName)
 1192         Value.SymbolName = "";
 1207       resolveAArch64Branch(SectionID, Value, RelI, Stubs);
 1211       uint64_t GOTOffset = findOrAllocGOTEntry(Value, ELF::R_AARCH64_ABS64);
 1216       uint64_t GOTOffset = findOrAllocGOTEntry(Value, ELF::R_AARCH64_ABS64);
 1220       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1230       StubMap::const_iterator i = Stubs.find(Value);
 1240         Stubs[Value] = Section.getStubOffset();
 1244                            ELF::R_ARM_ABS32, Value.Addend);
 1245         if (Value.SymbolName)
 1246           addRelocationForSymbol(RE, Value.SymbolName);
 1248           addRelocationForSection(RE, Value.SectionID);
 1261         Value.Addend += *Placeholder;
 1264         Value.Addend += (int16_t)((*Placeholder & 0xFFF) | (((*Placeholder >> 16) & 0xF) << 12));
 1266       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1282       Value.Addend += Addend;
 1285       StubMap::const_iterator i = Stubs.find(Value);
 1293         Stubs[Value] = Section.getStubOffset();
 1302                              ELF::R_MIPS_HI16, Value.Addend);
 1305                              ELF::R_MIPS_LO16, Value.Addend);
 1307         if (Value.SymbolName) {
 1308           addRelocationForSymbol(REHi, Value.SymbolName);
 1309           addRelocationForSymbol(RELo, Value.SymbolName);
 1311           addRelocationForSection(REHi, Value.SectionID);
 1312           addRelocationForSection(RELo, Value.SectionID);
 1322       PendingRelocs.push_back(std::make_pair(Value, RE));
 1324       int64_t Addend = Value.Addend + SignExtend32<16>(Opcode & 0x0000ffff);
 1328         if (MatchingValue == Value &&
 1332           if (Value.SymbolName)
 1333             addRelocationForSymbol(Reloc, Value.SymbolName);
 1335             addRelocationForSection(Reloc, Value.SectionID);
 1341       if (Value.SymbolName)
 1342         addRelocationForSymbol(RE, Value.SymbolName);
 1344         addRelocationForSection(RE, Value.SectionID);
 1347         Value.Addend += Opcode;
 1349         Value.Addend += SignExtend32<18>((Opcode & 0x0000ffff) << 2);
 1351         Value.Addend += SignExtend32<21>((Opcode & 0x0007ffff) << 2);
 1353         Value.Addend += SignExtend32<23>((Opcode & 0x001fffff) << 2);
 1355         Value.Addend += SignExtend32<28>((Opcode & 0x03ffffff) << 2);
 1356       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1360     RelocationEntry RE(SectionID, Offset, RelType, Value.Addend);
 1370       if (Value.SymbolName)
 1371         addRelocationForSymbol(RE, Value.SymbolName);
 1373         addRelocationForSection(RE, Value.SectionID);
 1380       StubMap::const_iterator i = Stubs.find(Value);
 1388         Stubs[Value] = Section.getStubOffset();
 1398                                ELF::R_MIPS_HI16, Value.Addend);
 1401                                ELF::R_MIPS_LO16, Value.Addend);
 1402           if (Value.SymbolName) {
 1403             addRelocationForSymbol(REHi, Value.SymbolName);
 1404             addRelocationForSymbol(RELo, Value.SymbolName);
 1406             addRelocationForSection(REHi, Value.SectionID);
 1407             addRelocationForSection(RELo, Value.SectionID);
 1414                                     ELF::R_MIPS_HIGHEST, Value.Addend);
 1417                                    ELF::R_MIPS_HIGHER, Value.Addend);
 1420                                ELF::R_MIPS_HI16, Value.Addend);
 1423                                ELF::R_MIPS_LO16, Value.Addend);
 1424           if (Value.SymbolName) {
 1425             addRelocationForSymbol(REHighest, Value.SymbolName);
 1426             addRelocationForSymbol(REHigher, Value.SymbolName);
 1427             addRelocationForSymbol(REHi, Value.SymbolName);
 1428             addRelocationForSymbol(RELo, Value.SymbolName);
 1430             addRelocationForSection(REHighest, Value.SectionID);
 1431             addRelocationForSection(REHigher, Value.SectionID);
 1432             addRelocationForSection(REHi, Value.SectionID);
 1433             addRelocationForSection(RELo, Value.SectionID);
 1441       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1456       bool IsExtern = Value.SymbolName || SymType == SymbolRef::ST_Unknown;
 1462           if (auto Err = findOPDEntrySection(Obj, ObjSectionToID, Value))
 1467           if (Value.SectionID == SectionID){
 1469             Value.Addend += ELF::decodePPC64LocalEntryOffset(SymOther);
 1473             Sections[Value.SectionID].getAddressWithOffset(Value.Addend);
 1473             Sections[Value.SectionID].getAddressWithOffset(Value.Addend);
 1479                    (AbiVariant == 2  && Value.SectionID == SectionID)) {
 1480           RelocationEntry RE(SectionID, Offset, RelType, Value.Addend);
 1481           addRelocationForSection(RE, Value.SectionID);
 1484       if (IsExtern || (AbiVariant == 2 && Value.SectionID != SectionID) ||
 1488         StubMap::const_iterator i = Stubs.find(Value);
 1499           Stubs[Value] = Section.getStubOffset();
 1504                              ELF::R_PPC64_ADDR64, Value.Addend);
 1515                                 ELF::R_PPC64_ADDR16_HIGHEST, Value.Addend);
 1517                                ELF::R_PPC64_ADDR16_HIGHER, Value.Addend);
 1519                               ELF::R_PPC64_ADDR16_HI, Value.Addend);
 1521                               ELF::R_PPC64_ADDR16_LO, Value.Addend);
 1523           if (Value.SymbolName) {
 1524             addRelocationForSymbol(REhst, Value.SymbolName);
 1525             addRelocationForSymbol(REhr, Value.SymbolName);
 1526             addRelocationForSymbol(REh, Value.SymbolName);
 1527             addRelocationForSymbol(REl, Value.SymbolName);
 1529             addRelocationForSection(REhst, Value.SectionID);
 1530             addRelocationForSection(REhr, Value.SectionID);
 1531             addRelocationForSection(REh, Value.SectionID);
 1532             addRelocationForSection(REl, Value.SectionID);
 1541         if (IsExtern || (AbiVariant == 2 && Value.SectionID != SectionID)) {
 1578       if (Value.SymbolName || Value.SectionID != TOCValue.SectionID)
 1578       if (Value.SymbolName || Value.SectionID != TOCValue.SectionID)
 1580       Value.Addend -= TOCValue.Addend;
 1581       resolveRelocation(Sections[SectionID], Offset, Value.Addend, RelType, 0);
 1589         if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
 1592         if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
 1594         Value.Addend += Addend;
 1597       RelocationEntry RE(SectionID, Offset, RelType, Value.Addend);
 1599       if (Value.SymbolName)
 1600         addRelocationForSymbol(RE, Value.SymbolName);
 1602         addRelocationForSection(RE, Value.SectionID);
 1619     StubMap::const_iterator i = Stubs.find(Value);
 1635       Stubs[Value] = StubOffset;
 1638                          Value.Offset);
 1639       if (Value.SymbolName)
 1640         addRelocationForSymbol(RE, Value.SymbolName);
 1642         addRelocationForSection(RE, Value.SectionID);
 1669       if (Value.SymbolName) {
 1673         StubMap::const_iterator i = Stubs.find(Value);
 1688           Stubs[Value] = StubOffset;
 1704               Value.SymbolName);
 1711         RelocationEntry RE(SectionID, Offset, ELF::R_X86_64_PC32, Value.Addend,
 1712                   Value.Offset);
 1713         addRelocationForSection(RE, Value.SectionID);
 1724           computeGOTOffsetRE(GOTOffset, Value.Offset, ELF::R_X86_64_64);
 1725       if (Value.SymbolName)
 1726         addRelocationForSymbol(RE, Value.SymbolName);
 1728         addRelocationForSection(RE, Value.SectionID);
 1737           computeGOTOffsetRE(GOTOffset, Value.Offset, ELF::R_X86_64_64);
 1738       if (Value.SymbolName)
 1739         addRelocationForSymbol(RE, Value.SymbolName);
 1741         addRelocationForSection(RE, Value.SectionID);
 1751       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1753       Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset));
 1754       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1756       Value.Addend += support::ulittle64_t::ref(computePlaceholderAddress(SectionID, Offset));
 1757       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1759       processSimpleRelocation(SectionID, Offset, RelType, Value);
 1763       Value.Addend += support::ulittle32_t::ref(computePlaceholderAddress(SectionID, Offset));
 1765     processSimpleRelocation(SectionID, Offset, RelType, Value);