| /freebsd/contrib/llvm-project/lld/ELF/ |
| H A D | OutputSections.cpp | 43 uint32_t OutputSection::getPhdrFlags() const { in getPhdrFlags() 58 void OutputSection::writeHeaderTo(typename ELFT::Shdr *shdr) { in writeHeaderTo() 71 OutputSection::OutputSection(Ctx &ctx, StringRef name, uint32_t type, in OutputSection() function in OutputSection 77 uint64_t OutputSection::getLMA() const { in getLMA() 105 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection() 117 void OutputSection::commitSection(InputSection *isec) { in commitSection() 204 void OutputSection::finalizeInputSections() { in finalizeInputSections() 295 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort() 370 template <class ELFT> void OutputSection::maybeCompress(Ctx &ctx) { in maybeCompress() 497 void OutputSection::writeTo(Ctx &ctx, uint8_t *buf, parallel::TaskGroup &tg) { in writeTo() [all …]
|
| H A D | Writer.cpp | 92 void addStartStopSymbols(OutputSection &osec); 119 for (OutputSection *sec : ctx.outputSections) in removeEmptyPTLoad() 308 static OutputSection *findSection(Ctx &ctx, StringRef name, in findSection() 329 for (OutputSection *sec : ctx.outputSections) in run() 521 OutputSection &osec = osd->osec; in addSectionSymbols() 562 static bool isRelroSection(Ctx &ctx, const OutputSection *sec) { in isRelroSection() 667 unsigned elf::getSectionRank(Ctx &ctx, OutputSection &osec) { in getSectionRank() 795 const OutputSection *a = &cast<OutputDesc>(aCmd)->osec; in compareSections() 796 const OutputSection *b = &cast<OutputDesc>(bCmd)->osec; in compareSections() 807 void PhdrEntry::add(OutputSection *sec) { in add() [all …]
|
| H A D | OutputSections.h | 36 class OutputSection final : public SectionBase { 38 OutputSection(Ctx &, StringRef name, uint32_t type, uint64_t flags); 65 OutputSection *relocationSection = nullptr; 139 OutputSection osec; 170 InputSection *getFirstInputSection(const OutputSection *os); 172 getInputSections(const OutputSection &os,
|
| H A D | LinkerScript.h | 34 class OutputSection; variable 309 OutputSection *outSec = nullptr; 333 SmallVector<InputSectionBase *, 0> createInputSectionList(OutputSection &cmd); 335 void discardSynthetic(OutputSection &); 337 SmallVector<size_t, 0> getPhdrIndices(OutputSection *sec); 340 findMemoryRegion(OutputSection *sec, MemoryRegion *hint); 342 bool assignOffsets(OutputSection *sec); 352 std::unique_ptr<OutputSection> aether; 380 std::pair<const OutputSection *, const Defined *> assignAddresses();
|
| H A D | LinkerScript.cpp | 55 OutputSection *out = rel->getOutputSection(); in getOutputSectionName() 382 const OutputSection &sec = cast<OutputDesc>(cmd)->osec; in declareSymbols() 640 bool isSpill = sec->parent && isa<OutputSection>(sec->parent); in computeInputSections() 689 void LinkerScript::discardSynthetic(OutputSection &outCmd) { in discardSynthetic() 704 LinkerScript::createInputSectionList(OutputSection &outCmd) { in createInputSectionList() 720 auto process = [this](OutputSection *osec) { in processSectionCommands() 771 OutputSection *osec = &osd->osec; in processSectionCommands() 778 OutputSection *osec = &osd->osec; in processSectionCommands() 814 OutputSection *os = &osd->osec; in processSectionCommands() 859 aether = std::make_unique<OutputSection>(ctx, "", 0, SHF_ALLOC); in processSymbolAssignments() [all …]
|
| H A D | Relocations.h | 24 class OutputSection; variable 165 bool hexagonNeedsTLSSymbol(ArrayRef<OutputSection *> outputSections); 177 bool createThunks(uint32_t pass, ArrayRef<OutputSection *> outputSections); 180 void mergeThunks(ArrayRef<OutputSection *> outputSections); 182 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec, 188 void createInitialThunkSections(ArrayRef<OutputSection *> outputSections); 195 ThunkSection *addThunkSection(OutputSection *os, InputSectionDescription *,
|
| H A D | Writer.h | 15 class OutputSection; variable 21 unsigned getSectionRank(Ctx &, OutputSection &osec);
|
| H A D | InputSection.h | 34 class OutputSection; variable 101 OutputSection *getOutputSection(); 102 const OutputSection *getOutputSection() const { in getOutputSection() 434 OutputSection *getParent() const { in getParent() 435 return reinterpret_cast<OutputSection *>(parent); in getParent()
|
| H A D | Config.h | 51 class OutputSection; variable 616 std::unique_ptr<OutputSection> elfHeader; 617 std::unique_ptr<OutputSection> programHeaders; 618 OutputSection *preinitArray = nullptr; 619 OutputSection *initArray = nullptr; 620 OutputSection *finiArray = nullptr; 623 SmallVector<OutputSection *, 0> outputSections;
|
| H A D | Relocations.cpp | 373 OutputSection *osec = (isRO ? ctx.in.bssRelRo : ctx.in.bss)->getParent(); in addCopyRelSymbol() 2000 ArrayRef<OutputSection *> outputSections, in forEachInputSectionDescription() 2001 llvm::function_ref<void(OutputSection *, InputSectionDescription *)> fn) { in forEachInputSectionDescription() argument 2002 for (OutputSection *os : outputSections) { in forEachInputSectionDescription() 2106 void ThunkCreator::mergeThunks(ArrayRef<OutputSection *> outputSections) { in mergeThunks() 2108 outputSections, [&](OutputSection *os, InputSectionDescription *isd) { in mergeThunks() 2184 ThunkSection *ThunkCreator::getISDThunkSec(OutputSection *os, in getISDThunkSec() 2226 OutputSection *tos = isec->getParent(); in getISThunkSec() 2263 ArrayRef<OutputSection *> outputSections) { in createInitialThunkSections() 2266 outputSections, [&](OutputSection *os, InputSectionDescription *isd) { in createInitialThunkSections() [all …]
|
| H A D | MapFile.cpp | 98 OutputSection *osec = syms[i]->getOutputSection(); in getSymbolStrings() 141 const OutputSection *osec = sec->getOutputSection(); in printEhFrame() 161 OutputSection *osec = nullptr; in writeMapFile()
|
| H A D | SyntheticSections.h | 338 llvm::SmallMapVector<const OutputSection *, PageBlock, 16> pagesMap; 455 uint64_t offsetInSec, const OutputSection *outputSec, in DynamicReloc() 475 const OutputSection *outputSec = nullptr; 672 llvm::DenseMap<OutputSection *, size_t> sectionIndexMap; 810 RandomizePaddingSection(Ctx &ctx, uint64_t size, OutputSection *parent); 1295 ThunkSection(Ctx &, OutputSection *os, uint64_t off); 1481 void add(OutputSection *sec); 1492 OutputSection *firstSec = nullptr; 1493 OutputSection *lastSec = nullptr;
|
| /freebsd/contrib/llvm-project/lld/MachO/ |
| H A D | ConcatOutputSection.h | 26 class ConcatOutputSection : public OutputSection { 29 OutputSection::Kind kind = ConcatKind) 30 : OutputSection(kind, name) {} in OutputSection() function 49 static bool classof(const OutputSection *sec) { in classof() 78 static bool classof(const OutputSection *sec) { in classof()
|
| H A D | OutputSegment.h | 38 class OutputSection; variable 43 void addOutputSection(OutputSection *os); 47 const std::vector<OutputSection *> &getSections() const { return sections; } in getSections() 66 std::vector<OutputSection *> sections;
|
| H A D | OutputSection.h | 35 class OutputSection { 43 OutputSection(Kind kind, StringRef name) : name(name), sectionKind(kind) {} in OutputSection() function 44 virtual ~OutputSection() = default;
|
| H A D | OutputSection.cpp | 16 uint64_t OutputSection::getSegmentOffset() const { return addr - parent->addr; } in getSegmentOffset() 18 void OutputSection::assignAddressesToStartEndSymbols() { in assignAddressesToStartEndSymbols()
|
| H A D | Writer.h | 16 class OutputSection; variable 36 extern OutputSection *firstTLVDataSection;
|
| H A D | OutputSegment.cpp | 61 for (const OutputSection *osec : sections) in numNonHiddenSections() 66 void OutputSegment::addOutputSection(OutputSection *osec) { in addOutputSection() 94 static int sectionOrder(OutputSection *osec) { in sectionOrder() 184 llvm::stable_sort(sections, compareByOrder<OutputSection *>(sectionOrder)); in sortOutputSections()
|
| H A D | MapFile.cpp | 58 DenseMap<const OutputSection *, 136 const OutputSection *osec, size_t entrySize) { in printStubsEntries() 196 for (OutputSection *osec : seg->getSections()) { in writeMapFile() 237 for (const OutputSection *osec : seg->getSections()) { in writeMapFile()
|
| /freebsd/contrib/llvm-project/lld/COFF/ |
| H A D | Writer.cpp | 100 const OutputSection *os = ctx.getOutputSection(c); in writeTo() 229 bool createThunks(OutputSection *os, int margin); 273 OutputSection *findSection(StringRef name); 316 OutputSection *textSec; 317 OutputSection *hexpthkSec; 318 OutputSection *bssSec; 319 OutputSection *rdataSec; 320 OutputSection *buildidSec; 321 OutputSection *dataSec; 322 OutputSection *pdataSec; [all …]
|
| H A D | Writer.h | 39 class OutputSection { 41 OutputSection(llvm::StringRef n, uint32_t chars) : name(n) { in OutputSection() function 46 void merge(OutputSection *other);
|
| H A D | COFFLinkerContext.h | 77 std::vector<OutputSection *> outputSections; 79 OutputSection *getOutputSection(const Chunk *c) const { in getOutputSection()
|
| H A D | Chunks.cpp | 88 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) { in checkSecRel() 98 OutputSection *os, uint64_t s) { in applySecRel() 109 static void applySecIdx(uint8_t *off, OutputSection *os, in applySecIdx() 124 void SectionChunk::applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX64() 151 void SectionChunk::applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX86() 219 void SectionChunk::applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM() 294 OutputSection *os, uint64_t s) { in applySecRelLow12A() 300 OutputSection *os, uint64_t s) { in applySecRelHigh12A() 313 OutputSection *os, uint64_t s) { in applySecRelLdr() 336 void SectionChunk::applyRelARM64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM64() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/InterfaceStub/ |
| H A D | ELFObjHandler.cpp | 75 template <class ELFT> struct OutputSection { struct 88 struct ContentSection : public OutputSection<ELFT> { 200 std::vector<OutputSection<ELFT> *> Sections = {&DynSym, &DynStr, &DynTab, in ELFStubBuilder() 202 const OutputSection<ELFT> *LastSection = Sections.back(); in ELFStubBuilder() 205 for (OutputSection<ELFT> *Sec : Sections) { in ELFStubBuilder() 239 for (OutputSection<ELFT> *Sec : Sections) { in ELFStubBuilder() 330 uint64_t shdrOffset(const OutputSection<ELFT> &Sec) const { in shdrOffset() 334 void writeShdr(uint8_t *Data, const OutputSection<ELFT> &Sec) const { in writeShdr()
|
| /freebsd/contrib/llvm-project/lld/docs/ELF/ |
| H A D | linker_script.rst | 90 When an *OutputSection* *S* has ``address``, LLD will set sh_addr to ``address``. 113 When an *OutputSection* *S* has ``(type)``, LLD will set ``sh_type`` or 128 sh_addralign of an *OutputSection* *S* is the maximum of 132 When an *OutputSection* *S* has both ``address`` and ``ALIGN(section_align)``, 148 the previous OutputSection a new loadable segment will be generated.
|