Home
last modified time | relevance | path

Searched refs:OutputSection (Results 1 – 25 of 51) sorted by relevance

123

/freebsd/contrib/llvm-project/lld/ELF/
H A DOutputSections.cpp43 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 DWriter.cpp92 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 DOutputSections.h36 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 DLinkerScript.h34 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 DLinkerScript.cpp55 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 DRelocations.h24 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 DWriter.h15 class OutputSection; variable
21 unsigned getSectionRank(Ctx &, OutputSection &osec);
H A DInputSection.h34 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 DConfig.h51 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 DRelocations.cpp373 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 DMapFile.cpp98 OutputSection *osec = syms[i]->getOutputSection(); in getSymbolStrings()
141 const OutputSection *osec = sec->getOutputSection(); in printEhFrame()
161 OutputSection *osec = nullptr; in writeMapFile()
H A DSyntheticSections.h338 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 DConcatOutputSection.h26 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 DOutputSegment.h38 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 DOutputSection.h35 class OutputSection {
43 OutputSection(Kind kind, StringRef name) : name(name), sectionKind(kind) {} in OutputSection() function
44 virtual ~OutputSection() = default;
H A DOutputSection.cpp16 uint64_t OutputSection::getSegmentOffset() const { return addr - parent->addr; } in getSegmentOffset()
18 void OutputSection::assignAddressesToStartEndSymbols() { in assignAddressesToStartEndSymbols()
H A DWriter.h16 class OutputSection; variable
36 extern OutputSection *firstTLVDataSection;
H A DOutputSegment.cpp61 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 DMapFile.cpp58 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 DWriter.cpp100 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 DWriter.h39 class OutputSection {
41 OutputSection(llvm::StringRef n, uint32_t chars) : name(n) { in OutputSection() function
46 void merge(OutputSection *other);
H A DCOFFLinkerContext.h77 std::vector<OutputSection *> outputSections;
79 OutputSection *getOutputSection(const Chunk *c) const { in getOutputSection()
H A DChunks.cpp88 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 DELFObjHandler.cpp75 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 Dlinker_script.rst90 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.

123