reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);