Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/lld/ELF/
H A DOutputSections.h36 class OutputSection final : public SectionBase {
38 OutputSection(StringRef name, uint32_t type, uint64_t flags);
64 OutputSection *relocationSection = nullptr;
137 OutputSection osec;
148 InputSection *getFirstInputSection(const OutputSection *os);
150 getInputSections(const OutputSection &os,
159 static OutputSection *elfHeader;
160 static OutputSection *programHeaders;
161 static OutputSection *preinitArray;
162 static OutputSection *initArray;
[all …]
H A DOutputSections.cpp44 OutputSection *Out::elfHeader;
45 OutputSection *Out::programHeaders;
46 OutputSection *Out::preinitArray;
47 OutputSection *Out::initArray;
48 OutputSection *Out::finiArray;
50 SmallVector<OutputSection *, 0> elf::outputSections;
52 uint32_t OutputSection::getPhdrFlags() const { in getPhdrFlags()
64 void OutputSection::writeHeaderTo(typename ELFT::Shdr *shdr) { in writeHeaderTo()
77 OutputSection::OutputSection(StringRef name, uint32_t type, uint64_t flags) in OutputSection() function in OutputSection
105 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection()
[all …]
H A DWriter.h18 class OutputSection; variable
29 void add(OutputSection *sec);
40 OutputSection *firstSec = nullptr;
41 OutputSection *lastSec = nullptr;
49 unsigned getSectionRank(OutputSection &osec);
H A DWriter.cpp87 void addStartStopSymbols(OutputSection &osec);
112 for (OutputSection *sec : outputSections) in removeEmptyPTLoad()
295 static OutputSection *findSection(StringRef name, unsigned partition = 1) { in findSection()
314 for (OutputSection *sec : outputSections) in run()
503 OutputSection &osec = osd->osec; in addSectionSymbols()
544 static bool isRelroSection(const OutputSection *sec) { in isRelroSection()
647 unsigned elf::getSectionRank(OutputSection &osec) { in getSectionRank()
768 const OutputSection *a = &cast<OutputDesc>(aCmd)->osec; in compareSections()
769 const OutputSection *b = &cast<OutputDesc>(bCmd)->osec; in compareSections()
780 void PhdrEntry::add(OutputSection *sec) { in add()
[all …]
H A DLinkerScript.h34 class OutputSection; variable
284 OutputSection *outSec = nullptr;
302 const OutputSection &outCmd);
304 SmallVector<InputSectionBase *, 0> createInputSectionList(OutputSection &cmd);
306 void discardSynthetic(OutputSection &);
308 SmallVector<size_t, 0> getPhdrIndices(OutputSection *sec);
311 findMemoryRegion(OutputSection *sec, MemoryRegion *hint);
313 bool assignOffsets(OutputSection *sec);
323 OutputSection *aether;
347 std::pair<const OutputSection *, const Defined *> assignAddresses();
H A DLinkerScript.cpp59 OutputSection *out = rel->getOutputSection(); in getOutputSectionName()
356 const OutputSection &sec = cast<OutputDesc>(cmd)->osec; in declareSymbols()
494 const OutputSection &outCmd) { in computeInputSections()
624 void LinkerScript::discardSynthetic(OutputSection &outCmd) { in discardSynthetic()
639 LinkerScript::createInputSectionList(OutputSection &outCmd) { in createInputSectionList()
655 auto process = [this](OutputSection *osec) { in processSectionCommands()
706 OutputSection *osec = &osd->osec; in processSectionCommands()
713 OutputSection *osec = &osd->osec; in processSectionCommands()
736 aether = make<OutputSection>("", 0, SHF_ALLOC); in processSymbolAssignments()
758 static OutputSection *findByName(ArrayRef<SectionCommand *> vec, in findByName()
[all …]
H A DRelocations.h22 class OutputSection; variable
150 void hexagonTLSSymbolUpdate(ArrayRef<OutputSection *> outputSections);
151 bool hexagonNeedsTLSSymbol(ArrayRef<OutputSection *> outputSections);
160 bool createThunks(uint32_t pass, ArrayRef<OutputSection *> outputSections);
163 void mergeThunks(ArrayRef<OutputSection *> outputSections);
165 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec,
171 void createInitialThunkSections(ArrayRef<OutputSection *> outputSections);
176 ThunkSection *addThunkSection(OutputSection *os, InputSectionDescription *,
H A DRelocations.cpp385 OutputSection *osec = (isRO ? in.bssRelRo : in.bss)->getParent(); in addCopyRelSymbol()
1903 ArrayRef<OutputSection *> outputSections, in forEachInputSectionDescription()
1904 llvm::function_ref<void(OutputSection *, InputSectionDescription *)> fn) { in forEachInputSectionDescription() argument
1905 for (OutputSection *os : outputSections) { in forEachInputSectionDescription()
2005 void ThunkCreator::mergeThunks(ArrayRef<OutputSection *> outputSections) { in mergeThunks()
2007 outputSections, [&](OutputSection *os, InputSectionDescription *isd) { in mergeThunks()
2057 ThunkSection *ThunkCreator::getISDThunkSec(OutputSection *os, in getISDThunkSec()
2099 OutputSection *tos = isec->getParent(); in getISThunkSec()
2136 ArrayRef<OutputSection *> outputSections) { in createInitialThunkSections()
2140 outputSections, [&](OutputSection *os, InputSectionDescription *isd) { in createInitialThunkSections()
[all …]
H A DInputSection.h34 class OutputSection; variable
97 OutputSection *getOutputSection();
98 const OutputSection *getOutputSection() const { in getOutputSection()
415 OutputSection *getParent() const { in getParent()
416 return reinterpret_cast<OutputSection *>(parent); in getParent()
H A DMapFile.cpp97 OutputSection *osec = syms[i]->getOutputSection(); in getSymbolStrings()
140 const OutputSection *osec = sec->getOutputSection(); in printEhFrame()
160 OutputSection *osec = nullptr; in writeMapFile()
H A DScriptParser.cpp95 bool readSectionDirective(OutputSection *cmd, StringRef tok);
96 void readSectionAddressType(OutputSection *cmd);
581 OutputSection *prev = nullptr; in readOverlay()
876 bool ScriptParser::readSectionDirective(OutputSection *cmd, StringRef tok) { in readSectionDirective()
918 void ScriptParser::readSectionAddressType(OutputSection *cmd) { in readSectionAddressType()
968 OutputSection *osec = &cmd->osec; in readOutputSectionDescription()
1411 static void checkIfExists(const OutputSection &osec, StringRef location) { in checkIfExists()
1455 OutputSection *osec = &script->getOrCreateOutputSection(name)->osec; in readPrimary()
1480 OutputSection *osec = &script->getOrCreateOutputSection(name)->osec; in readPrimary()
1541 OutputSection *osec = &script->getOrCreateOutputSection(name)->osec; in readPrimary()
[all …]
/freebsd/contrib/llvm-project/lld/MachO/
H A DOutputSegment.h38 class OutputSection; variable
43 void addOutputSection(OutputSection *os);
47 const std::vector<OutputSection *> &getSections() const { return sections; } in getSections()
65 std::vector<OutputSection *> sections;
H A DOutputSection.h35 class OutputSection {
42 OutputSection(Kind kind, StringRef name) : name(name), sectionKind(kind) {} in OutputSection() function
43 virtual ~OutputSection() = default;
H A DConcatOutputSection.h26 class ConcatOutputSection : public OutputSection {
29 : OutputSection(ConcatKind, name) {} in ConcatOutputSection()
48 static bool classof(const OutputSection *sec) { in classof()
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.cpp55 for (const OutputSection *osec : sections) in numNonHiddenSections()
60 void OutputSegment::addOutputSection(OutputSection *osec) { in addOutputSection()
88 static int sectionOrder(OutputSection *osec) { in sectionOrder()
155 llvm::stable_sort(sections, compareByOrder<OutputSection *>(sectionOrder)); in sortOutputSections()
H A DMapFile.cpp58 DenseMap<const OutputSection *,
138 const OutputSection *osec, size_t entrySize) { in printStubsEntries()
198 for (OutputSection *osec : seg->getSections()) { in writeMapFile()
222 for (const OutputSection *osec : seg->getSections()) { in writeMapFile()
/freebsd/contrib/llvm-project/lld/COFF/
H A DWriter.cpp103 const OutputSection *os = ctx.getOutputSection(c); in writeTo()
226 bool createThunks(OutputSection *os, int margin);
269 OutputSection *findSection(StringRef name);
306 OutputSection *textSec;
307 OutputSection *rdataSec;
308 OutputSection *buildidSec;
309 OutputSection *dataSec;
310 OutputSection *pdataSec;
311 OutputSection *idataSec;
312 OutputSection *edataSec;
[all …]
H A DWriter.h34 // OutputSection represents a section in an output file. It's a
35 // container of chunks. OutputSection and Chunk are 1:N relationship.
39 class OutputSection {
41 OutputSection(llvm::StringRef n, uint32_t chars) : name(n) { in OutputSection() function
46 void merge(OutputSection *other);
H A DCOFFLinkerContext.h52 std::vector<OutputSection *> outputSections;
54 OutputSection *getOutputSection(const Chunk *c) const { in getOutputSection()
H A DChunks.cpp77 static bool checkSecRel(const SectionChunk *sec, OutputSection *os) { in checkSecRel()
87 OutputSection *os, uint64_t s) { in applySecRel()
98 static void applySecIdx(uint8_t *off, OutputSection *os, in applySecIdx()
113 void SectionChunk::applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX64()
140 void SectionChunk::applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, in applyRelX86()
208 void SectionChunk::applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM()
283 OutputSection *os, uint64_t s) { in applySecRelLow12A()
289 OutputSection *os, uint64_t s) { in applySecRelHigh12A()
302 OutputSection *os, uint64_t s) { in applySecRelLdr()
325 void SectionChunk::applyRelARM64(uint8_t *off, uint16_t type, OutputSection *os, in applyRelARM64()
[all …]
H A DChunks.h39 class OutputSection; variable
269 void applyRelX64(uint8_t *off, uint16_t type, OutputSection *os, uint64_t s,
271 void applyRelX86(uint8_t *off, uint16_t type, OutputSection *os, uint64_t s,
273 void applyRelARM(uint8_t *off, uint16_t type, OutputSection *os, uint64_t s,
275 void applyRelARM64(uint8_t *off, uint16_t type, OutputSection *os, uint64_t s,
/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.

12