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

References

tools/lld/COFF/Chunks.cpp
  876     mc = make<MergeChunk>(c->getAlignment());
tools/lld/COFF/DLL.cpp
  577         lookups.push_back(make<OrdinalOnlyChunk>(ord));
  578         addresses.push_back(make<OrdinalOnlyChunk>(ord));
  581       auto *c = make<HintNameChunk>(s->getExternalName(), ord);
  582       lookups.push_back(make<LookupChunk>(c));
  583       addresses.push_back(make<LookupChunk>(c));
  587     lookups.push_back(make<NullChunk>(config->wordsize));
  588     addresses.push_back(make<NullChunk>(config->wordsize));
  594     dllNames.push_back(make<StringChunk>(syms[0]->getDLLName()));
  595     auto *dir = make<ImportDirectoryChunk>(dllNames.back());
  601   dirs.push_back(make<NullChunk>(sizeof(ImportDirectoryTableEntry)));
  631     dllNames.push_back(make<StringChunk>(syms[0]->getDLLName()));
  632     auto *dir = make<DelayDirectoryChunk>(dllNames.back());
  638       auto *a = make<DelayAddressChunk>(t);
  643         names.push_back(make<OrdinalOnlyChunk>(s->getOrdinal()));
  645         auto *c = make<HintNameChunk>(extName, 0);
  646         names.push_back(make<LookupChunk>(c));
  652     addresses.push_back(make<NullChunk>(8));
  653     names.push_back(make<NullChunk>(8));
  657     auto *mh = make<NullChunk>(8);
  668   dirs.push_back(make<NullChunk>(sizeof(delay_import_directory_table_entry)));
  674     return make<TailMergeChunkX64>(dir, helper);
  676     return make<TailMergeChunkX86>(dir, helper);
  678     return make<TailMergeChunkARM>(dir, helper);
  680     return make<TailMergeChunkARM64>(dir, helper);
  690     return make<ThunkChunkX64>(s, tailMerge);
  692     return make<ThunkChunkX86>(s, tailMerge);
  694     return make<ThunkChunkARM>(s, tailMerge);
  696     return make<ThunkChunkARM64>(s, tailMerge);
  707   auto *dllName = make<StringChunk>(sys::path::filename(config->outputFile));
  708   auto *addressTab = make<AddressTableChunk>(maxOrdinal);
  712       names.push_back(make<StringChunk>(e.exportName));
  718     e.forwardChunk = make<StringChunk>(e.forwardTo);
  722   auto *nameTab = make<NamePointersChunk>(names);
  723   auto *ordinalTab = make<ExportOrdinalChunk>(names.size());
  724   auto *dir = make<ExportDirectoryChunk>(maxOrdinal, names.size(), dllName,
tools/lld/COFF/Driver.cpp
   73   config = make<Configuration>();
   74   symtab = make<SymbolTable>();
   75   driver = make<LinkerDriver>();
  162   make<std::unique_ptr<MemoryBuffer>>(std::move(mb)); // take ownership
  187       make<std::unique_ptr<Archive>>(std::move(file)); // take ownership
  194     symtab->addFile(make<ArchiveFile>(mbref));
  198       symtab->addFile(make<LazyObjFile>(mbref));
  200       symtab->addFile(make<BitcodeFile>(mbref, "", 0));
  205       symtab->addFile(make<LazyObjFile>(mbref));
  207       symtab->addFile(make<ObjFile>(mbref));
  257     InputFile *imp = make<ImportFile>(mb);
  265     obj = make<ObjFile>(mb);
  267     obj = make<BitcodeFile>(mb, parentName, offsetInArchive);
 1028   ObjFile *f = make<ObjFile>(convertResToCOFF(resources, resourceObjFiles));
tools/lld/COFF/DriverUtils.cpp
  746   make<std::unique_ptr<MemoryBuffer>>(std::move(*e)); // take ownership
tools/lld/COFF/InputFiles.cpp
  147     file = make<BitcodeFile>(mb, "", 0, std::move(symbols));
  149     file = make<ObjFile>(mb, std::move(symbols));
  270   auto *c = make<SectionChunk>(this, sec);
  397     return make<DefinedRegular>(this, /*Name*/ "", /*IsCOMDAT*/ false,
  586     auto *c = make<CommonChunk>(sym);
  603     return make<DefinedAbsolute>(name, sym);
  637       leader = make<DefinedRegular>(this, /*Name*/ "", /*IsCOMDAT*/ false,
  798     dwarf = make<DWARFCache>(DWARFContext::create(*getCOFFObj()));
  815     dwarf = make<DWARFCache>(DWARFContext::create(*getCOFFObj()));
tools/lld/COFF/SymbolTable.cpp
  461     sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
  798     auto *obj = make<ObjFile>(MemoryBufferRef(object, "lto.tmp"));
tools/lld/COFF/Symbols.cpp
  115     return make<ImportThunkChunkX64>(s);
  117     return make<ImportThunkChunkX86>(s);
  119     return make<ImportThunkChunkARM64>(s);
  121   return make<ImportThunkChunkARM>(s);
tools/lld/COFF/Symbols.h
  363       : Defined(DefinedLocalImportKind, n), data(make<LocalImportChunk>(s)) {}
tools/lld/COFF/Writer.cpp
  376     c = make<RangeExtensionThunkARM>(target);
  379     c = make<RangeExtensionThunkARM64>(target);
  384   Defined *d = make<DefinedSynthetic>("", c);
  803       sec = make<OutputSection>(name, outChars);
  924     debugDirectory = make<DebugDirectoryChunk>(debugRecords, config->repro);
  933     buildId = make<CVDebugRecordChunk>();
 1669   RVATableChunk *tableChunk = make<RVATableChunk>(std::move(tableSymbols));
 1694   PseudoRelocTableChunk *table = make<PseudoRelocTableChunk>(rels);
 1696   EmptyChunk *endOfList = make<EmptyChunk>();
 1711   AbsolutePointerChunk *ctorListHead = make<AbsolutePointerChunk>(-1);
 1712   AbsolutePointerChunk *ctorListEnd = make<AbsolutePointerChunk>(0);
 1713   AbsolutePointerChunk *dtorListHead = make<AbsolutePointerChunk>(-1);
 1714   AbsolutePointerChunk *dtorListEnd = make<AbsolutePointerChunk>(0);
 1919     relocSec->addChunk(make<BaserelChunk>(page, &v[i], &v[0] + j));
 1925   relocSec->addChunk(make<BaserelChunk>(page, &v[i], &v[0] + j));
 1933   pSec = make<PartialSection>(name, outChars);
tools/lld/ELF/AArch64ErrataFix.cpp
  558   auto *ps = make<Patch843419Section>(isec, patcheeOffset);
tools/lld/ELF/ARMErrataFix.cpp
  436     psec = make<Patch657417Section>(isec, sr.off, sr.instr, destIsARM);
  454     psec = make<Patch657417Section>(isec, sr.off, sr.instr, isBLX(sr.instr));
tools/lld/ELF/Driver.cpp
   94   config = make<Configuration>();
   95   driver = make<LinkerDriver>();
   96   script = make<LinkerScript>();
   97   symtab = make<SymbolTable>();
  183     make<std::unique_ptr<MemoryBuffer>>(std::move(mb));
  198     files.push_back(make<BinaryFile>(mbref));
  233         files.push_back(make<LazyObjFile>(p.first, path, p.second));
  238     files.push_back(make<ArchiveFile>(std::move(file)));
  258         make<SharedFile>(mbref, withLOption ? path::filename(path) : path));
  263       files.push_back(make<LazyObjFile>(mbref, "", 0));
 1421     auto *bss = make<BssSection>("COMMON", s->size, s->alignment);
 1808   Out::elfHeader = make<OutputSection>("", 0, SHF_ALLOC);
tools/lld/ELF/InputFiles.cpp
  119   make<std::unique_ptr<MemoryBuffer>>(std::move(mb)); // take MB ownership
  267   dwarf = make<DWARFCache>(std::make_unique<DWARFContext>(
  785   return make<InputSection>(sec->file, sec->flags, sec->type, sec->alignment,
  807       in.armAttributes = make<InputSection>(*this, sec, name);
  855       InputSection *relocSec = make<InputSection>(*this, sec, name);
  887       InputSection *relocSec = make<InputSection>(*this, sec, name);
  968     return make<EhInputSection>(*this, sec, name);
  971     return make<MergeInputSection>(*this, sec, name);
  972   return make<InputSection>(*this, sec, name);
 1021         this->symbols[i] = make<Undefined>(this, name, binding, stOther, type);
 1023         this->symbols[i] = make<Undefined>(this, name, binding, stOther, type,
 1027             make<Defined>(this, name, binding, stOther, type, value, size, sec);
 1445   auto *section = make<InputSection>(this, SHF_ALLOC | SHF_WRITE, SHT_PROGBITS,
 1469     return make<BitcodeFile>(mb, archiveName, offsetInArchive);
 1473     return make<ObjFile<ELF32LE>>(mb, archiveName);
 1475     return make<ObjFile<ELF32BE>>(mb, archiveName);
 1477     return make<ObjFile<ELF64LE>>(mb, archiveName);
 1479     return make<ObjFile<ELF64BE>>(mb, archiveName);
tools/lld/ELF/LinkerScript.cpp
   87     sec = make<OutputSection>(name, SHT_PROGBITS, 0);
   98     cmdRef = make<OutputSection>(name, SHT_PROGBITS, 0);
  531   aether = make<OutputSection>("", 0, SHF_ALLOC);
 1122     PhdrEntry *phdr = make<PhdrEntry>(cmd.type, cmd.flags ? *cmd.flags : PF_R);
tools/lld/ELF/OutputSections.cpp
   99     sectionCommands.push_back(make<InputSectionDescription>(""));
tools/lld/ELF/Relocations.cpp
  568       make<BssSection>(isRO ? ".bss.rel.ro" : ".bss", symSize, ss.alignment);
  575     osec->sectionCommands.push_back(make<InputSectionDescription>(""));
 1342       auto *directSym = make<Defined>(cast<Defined>(sym));
 1689   auto *ts = make<ThunkSection>(os, off);
tools/lld/ELF/ScriptParser.cpp
  274   SymbolAssignment *cmd = make<SymbolAssignment>(name, e, getCurrentLocation());
  517   v.push_back(make<SymbolAssignment>(".", moveDot, getCurrentLocation()));
  661   auto *cmd = make<InputSectionDescription>(filePattern);
  844       auto *isd = make<InputSectionDescription>(tok);
  908     return make<SymbolAssignment>(".", readAssert(), getCurrentLocation());
  938   return make<SymbolAssignment>(name, e, getCurrentLocation());
 1102   return make<ByteCommand>(e, size, commandString);
 1479     MemoryRegion *mr = make<MemoryRegion>(tok, origin, length, flags, negFlags);
tools/lld/ELF/SymbolTable.cpp
   70   Symbol *sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
tools/lld/ELF/SyntheticSections.cpp
   85   return make<MergeInputSection>(SHF_MERGE | SHF_STRINGS, SHT_PROGBITS, 1,
  144     return make<MipsAbiFlagsSection<ELFT>>(flags);
  206   return make<MipsOptionsSection<ELFT>>(reginfo);
  251   return make<MipsReginfoSection<ELFT>>(reginfo);
  259   return make<InputSection>(nullptr, SHF_ALLOC, SHT_PROGBITS, 1, contents,
  265   auto *s = make<Defined>(section.file, name, STB_LOCAL, STV_DEFAULT, type,
  364     rec = make<CieRecord>();
 2729   auto *ret = make<GdbIndexSection>();
 3130     return make<MergeTailSection>(name, type, flags, alignment);
 3131   return make<MergeNoTailSection>(name, type, flags, alignment);
tools/lld/ELF/Thunks.cpp
  806     return make<AArch64ADRPThunk>(s);
  807   return make<AArch64ABSLongThunk>(s);
  823       return make<ARMV5PILongThunk>(s);
  824     return make<ARMV5ABSLongThunk>(s);
  841       return make<ThumbV6MPILongThunk>(s);
  842     return make<ThumbV6MABSLongThunk>(s);
  878       return make<ARMV7PILongThunk>(s);
  879     return make<ARMV7ABSLongThunk>(s);
  884       return make<ThumbV7PILongThunk>(s);
  885     return make<ThumbV7ABSLongThunk>(s);
  892     return make<MicroMipsR6Thunk>(s);
  894     return make<MicroMipsThunk>(s);
  895   return make<MipsThunk>(s);
  901   return make<PPC32PltCallStub>(isec, rel, s);
  907     return make<PPC64PltCallStub>(s);
  910     return make<PPC64PILongBranchThunk>(s);
  912   return make<PPC64PDLongBranchThunk>(s);
tools/lld/ELF/Writer.cpp
  163         copy = make<InputSection>(cast<InputSection>(*s));
  165         copy = make<EhInputSection>(*es);
  329   in.shStrTab = make<StringTableSection>(".shstrtab", false);
  331   Out::programHeaders = make<OutputSection>("", 0, SHF_ALLOC);
  335     in.strTab = make<StringTableSection>(".strtab", false);
  336     in.symTab = make<SymbolTableSection<ELFT>>(*in.strTab);
  337     in.symTabShndx = make<SymtabShndxSection>();
  340   in.bss = make<BssSection>(".bss", 0, 1);
  349       make<BssSection>(hasDataRelRo ? ".data.rel.ro.bss" : ".bss.rel.ro", 0, 1);
  355       in.mipsRldMap = make<MipsRldMapSection>();
  375       part.elfHeader = make<PartitionElfHeaderSection<ELFT>>();
  379       part.programHeaders = make<PartitionProgramHeadersSection<ELFT>>();
  384       part.buildId = make<BuildIdSection>();
  388     part.dynStrTab = make<StringTableSection>(".dynstr", true);
  389     part.dynSymTab = make<SymbolTableSection<ELFT>>(*part.dynStrTab);
  390     part.dynamic = make<DynamicSection<ELFT>>();
  392       part.relaDyn = make<AndroidPackedRelocationSection<ELFT>>(relaDynName);
  395           make<RelocationSection<ELFT>>(relaDynName, config->zCombreloc);
  398       part.dynSymTab = make<SymbolTableSection<ELFT>>(*part.dynStrTab);
  401       part.verSym = make<VersionTableSection>();
  405         part.verDef = make<VersionDefinitionSection>();
  409       part.verNeed = make<VersionNeedSection<ELFT>>();
  413         part.gnuHashTab = make<GnuHashTableSection>();
  418         part.hashTab = make<HashTableSection>();
  428       part.relrDyn = make<RelrSection<ELFT>>();
  434         part.ehFrameHdr = make<EhFrameHeader>();
  437       part.ehFrame = make<EhFrameSection>();
  444       part.armExidx = make<ARMExidxSyntheticSection>();
  453     in.partEnd = make<BssSection>(".part.end", config->maxPageSize, 1);
  457     in.partIndex = make<PartitionIndexSection>();
  467     in.mipsGot = make<MipsGotSection>();
  470     in.got = make<GotSection>();
  475     in.ppc32Got2 = make<PPC32Got2Section>();
  480     in.ppc64LongBranchTarget = make<PPC64LongBranchTargetSection>();
  484   in.gotPlt = make<GotPltSection>();
  486   in.igotPlt = make<IgotPltSection>();
  503   in.relaPlt = make<RelocationSection<ELFT>>(
  513   in.relaIplt = make<RelocationSection<ELFT>>(
  518   in.plt = make<PltSection>(false);
  520   in.iplt = make<PltSection>(true);
  524     add(make<GnuPropertySection>());
  532     add(make<GnuStackSection>());
  729         make<Defined>(isec->file, "", STB_LOCAL, /*stOther=*/0, STT_SECTION,
 2052     ret.push_back(make<PhdrEntry>(type, flags));
 2091   PhdrEntry *relRo = make<PhdrEntry>(PT_GNU_RELRO, PF_R);
 2150   PhdrEntry *tlsHdr = make<PhdrEntry>(PT_TLS, PF_R);
 2218   PhdrEntry *entry = make<PhdrEntry>(pType, pFlags);
tools/lld/wasm/Driver.cpp
   89   config = make<Configuration>();
   90   symtab = make<SymbolTable>();
  213     make<std::unique_ptr<MemoryBuffer>>(std::move(mb));
  246     files.push_back(make<ArchiveFile>(mbref));
  457                                     make<InputGlobal>(wasmGlobal, nullptr));
  472       make<SyntheticFunction>(nullSignature, "__wasm_call_ctors"));
  479         make<SyntheticFunction>(nullSignature, "__wasm_apply_relocs"));
  508         make<SyntheticFunction>(nullSignature, "__wasm_init_memory"));
  517         make<SyntheticFunction>(i32ArgSignature, "__wasm_init_tls"));
tools/lld/wasm/InputFiles.cpp
   55   make<std::unique_ptr<MemoryBuffer>>(std::move(mb)); // take MB ownership
   70       return make<SharedFile>(mb);
   71     return make<ObjFile>(mb, archiveName);
   75     return make<BitcodeFile>(mb, archiveName);
  297       customSections.emplace_back(make<InputSection>(section, this));
  320     auto* seg = make<InputSegment>(s, this);
  333     auto* func = make<InputFunction>(types[funcTypes[i]], &funcs[i], this);
  341     globals.emplace_back(make<InputGlobal>(g, this));
  345     events.emplace_back(make<InputEvent>(types[e.Type.SigIndex], e, this));
  400       return make<DefinedFunction>(name, flags, this, func);
  410       return make<DefinedData>(name, flags, this, seg, offset, size);
  419       return make<DefinedGlobal>(name, flags, this, global);
  425     return make<SectionSymbol>(flags, section, this);
  431       return make<DefinedEvent>(name, flags, this, event);
  445       return make<UndefinedFunction>(name, sym.Info.ImportName,
  453       return make<UndefinedData>(name, flags, this);
  457       return make<UndefinedGlobal>(name, sym.Info.ImportName,
tools/lld/wasm/SymbolTable.cpp
   77     auto *obj = make<ObjFile>(MemoryBufferRef(filename, "lto.tmp"), "");
  109   Symbol *sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
  585     variant = reinterpret_cast<Symbol *>(make<SymbolUnion>());
  627   auto *func = make<SyntheticFunction>(sig, sym->getName(), debugName);
tools/lld/wasm/Writer.cpp
  131     OutputSection *sec = make<CustomSection>(name, pair.second);
  133       auto *sym = make<OutputSectionSymbol>(sec);
  167     addSection(make<RelocSection>(name, sec));
  348   addSection(make<CodeSection>(out.functionSec->inputFunctions));
  349   addSection(make<DataSection>(segments));
  669         s = make<OutputSegment>(name);
  960   out.dylinkSec = make<DylinkSection>();
  961   out.typeSec = make<TypeSection>();
  962   out.importSec = make<ImportSection>();
  963   out.functionSec = make<FunctionSection>();
  964   out.tableSec = make<TableSection>();
  965   out.memorySec = make<MemorySection>();
  966   out.globalSec = make<GlobalSection>();
  967   out.eventSec = make<EventSection>();
  968   out.exportSec = make<ExportSection>();
  969   out.startSec = make<StartSection>(segments.size());
  970   out.elemSec = make<ElemSection>();
  971   out.dataCountSec = make<DataCountSection>(segments);
  972   out.linkingSec = make<LinkingSection>(initFunctions, segments);
  973   out.nameSec = make<NameSection>();
  974   out.producersSec = make<ProducersSection>();
  975   out.targetFeaturesSec = make<TargetFeaturesSection>();