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

Declarations

tools/lld/ELF/SyntheticSections.h
 1173 extern InStruct in;

References

tools/lld/ELF/Arch/AArch64.cpp
  191   write64le(buf, in.plt->getVA());
  207   uint64_t got = in.gotPlt->getVA();
  208   uint64_t plt = in.plt->getVA();
  609   uint64_t got = in.gotPlt->getVA();
  610   uint64_t plt = in.plt->getVA();
tools/lld/ELF/Arch/ARM.cpp
  154   write32le(buf, in.plt->getVA());
  175   uint64_t gotPlt = in.gotPlt->getVA();
  176   uint64_t l1 = in.plt->getVA() + 8;
  194   uint64_t offset = in.gotPlt->getVA() - in.plt->getVA() - 4;
  194   uint64_t offset = in.gotPlt->getVA() - in.plt->getVA() - 4;
tools/lld/ELF/Arch/Hexagon.cpp
  300   uint64_t off = in.gotPlt->getVA() - in.plt->getVA();
  300   uint64_t off = in.gotPlt->getVA() - in.plt->getVA();
tools/lld/ELF/Arch/Mips.cpp
  197   uint64_t va = in.plt->getVA();
  249     uint64_t gotPlt = in.gotPlt->getVA();
  250     uint64_t plt = in.plt->getVA();
  302   uint64_t gotPlt = in.gotPlt->getVA();
tools/lld/ELF/Arch/PPC.cpp
   83   uint32_t got = in.got->getVA();
   84   uint32_t glink = in.plt->getVA(); // VA of .glink
   87     uint32_t afterBcl = in.plt->getSize() - target->pltHeaderSize + 12;
  168   write32(buf, in.plt->getVA() + 4 * s.pltIndex);
tools/lld/ELF/Arch/PPC64.cpp
   68   uint64_t tocVA = in.got->getVA();
  666   int64_t gotPltOffset = in.gotPlt->getVA() - (in.plt->getVA() + 8);
  666   int64_t gotPltOffset = in.gotPlt->getVA() - (in.plt->getVA() + 8);
tools/lld/ELF/Arch/RISCV.cpp
  139     write64le(buf, in.plt->getVA());
  141     write32le(buf, in.plt->getVA());
  153   uint32_t offset = in.gotPlt->getVA() - in.plt->getVA();
  153   uint32_t offset = in.gotPlt->getVA() - in.plt->getVA();
tools/lld/ELF/Arch/X86.cpp
  211   uint32_t gotPlt = in.gotPlt->getVA();
  226     write32le(buf + 2, gotPltEntryAddr - in.gotPlt->getVA());
  476   uint32_t ebx = in.gotPlt->getVA();
  515   uint32_t gotPlt = in.gotPlt->getVA();
tools/lld/ELF/Arch/X86_64.cpp
  152   uint64_t gotPlt = in.gotPlt->getVA();
  153   uint64_t plt = in.plt->getVA();
  625   uint64_t gotPlt = in.gotPlt->getVA();
  626   uint64_t plt = in.plt->getVA();
tools/lld/ELF/Driver.cpp
  100   memset(&in, 0, sizeof(in));
  100   memset(&in, 0, sizeof(in));
