Home
last modified time | relevance | path

Searched refs:InputSectionBase (Results 1 – 25 of 36) sorted by relevance

12

/openbsd-src/gnu/llvm/lld/ELF/
H A DMarkLive.cpp53 void enqueue(InputSectionBase *sec, uint64_t offset);
58 void resolveReloc(InputSectionBase &sec, RelTy &rel, bool fromFDE);
71 DenseMap<StringRef, SmallVector<InputSectionBase *, 0>> cNamedSections;
76 static uint64_t getAddend(InputSectionBase &sec, in getAddend()
83 static uint64_t getAddend(InputSectionBase &sec, in getAddend()
90 void MarkLive<ELFT>::resolveReloc(InputSectionBase &sec, RelTy &rel, in resolveReloc()
98 auto *relSec = dyn_cast_or_null<InputSectionBase>(d->section); in resolveReloc()
124 for (InputSectionBase *sec : cNamedSections.lookup(sym.getName())) in resolveReloc()
163 static bool isReserved(InputSectionBase *sec) { in isReserved()
183 void MarkLive<ELFT>::enqueue(InputSectionBase *sec, uint64_t offset) { in enqueue()
[all …]
H A DCallGraphSort.cpp82 DenseMap<const InputSectionBase *, int> run();
86 std::vector<const InputSectionBase *> sections;
98 std::pair<const InputSectionBase *, const InputSectionBase *>;
105 DenseMap<const InputSectionBase *, int> secToCluster; in CallGraphSort()
107 auto getOrCreateNode = [&](const InputSectionBase *isec) -> int { in CallGraphSort()
118 const auto *fromSB = cast<InputSectionBase>(c.first.first); in CallGraphSort()
119 const auto *toSB = cast<InputSectionBase>(c.first.second); in CallGraphSort()
182 DenseMap<const InputSectionBase *, int> CallGraphSort::run() { in run()
225 DenseMap<const InputSectionBase *, int> orderMap; in run()
268 DenseMap<const InputSectionBase *, int> elf::computeCallGraphProfileOrder() { in computeCallGraphProfileOrder()
H A DLinkerScript.cpp53 static StringRef getOutputSectionName(const InputSectionBase *s) { in getOutputSectionName()
61 if (InputSectionBase *rel = isec->getRelocatedSection()) { in getOutputSectionName()
412 bool LinkerScript::shouldKeep(InputSectionBase *s) { in shouldKeep()
424 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints()
430 sections, [](InputSectionBase *sec) { return sec->flags & SHF_WRITE; }); in matchConstraints()
436 static void sortSections(MutableArrayRef<InputSectionBase *> vec, in sortSections()
438 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
444 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
447 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
475 static void sortInputSections(MutableArrayRef<InputSectionBase *> vec, in sortInputSections()
[all …]
H A DInputSection.h106 class InputSectionBase : public SectionBase {
109 InputSectionBase(ObjFile<ELFT> &file, const typename ELFT::Shdr &header,
112 InputSectionBase(InputFile *file, uint64_t flags, uint32_t type,
179 InputSectionBase *nextInSectionGroup = nullptr;
271 class MergeInputSection : public InputSectionBase {
316 EhSectionPiece(size_t off, InputSectionBase *sec, uint32_t size, in EhSectionPiece()
326 InputSectionBase *sec;
332 class EhInputSection : public InputSectionBase {
353 class InputSection : public InputSectionBase {
380 InputSectionBase *getRelocatedSection() const;
[all …]
H A DInputSection.cpp39 std::string lld::toString(const InputSectionBase *sec) { in toString()
51 InputSectionBase::InputSectionBase(InputFile *file, uint64_t flags, in InputSectionBase() function in InputSectionBase
89 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase
92 : InputSectionBase(&file, getFlags(hdr.sh_flags), hdr.sh_type, in InputSectionBase()
103 size_t InputSectionBase::getSize() const { in getSize()
110 static void decompressAux(const InputSectionBase &sec, uint8_t *out, in decompressAux()
122 void InputSectionBase::decompress() const { in decompress()
135 template <class ELFT> RelsOrRelas<ELFT> InputSectionBase::relsOrRelas() const { in relsOrRelas()
207 template <typename ELFT> void InputSectionBase::parseCompressedHeader() { in parseCompressedHeader()
237 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep()
[all …]
H A DLinkerScript.h31 class InputSectionBase; variable
207 SmallVector<InputSectionBase *, 0> sectionBases;
279 SmallVector<InputSectionBase *, 0>
281 ArrayRef<InputSectionBase *>);
283 SmallVector<InputSectionBase *, 0> createInputSectionList(OutputSection &cmd);
312 void discard(InputSectionBase &s);
324 bool shouldKeep(InputSectionBase *s);
363 SmallVector<const InputSectionBase *, 0> orphanSections;
H A DCallGraphSort.h15 class InputSectionBase; variable
17 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
H A DInputFiles.h58 SmallVector<InputSectionBase *, 0> sections;
81 ArrayRef<InputSectionBase *> getSections() const { in getSections()
131 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec,
253 std::optional<llvm::DILineInfo> getDILineInfo(InputSectionBase *, uint64_t);
293 InputSectionBase *getRelocTarget(uint32_t idx, const Elf_Shdr &sec,
295 InputSectionBase *createInputSection(uint32_t idx, const Elf_Shdr &sec,
H A DConfig.h40 class InputSectionBase; variable
186 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>,
417 InputSectionBase *section;
429 SmallVector<InputSectionBase *, 0> inputSections;
H A DDWARF.h22 InputSectionBase *sec = nullptr;
84 std::optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
H A DWriter.cpp123 SmallVector<InputSectionBase *, 0> newSections; in copySectionsIntoPartitions()
126 for (InputSectionBase *s : ctx.inputSections) { in copySectionsIntoPartitions()
622 for (InputSectionBase *s : f->getSections()) { in markUsedLocalSymbols()
715 InputSectionBase *isec = nullptr; in addSectionSymbols()
722 for (InputSectionBase *s : isd->sections) { in addSectionSymbols()
1214 static void maybeShuffle(DenseMap<const InputSectionBase *, int> &order) { in maybeShuffle() argument
1218 SmallVector<InputSectionBase *, 0> matched, sections = ctx.inputSections; in maybeShuffle()
1222 for (InputSectionBase *sec : sections) in maybeShuffle()
1237 for (InputSectionBase *&sec : sections) in maybeShuffle()
1245 for (InputSectionBase *sec : sections) { in maybeShuffle()
[all …]
H A DInputFiles.cpp323 InputSectionBase &sec, uint64_t offset) { in getSrcMsgAux()
338 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec, in getSrcMsg()
390 static void handleSectionGroup(ArrayRef<InputSectionBase *> sections, in handleSectionGroup()
396 if (InputSectionBase *s = sections[index]) in handleSectionGroup()
409 InputSectionBase *head; in handleSectionGroup()
410 InputSectionBase *prev = nullptr; in handleSectionGroup()
412 InputSectionBase *s = sections[index]; in handleSectionGroup()
449 std::optional<DILineInfo> ObjFile<ELFT>::getDILineInfo(InputSectionBase *s, in getDILineInfo()
453 ArrayRef<InputSectionBase *> sections = s->file->getSections(); in getDILineInfo()
801 InputSectionBase *s = getRelocTarget(i, sec, info); in initializeSections()
[all …]
H A DOutputSections.h75 void recordSection(InputSectionBase *isec);
115 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
H A DSyntheticSections.h425 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
431 DynamicReloc(RelType type, const InputSectionBase *inputSec,
437 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
459 const InputSectionBase *inputSec;
501 void addSymbolReloc(RelType dynType, InputSectionBase &isec,
510 void addRelativeReloc(RelType dynType, InputSectionBase &isec, in addRelativeReloc()
523 void addReloc(DynamicReloc::Kind kind, RelType dynType, InputSectionBase &sec, in addReloc()
594 const InputSectionBase *inputSec;
1096 return sec->kind() == InputSectionBase::Synthetic && in classof()
1232 uint64_t size, InputSectionBase &section);
H A DEhFrame.cpp38 EhReader(InputSectionBase *s, ArrayRef<uint8_t> d) : isec(s), d(d) {} in EhReader()
55 InputSectionBase *isec;
H A DTarget.cpp96 for (InputSectionBase *d : ctx.inputSections) { in getErrorPlace()
155 void TargetInfo::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const { in relocateAlloc()
H A DOutputSections.cpp102 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection()
192 for (InputSectionBase *s : isd->sectionBases) { in finalizeInputSections()
242 llvm::function_ref<int(InputSectionBase *s)> order) { in sortByOrder()
258 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort()
562 ArrayRef<InputSectionBase *> sections = section->file->getSections(); in finalizeShtGroup()
602 InputSectionBase *s = first->getRelocatedSection(); in finalize()
711 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
H A DThunks.h44 InputSectionBase &section);
H A DSymbols.cpp525 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate()
550 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate()
569 dyn_cast_or_null<InputSectionBase>(other.section), in checkDuplicate()
H A DTarget.h92 virtual void relocateAlloc(InputSectionBase &sec, uint8_t *buf) const;
185 InputSectionBase *isec;
H A DDriver.cpp889 auto findSection = [&](StringRef name) -> InputSectionBase * { in readCallGraph()
899 return dyn_cast_or_null<InputSectionBase>(dr->section); in readCallGraph()
913 if (InputSectionBase *from = findSection(fields[0])) in readCallGraph()
914 if (InputSectionBase *to = findSection(fields[1])) in readCallGraph()
981 auto *from = dyn_cast_or_null<InputSectionBase>(fromSym->section); in readCallGraphsFromObjectFiles()
982 auto *to = dyn_cast_or_null<InputSectionBase>(toSym->section); in readCallGraphsFromObjectFiles()
2169 static void readSymbolPartitionSection(InputSectionBase *s) { in readSymbolPartitionSection()
2767 for (InputSectionBase *s : f->getSections()) { in link()
2777 for (InputSectionBase *s : f->getSections()) in link()
2784 llvm::erase_if(ctx.inputSections, [](InputSectionBase *s) { in link()
[all …]
H A DSyntheticSections.cpp110 for (InputSectionBase *sec : ctx.inputSections) { in create()
177 SmallVector<InputSectionBase *, 0> sections; in create()
178 for (InputSectionBase *sec : ctx.inputSections) in create()
186 for (InputSectionBase *sec : sections) { in create()
234 SmallVector<InputSectionBase *, 0> sections; in create()
235 for (InputSectionBase *sec : ctx.inputSections) in create()
243 for (InputSectionBase *sec : sections) { in create()
269 uint64_t size, InputSectionBase &section) { in addSyntheticLocal()
1592 RelType dynType, InputSectionBase &isec, uint64_t offsetInSec, Symbol &sym, in addSymbolReloc()
2714 ArrayRef<InputSectionBase *> sections = sec->file->getSections(); in readAddressAreas()
[all …]
H A DDWARF.cpp105 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
H A DRelocations.h20 class InputSectionBase; variable
/openbsd-src/gnu/llvm/lld/ELF/Arch/
H A DRISCV.cpp847 unsigned &mergedXlen, const InputSectionBase *sec, in mergeArch()
874 mergeAttributesSection(const SmallVector<InputSectionBase *, 0> &sections) { in mergeAttributesSection() argument
876 const InputSectionBase *firstStackAlign = nullptr; in mergeAttributesSection()
885 for (const InputSectionBase *sec : sections) { in mergeAttributesSection()
1006 SmallVector<InputSectionBase *, 0> sections; in mergeRISCVAttributesSections()
1007 llvm::erase_if(ctx.inputSections, [&](InputSectionBase *s) { in mergeRISCVAttributesSections()

12