Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/lld/ELF/
H A DCallGraphSort.cpp93 DenseMap<const InputSectionBase *, int> run();
98 std::vector<const InputSectionBase *> sections;
110 std::pair<const InputSectionBase *, const InputSectionBase *>;
117 DenseMap<const InputSectionBase *, int> secToCluster; in CallGraphSort()
119 auto getOrCreateNode = [&](const InputSectionBase *isec) -> int { in CallGraphSort()
130 const auto *fromSB = cast<InputSectionBase>(c.first.first); in CallGraphSort()
131 const auto *toSB = cast<InputSectionBase>(c.first.second); in CallGraphSort()
194 DenseMap<const InputSectionBase *, int> CallGraphSort::run() { in run()
237 DenseMap<const InputSectionBase *, int> orderMap; in run()
279 static DenseMap<const InputSectionBase *, int>
[all …]
H A DMarkLive.cpp45 using SecOffset = std::pair<InputSectionBase *, unsigned>;
48 using LiveItem = std::variant<InputSectionBase *, Symbol *, SecOffset>;
65 void enqueue(InputSectionBase *sec, uint64_t offset, Symbol *sym,
71 void resolveReloc(InputSectionBase &sec, RelTy &rel, bool fromFDE);
85 DenseMap<StringRef, SmallVector<InputSectionBase *, 0>> cNamedSections;
96 static uint64_t getAddend(Ctx &ctx, InputSectionBase &sec, in getAddend()
103 static uint64_t getAddend(Ctx &, InputSectionBase &sec, in getAddend()
110 static uint64_t getAddend(Ctx &, InputSectionBase &sec, in getAddend()
117 void MarkLive<ELFT, TrackWhyLive>::resolveReloc(InputSectionBase &sec, in resolveReloc()
128 auto *relSec = dyn_cast_or_null<InputSectionBase>(d->section); in resolveReloc()
[all …]
H A DInputSection.h144 class InputSectionBase : public SectionBase {
147 const InputSectionBase *sec;
151 const InputSectionBase &sec;
157 InputSectionBase(ObjFile<ELFT> &file, const typename ELFT::Shdr &header,
160 InputSectionBase(InputFile *file, StringRef name, uint32_t type,
238 InputSectionBase *nextInSectionGroup = nullptr;
333 class MergeInputSection : public InputSectionBase {
378 EhSectionPiece(size_t off, InputSectionBase *sec, uint32_t size, in EhSectionPiece()
388 InputSectionBase *sec;
394 class EhInputSection : public InputSectionBase {
[all …]
H A DLinkerScript.cpp49 StringRef LinkerScript::getOutputSectionName(const InputSectionBase *s) const { in getOutputSectionName()
54 if (InputSectionBase *rel = isec->getRelocatedSection()) { in getOutputSectionName()
443 bool LinkerScript::shouldKeep(InputSectionBase *s) { in shouldKeep()
455 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints()
461 sections, [](InputSectionBase *sec) { return sec->flags & SHF_WRITE; }); in matchConstraints()
467 static void sortSections(MutableArrayRef<InputSectionBase *> vec, in sortSections()
469 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
475 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
478 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
508 static void sortInputSections(Ctx &ctx, MutableArrayRef<InputSectionBase *> vec, in sortInputSections()
[all …]
H A DInputSection.cpp37 std::string elf::toStr(Ctx &ctx, const InputSectionBase *sec) { in toStr()
42 const InputSectionBase *sec) { in operator <<()
54 InputSectionBase::InputSectionBase(InputFile *file, StringRef name, in InputSectionBase() function in InputSectionBase
97 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase
100 : InputSectionBase(&file, name, hdr.sh_type, in InputSectionBase()
113 size_t InputSectionBase::getSize() const { in getSize()
120 static void decompressAux(Ctx &ctx, const InputSectionBase &sec, uint8_t *out, in decompressAux()
131 void InputSectionBase::decompress() const { in decompress()
140 RelsOrRelas<ELFT> InputSectionBase::relsOrRelas(bool supportsCrel) const { in relsOrRelas()
153 InputSectionBase *const &relSec = f->getSections()[relSecIdx]; in relsOrRelas()
[all …]
H A DLinkerScript.h33 class InputSectionBase; variable
242 SmallVector<InputSectionBase *, 0> sectionBases;
321 StringRef getOutputSectionName(const InputSectionBase *s) const;
329 SmallVector<InputSectionBase *, 0>
331 ArrayRef<InputSectionBase *>, const SectionBase &outCmd);
333 SmallVector<InputSectionBase *, 0> createInputSectionList(OutputSection &cmd);
366 void discard(InputSectionBase &s);
379 bool shouldKeep(InputSectionBase *s);
447 SmallVector<const InputSectionBase *, 0> orphanSections;
466 llvm::DenseMap<InputSectionBase *, PotentialSpillList> potentialSpillLists;
H A DBPSectionOrderer.cpp24 using Section = elf::InputSectionBase;
29 DenseMap<const InputSectionBase *, Defined *> secToSym;
65 DenseMap<const InputSectionBase *, int> elf::runBalancedPartitioning( in runBalancedPartitioning()
70 SmallVector<InputSectionBase *> sections; in runBalancedPartitioning()
H A DCallGraphSort.h16 class InputSectionBase; variable
18 llvm::DenseMap<const InputSectionBase *, int>
H A DBPSectionOrderer.h22 class InputSectionBase; variable
30 llvm::DenseMap<const InputSectionBase *, int>
H A DInputFiles.h57 SmallVector<InputSectionBase *, 0> sections;
83 ArrayRef<InputSectionBase *> getSections() const { in getSections()
87 void cacheDecodedCrel(size_t i, InputSectionBase *s) { sections[i] = s; } in cacheDecodedCrel()
303 InputSectionBase *getRelocTarget(uint32_t idx, uint32_t info);
304 InputSectionBase *createInputSection(uint32_t idx, const Elf_Shdr &sec,
H A DDWARF.h25 InputSectionBase *sec = nullptr;
84 std::optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
H A DOutputSections.h77 void recordSection(InputSectionBase *isec);
124 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
H A DEhFrame.cpp36 EhReader(InputSectionBase *s, ArrayRef<uint8_t> d) : isec(s), d(d) {} in EhReader()
54 InputSectionBase *isec;
H A DWriter.cpp126 SmallVector<InputSectionBase *, 0> newSections; in copySectionsIntoPartitions()
129 for (InputSectionBase *s : ctx.inputSections) { in copySectionsIntoPartitions()
417 for (InputSectionBase *s : f->getSections()) { in markUsedLocalSymbols()
522 InputSectionBase *isec = nullptr; in addSectionSymbols()
529 for (InputSectionBase *s : isd->sections) { in addSectionSymbols()
1050 DenseMap<const InputSectionBase *, int> &order) { in maybeShuffle() argument
1054 SmallVector<InputSectionBase *, 0> matched, sections = ctx.inputSections; in maybeShuffle()
1058 for (InputSectionBase *sec : sections) in maybeShuffle()
1073 for (InputSectionBase *&sec : sections) in maybeShuffle()
1081 for (InputSectionBase *sec : sections) { in maybeShuffle()
[all …]
H A DSyntheticSections.h442 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
448 DynamicReloc(RelType type, const InputSectionBase *inputSec,
454 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
476 const InputSectionBase *inputSec;
518 void addSymbolReloc(RelType dynType, InputSectionBase &isec,
527 void addRelativeReloc(RelType dynType, InputSectionBase &isec, in addRelativeReloc()
537 InputSectionBase &isec,
541 void addReloc(DynamicReloc::Kind kind, RelType dynType, InputSectionBase &sec, in addReloc()
611 const InputSectionBase *inputSec;
1262 return sec->kind() == InputSectionBase::Synthetic && in classof()
[all …]
H A DOutputSections.cpp105 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection()
212 for (InputSectionBase *s : isd->sectionBases) { in finalizeInputSections()
279 llvm::function_ref<int(InputSectionBase *s)> order) { in sortByOrder()
295 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort()
629 ArrayRef<InputSectionBase *> sections = section->file->getSections(); in finalizeShtGroup()
683 InputSectionBase *sec) { in relToCrel()
710 InputSectionBase *sec = relSec->getRelocatedSection(); in finalizeNonAllocCrel()
770 InputSectionBase *s = first->getRelocatedSection(); in finalize()
886 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
H A DConfig.h44 class InputSectionBase; variable
286 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>,
553 InputSectionBase *section;
560 InputSectionBase *sec;
676 SmallVector<InputSectionBase *, 0> inputSections;
H A DTarget.cpp92 for (InputSectionBase *d : ctx.inputSections) { in getErrorPlace()
152 void TargetInfo::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const { in relocateAlloc()
H A DInputFiles.cpp404 static void handleSectionGroup(ArrayRef<InputSectionBase *> sections, in handleSectionGroup()
410 if (InputSectionBase *s = sections[index]) in handleSectionGroup()
423 InputSectionBase *head; in handleSectionGroup()
424 InputSectionBase *prev = nullptr; in handleSectionGroup()
426 InputSectionBase *s = sections[index]; in handleSectionGroup()
854 InputSectionBase *s = getRelocTarget(i, info); in initializeSections()
896 InputSectionBase *linkSec = nullptr; in initializeSections()
1030 InputSectionBase *ObjFile<ELFT>::getRelocTarget(uint32_t idx, uint32_t info) { in getRelocTarget()
1032 InputSectionBase *target = this->sections[info]; in getRelocTarget()
1052 InputSectionBase *ObjFile<ELFT>::createInputSection(uint32_t idx, in createInputSection()
[all …]
H A DThunks.h45 InputSectionBase &section);
H A DRelocations.cpp76 static void printLocation(ELFSyncStream &s, InputSectionBase &sec, in printLocation()
408 explicit OffsetGetter(InputSectionBase &sec) { in OffsetGetter()
454 void scanSection(InputSectionBase &s, bool isEH = false);
458 InputSectionBase *sec;
724 InputSectionBase &sec = *l.sec; in reportUndefinedSymbol()
792 InputSectionBase &sec, uint64_t offset) { in maybeReportUndefined()
843 static void addRelativeReloc(Ctx &ctx, InputSectionBase &isec, in addRelativeReloc()
1276 InputSectionBase &c, uint64_t offset, in handleMipsTlsRelocation()
1291 static unsigned handleAArch64PAuthTlsRelocation(InputSectionBase *sec, in handleAArch64PAuthTlsRelocation()
1613 static void checkPPC64TLSRelax(InputSectionBase &sec, Relocs<RelTy> rels) { in checkPPC64TLSRelax()
[all …]
H A DSymbols.cpp527 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate()
552 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate()
570 dyn_cast_or_null<InputSectionBase>(other.section), in checkDuplicate()
/freebsd/contrib/llvm-project/lld/ELF/Arch/
H A DRISCV.cpp46 void relocateAlloc(InputSectionBase &sec, uint8_t *buf) const override;
592 void RISCV::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const { in relocateAlloc()
1092 unsigned &mergedXlen, const InputSectionBase *sec, in mergeArch()
1118 const InputSectionBase *oldSection, in mergeAtomic()
1119 const InputSectionBase *newSection, in mergeAtomic()
1134 auto reportUnknownAbiError = [&](const InputSectionBase *section, in mergeAtomic()
1202 const SmallVector<InputSectionBase *, 0> &sections) { in mergeAttributesSection() argument
1205 const InputSectionBase *firstStackAlign = nullptr; in mergeAttributesSection()
1206 const InputSectionBase *firstAtomicAbi = nullptr; in mergeAttributesSection()
1215 for (const InputSectionBase *sec : sections) { in mergeAttributesSection()
[all …]
H A DHexagon.cpp490 const SmallVector<InputSectionBase *, 0> &sections) { in mergeAttributesSection() argument
497 for (const InputSectionBase *sec : sections) { in mergeAttributesSection()
571 SmallVector<InputSectionBase *, 0> sections; in mergeHexagonAttributesSections()
572 llvm::erase_if(ctx.inputSections, [&](InputSectionBase *s) { in mergeHexagonAttributesSections()
H A DTargetImpl.h61 for (InputSectionBase *sb : f->getSections()) { in applyBranchToBranchOptImpl()

12