tools/lld/ELF/InputFiles.cpp
  806     if (in.armAttributes == nullptr) {
  807       in.armAttributes = make<InputSection>(*this, sec, name);
  808       return in.armAttributes;
tools/lld/ELF/InputSection.cpp
  426     p->setSymbolAndType(in.symTab->getSymbolIndex(&sym), type,
  665     return in.got->getVA() + a - p;
  667     return in.gotPlt->getVA() + a - p;
  670     return sym.getVA(a) - in.got->getVA();
  672     return sym.getVA(a) - in.gotPlt->getVA();
  675     return sym.getGotVA() + a - in.gotPlt->getVA();
  687     return sym.getVA(a) - in.mipsGot->getGp(file);
  689     return in.mipsGot->getGp(file) + a;
  698     uint64_t v = in.mipsGot->getGp(file) + a - p;
  709     return in.mipsGot->getVA() + in.mipsGot->getPageEntryOffset(file, sym, a) -
  709     return in.mipsGot->getVA() + in.mipsGot->getPageEntryOffset(file, sym, a) -
  710            in.mipsGot->getGp(file);
  716     return in.mipsGot->getVA() + in.mipsGot->getSymEntryOffset(file, sym, a) -
  716     return in.mipsGot->getVA() + in.mipsGot->getSymEntryOffset(file, sym, a) -
  717            in.mipsGot->getGp(file);
  719     return in.mipsGot->getVA() + in.mipsGot->getGlobalDynOffset(file, sym) -
  719     return in.mipsGot->getVA() + in.mipsGot->getGlobalDynOffset(file, sym) -
  720            in.mipsGot->getGp(file);
  722     return in.mipsGot->getVA() + in.mipsGot->getTlsIndexOffset(file) -
  722     return in.mipsGot->getVA() + in.mipsGot->getTlsIndexOffset(file) -
  723            in.mipsGot->getGp(file);
  801     return in.got->getGlobalDynAddr(sym) + a;
  803     return in.got->getGlobalDynAddr(sym) + a - p;
  805     return getAArch64Page(in.got->getGlobalDynAddr(sym) + a) -
  808     return in.got->getGlobalDynOffset(sym) + a;
  810     return in.got->getVA() + in.got->getGlobalDynOffset(sym) + a - in.gotPlt->getVA();
  810     return in.got->getVA() + in.got->getGlobalDynOffset(sym) + a - in.gotPlt->getVA();
  810     return in.got->getVA() + in.got->getGlobalDynOffset(sym) + a - in.gotPlt->getVA();
  812     return in.got->getGlobalDynAddr(sym) + a - p;
  814     return in.got->getVA() + in.got->getTlsIndexOff() + a - in.gotPlt->getVA();
  814     return in.got->getVA() + in.got->getTlsIndexOff() + a - in.gotPlt->getVA();
  814     return in.got->getVA() + in.got->getTlsIndexOff() + a - in.gotPlt->getVA();
  816     return in.got->getTlsIndexOff() + a;
  818     return in.got->getTlsIndexVA() + a - p;
tools/lld/ELF/LinkerScript.cpp
  445   if (s == in.shStrTab || s == mainPart->relaDyn || s == mainPart->relrDyn)
tools/lld/ELF/OutputSections.cpp
  346   os->link = in.symTab->getParent()->sectionIndex;
  351   os->info = in.symTab->getSymbolIndex(symbols[section->info]);
  380   link = in.symTab->getParent()->sectionIndex;
tools/lld/ELF/Relocations.cpp
  137     in.mipsGot->addTlsIndex(*c.file);
  142     in.mipsGot->addDynTlsEntry(*c.file, sym);
  169     if (in.got->addDynTlsEntry(sym)) {
  170       uint64_t off = in.got->getGlobalDynOffset(sym);
  172           {target->tlsDescRel, in.got, off, !sym.isPreemptible, &sym, 0});
  205     if (in.got->addTlsIndex()) {
  207         in.got->relocations.push_back(
  208             {R_ADDEND, target->symbolicRel, in.got->getTlsIndexOff(), 1, &sym});
  210         mainPart->relaDyn->addReloc(target->tlsModuleIndexRel, in.got,
  211                                 in.got->getTlsIndexOff(), nullptr);
  229       in.got->addEntry(sym);
  231       in.got->relocations.push_back(
  241       if (in.got->addDynTlsEntry(sym)) {
  242         uint64_t off = in.got->getGlobalDynOffset(sym);
  246           in.got->relocations.push_back(
  249           mainPart->relaDyn->addReloc(target->tlsModuleIndexRel, in.got, off, &sym);
  255           mainPart->relaDyn->addReloc(target->tlsOffsetRel, in.got, offsetOff,
  258           in.got->relocations.push_back(
  272         in.got->addEntry(sym);
  273         mainPart->relaDyn->addReloc(target->tlsGotRel, in.got, sym.getGotOffset(),
  569   OutputSection *osec = (isRO ? in.bssRelRo : in.bss)->getParent();
  569   OutputSection *osec = (isRO ? in.bssRelRo : in.bss)->getParent();
  963   in.got->addEntry(sym);
  978     in.got->relocations.push_back({expr, target->symbolicRel, off, 0, &sym});
  985     addRelativeReloc(in.got, off, &sym, 0, R_ABS, target->symbolicRel);
  989       sym.isTls() ? target->tlsGotRel : target->gotRel, in.got, off, &sym, 0,
 1071         in.mipsGot->addEntry(*sec.file, sym, addend, expr);
 1132         addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1132         addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1132         addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1135             sym, in.plt,
 1246     in.gotPlt->hasGotPltOffRel = true;
 1249     in.got->hasGotOffRel = true;
 1273       addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1273       addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1273       addPltEntry<ELFT>(in.plt, in.gotPlt, in.relaPlt, target->pltRel, sym);
 1285         in.mipsGot->addEntry(*sec.file, sym, addend, expr);
 1343       addPltEntry<ELFT>(in.iplt, in.igotPlt, in.relaIplt, target->iRelativeRel,
 1343       addPltEntry<ELFT>(in.iplt, in.igotPlt, in.relaIplt, target->iRelativeRel,
 1343       addPltEntry<ELFT>(in.iplt, in.igotPlt, in.relaIplt, target->iRelativeRel,
 1362       d.section = in.iplt;
tools/lld/ELF/Symbols.cpp
  147     return in.igotPlt->getVA() + getGotPltOffset();
  148   return in.got->getVA() + getGotOffset();
  155     return in.igotPlt->getVA() + getGotPltOffset();
  156   return in.gotPlt->getVA() + getGotPltOffset();
  171   PltSection *plt = isInIplt ? in.iplt : in.plt;
  171   PltSection *plt = isInIplt ? in.iplt : in.plt;
  184   return in.ppc64LongBranchTarget->getVA() +
tools/lld/ELF/SyntheticSections.cpp
  162     reginfo.ri_gp_value = in.mipsGot->getGp();
  219     reginfo.ri_gp_value = in.mipsGot->getGp();
  267   if (in.symTab)
  268     in.symTab->addSymbol(s);
 1254     if (in.relaIplt->getParent() == relaDyn->getParent())
 1255       size += in.relaIplt->getSize();
 1256     if (in.relaPlt->getParent() == relaDyn->getParent())
 1257       size += in.relaPlt->getSize();
 1267   size_t size = in.relaPlt->getSize();
 1268   if (in.relaIplt->getParent() == in.relaPlt->getParent() &&
 1268   if (in.relaIplt->getParent() == in.relaPlt->getParent() &&
 1269       in.relaIplt->name == in.relaPlt->name)
 1269       in.relaIplt->name == in.relaPlt->name)
 1270     size += in.relaIplt->getSize();
 1351       (in.relaIplt->isNeeded() &&
 1352        part.relaDyn->getParent() == in.relaIplt->getParent())) {
 1383   if (isMain && (in.relaPlt->isNeeded() || in.relaIplt->isNeeded())) {
 1383   if (isMain && (in.relaPlt->isNeeded() || in.relaIplt->isNeeded())) {
 1384     addInSec(DT_JMPREL, in.relaPlt);
 1388       addInSec(DT_MIPS_PLTGOT, in.gotPlt);
 1391       addInSec(DT_PLTGOT, in.plt);
 1394       addInSec(DT_PLTGOT, in.gotPlt);
 1462     add(DT_MIPS_LOCAL_GOTNO, [] { return in.mipsGot->getLocalEntriesNum(); });
 1464     if (const Symbol *b = in.mipsGot->getFirstGlobalEntry())
 1468     addInSec(DT_PLTGOT, in.mipsGot);
 1469     if (in.mipsRldMap) {
 1471         addInSec(DT_MIPS_RLD_MAP, in.mipsRldMap);
 1474       addInSecRelative(DT_MIPS_RLD_MAP_REL, in.mipsRldMap);
 1481     add(DT_PPC_GOT, [] { return in.got->getVA(); });
 1484   if (config->emachine == EM_PPC64 && in.plt->isNeeded()) {
 1489                          return in.plt->getVA(0) + offset;
 1568   if (in.relaPlt == this)
 1569     getParent()->info = in.gotPlt->getParent()->sectionIndex;
 1570   if (in.relaIplt == this)
 1571     getParent()->info = in.igotPlt->getParent()->sectionIndex;
 2210   for (const SymbolTableEntry &entry : in.symTab->getSymbols()) {
 2231   getParent()->link = in.symTab->getParent()->sectionIndex;
 2235   return in.symTab->getNumSymbols() * 4;
 2474   RelocationBaseSection *relSec = isIplt ? in.relaIplt : in.relaPlt;
 2474   RelocationBaseSection *relSec = isIplt ? in.relaIplt : in.relaPlt;
 2477   size_t pltOff = isIplt ? in.plt->getSize() : 0;
 3581         i == partitions.size() - 1 ? in.partEnd : partitions[i + 1].elfHeader;
tools/lld/ELF/Thunks.cpp
  302     in.ppc64LongBranchTarget->addEntry(dest);
  304         {target->relativeRel, in.ppc64LongBranchTarget,
  314       in.ppc64LongBranchTarget->addEntry(dest);
  725     offset = destination.getGotPltVA() - (in.ppc32Got2->getParent()->getVA() +
  730     offset = destination.getGotPltVA() - in.got->getVA();
tools/lld/ELF/Writer.cpp
  329   in.shStrTab = make<StringTableSection>(".shstrtab", false);
  335     in.strTab = make<StringTableSection>(".strtab", false);
  336     in.symTab = make<SymbolTableSection<ELFT>>(*in.strTab);
  336     in.symTab = make<SymbolTableSection<ELFT>>(*in.strTab);
  337     in.symTabShndx = make<SymtabShndxSection>();
  340   in.bss = make<BssSection>(".bss", 0, 1);
  341   add(in.bss);
  348   in.bssRelRo =
  350   add(in.bssRelRo);
  355       in.mipsRldMap = make<MipsRldMapSection>();
  356       add(in.mipsRldMap);
  453     in.partEnd = make<BssSection>(".part.end", config->maxPageSize, 1);
  454     in.partEnd->partition = 255;
  455     add(in.partEnd);
  457     in.partIndex = make<PartitionIndexSection>();
  458     addOptionalRegular("__part_index_begin", in.partIndex, 0);
  459     addOptionalRegular("__part_index_end", in.partIndex,
  460                        in.partIndex->getSize());
  461     add(in.partIndex);
  467     in.mipsGot = make<MipsGotSection>();
  468     add(in.mipsGot);
  470     in.got = make<GotSection>();
  471     add(in.got);
  475     in.ppc32Got2 = make<PPC32Got2Section>();
  476     add(in.ppc32Got2);
  480     in.ppc64LongBranchTarget = make<PPC64LongBranchTargetSection>();
  481     add(in.ppc64LongBranchTarget);
  484   in.gotPlt = make<GotPltSection>();
  485   add(in.gotPlt);
  486   in.igotPlt = make<IgotPltSection>();
  487   add(in.igotPlt);
  493       in.gotPlt->hasGotPltOffRel = true;
  495       in.got->hasGotOffRel = true;
  503   in.relaPlt = make<RelocationSection<ELFT>>(
  505   add(in.relaPlt);
  513   in.relaIplt = make<RelocationSection<ELFT>>(
  514       config->androidPackDynRelocs ? in.relaPlt->name : relaDynName,
  516   add(in.relaIplt);
  518   in.plt = make<PltSection>(false);
  519   add(in.plt);
  520   in.iplt = make<PltSection>(true);
  521   add(in.iplt);
  534   if (in.symTab)
  535     add(in.symTab);
  536   if (in.symTabShndx)
  537     add(in.symTabShndx);
  538   add(in.shStrTab);
  539   if (in.strTab)
  540     add(in.strTab);
  678   if (!in.symTab)
  695       in.symTab->addSymbol(b);
  731     in.symTab->addSymbol(sym);
  776   if (in.got && sec == in.got->getParent())
  776   if (in.got && sec == in.got->getParent())
  791   if (sec == in.gotPlt->getParent())
 1041     InputSection *gotSection = in.gotPlt;
 1043       gotSection = in.mipsGot ? cast<InputSection>(in.mipsGot)
 1043       gotSection = in.mipsGot ? cast<InputSection>(in.mipsGot)
 1044                               : cast<InputSection>(in.got);
 1049   if (ElfSym::relaIpltStart && in.relaIplt->isNeeded()) {
 1050     ElfSym::relaIpltStart->section = in.relaIplt;
 1051     ElfSym::relaIpltEnd->section = in.relaIplt;
 1052     ElfSym::relaIpltEnd->value = in.relaIplt->getSize();
 1577     if (in.mipsGot)
 1578       in.mipsGot->updateAllocSize();
 1753   if (in.plt && in.plt->isNeeded())
 1753   if (in.plt && in.plt->isNeeded())
 1754     in.plt->addSymbols();
 1755   if (in.iplt && in.iplt->isNeeded())
 1755   if (in.iplt && in.iplt->isNeeded())
 1756     in.iplt->addSymbols();
 1785     if (in.symTab)
 1786       in.symTab->addSymbol(sym);
 1811   if (in.mipsGot)
 1812     in.mipsGot->build();
 1839     sec->shName = in.shStrTab->addString(sec->name);
 1875   finalizeSynthetic(in.bss);
 1876   finalizeSynthetic(in.bssRelRo);
 1877   finalizeSynthetic(in.symTabShndx);
 1878   finalizeSynthetic(in.shStrTab);
 1879   finalizeSynthetic(in.strTab);
 1880   finalizeSynthetic(in.got);
 1881   finalizeSynthetic(in.mipsGot);
 1882   finalizeSynthetic(in.igotPlt);
 1883   finalizeSynthetic(in.gotPlt);
 1884   finalizeSynthetic(in.relaIplt);
 1885   finalizeSynthetic(in.relaPlt);
 1886   finalizeSynthetic(in.plt);
 1887   finalizeSynthetic(in.iplt);
 1888   finalizeSynthetic(in.ppc32Got2);
 1889   finalizeSynthetic(in.partIndex);
 1940   finalizeSynthetic(in.symTab);
 1941   finalizeSynthetic(in.ppc64LongBranchTarget);
 2573   uint32_t strTabIndex = in.shStrTab->getParent()->sectionIndex;