Home
last modified time | relevance | path

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

12

/freebsd-12-stable/contrib/llvm-project/lld/ELF/
DMarkLive.cpp54 void enqueue(InputSectionBase *sec, uint64_t offset);
59 void resolveReloc(InputSectionBase &sec, RelTy &rel, bool fromFDE);
72 DenseMap<StringRef, std::vector<InputSectionBase *>> cNamedSections;
77 static uint64_t getAddend(InputSectionBase &sec, in getAddend()
84 static uint64_t getAddend(InputSectionBase &sec, in getAddend()
91 void MarkLive<ELFT>::resolveReloc(InputSectionBase &sec, RelTy &rel, in resolveReloc()
99 auto *relSec = dyn_cast_or_null<InputSectionBase>(d->section); in resolveReloc()
125 for (InputSectionBase *sec : cNamedSections.lookup(sym.getName())) in resolveReloc()
170 static bool isReserved(InputSectionBase *sec) { in isReserved()
188 void MarkLive<ELFT>::enqueue(InputSectionBase *sec, uint64_t offset) { in enqueue()
[all …]
DLinkerScript.cpp356 bool LinkerScript::shouldKeep(InputSectionBase *s) { in shouldKeep()
368 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints()
374 sections, [](InputSectionBase *sec) { return sec->flags & SHF_WRITE; }); in matchConstraints()
380 static void sortSections(MutableArrayRef<InputSectionBase *> vec, in sortSections()
382 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
388 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
391 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections()
419 static void sortInputSections(MutableArrayRef<InputSectionBase *> vec, in sortInputSections()
433 std::vector<InputSectionBase *>
435 ArrayRef<InputSectionBase *> sections) { in computeInputSections()
[all …]
DCallGraphSort.cpp81 DenseMap<const InputSectionBase *, int> run();
85 std::vector<const InputSectionBase *> sections;
97 std::pair<const InputSectionBase *, const InputSectionBase *>;
104 DenseMap<const InputSectionBase *, int> secToCluster; in CallGraphSort()
106 auto getOrCreateNode = [&](const InputSectionBase *isec) -> int { in CallGraphSort()
117 const auto *fromSB = cast<InputSectionBase>(c.first.first->repl); in CallGraphSort()
118 const auto *toSB = cast<InputSectionBase>(c.first.second->repl); in CallGraphSort()
181 DenseMap<const InputSectionBase *, int> CallGraphSort::run() { in run()
224 DenseMap<const InputSectionBase *, int> orderMap; in run()
267 DenseMap<const InputSectionBase *, int> elf::computeCallGraphProfileOrder() { in computeCallGraphProfileOrder()
DInputSection.h104 class InputSectionBase : public SectionBase {
107 InputSectionBase(ObjFile<ELFT> &file, const typename ELFT::Shdr &header,
110 InputSectionBase(InputFile *file, uint64_t flags, uint32_t type,
171 InputSectionBase *nextInSectionGroup = nullptr;
271 class MergeInputSection : public InputSectionBase {
314 EhSectionPiece(size_t off, InputSectionBase *sec, uint32_t size, in EhSectionPiece()
324 InputSectionBase *sec;
330 class EhInputSection : public InputSectionBase {
350 class InputSection : public InputSectionBase {
374 InputSectionBase *getRelocatedSection() const;
[all …]
DInputSection.cpp43 std::vector<InputSectionBase *> elf::inputSections;
47 std::string lld::toString(const InputSectionBase *sec) { in toString()
59 InputSectionBase::InputSectionBase(InputFile *file, uint64_t flags, in InputSectionBase() function in InputSectionBase
139 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase
142 : InputSectionBase(&file, getFlags(hdr.sh_flags), in InputSectionBase()
153 size_t InputSectionBase::getSize() const { in getSize()
161 void InputSectionBase::uncompress() const { in uncompress()
177 uint64_t InputSectionBase::getOffsetInFile() const { in getOffsetInFile()
228 template <typename ELFT> void InputSectionBase::parseCompressedHeader() { in parseCompressedHeader()
271 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep()
[all …]
DLinkerScript.h34 class InputSectionBase; variable
193 std::vector<InputSectionBase *> sectionBases;
265 std::vector<InputSectionBase *>
267 ArrayRef<InputSectionBase *>);
269 std::vector<InputSectionBase *> createInputSectionList(OutputSection &cmd);
301 void discard(InputSectionBase *s);
313 bool shouldKeep(InputSectionBase *s);
350 std::vector<const InputSectionBase *> orphanSections;
DCallGraphSort.h16 class InputSectionBase; variable
18 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
DInputFiles.h80 ArrayRef<InputSectionBase *> getSections() const { in getSections()
112 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec,
152 std::vector<InputSectionBase *> sections;
226 llvm::Optional<llvm::DILineInfo> getDILineInfo(InputSectionBase *, uint64_t);
263 InputSectionBase *getRelocTarget(const Elf_Shdr &sec);
264 InputSectionBase *createInputSection(const Elf_Shdr &sec);
DEhFrame.h16 class InputSectionBase; variable
19 size_t readEhRecordSize(InputSectionBase *s, size_t off);
DOutputSections.h26 class InputSectionBase; variable
74 void recordSection(InputSectionBase *isec);
109 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
DWriter.cpp58 void forEachRelSec(llvm::function_ref<void(InputSectionBase &)> fn);
98 StringRef elf::getOutputSectionName(const InputSectionBase *s) { in getOutputSectionName()
106 if (InputSectionBase *rel = isec->getRelocatedSection()) { in getOutputSectionName()
185 std::vector<InputSectionBase *> newSections; in copySectionsIntoPartitions()
187 for (InputSectionBase *s : inputSections) { in copySectionsIntoPartitions()
190 InputSectionBase *copy; in copySectionsIntoPartitions()
208 for (InputSectionBase *&s : inputSections) { in combineEhSections()
224 std::vector<InputSectionBase *> &v = inputSections; in combineEhSections()
690 for (InputSectionBase *s : f->getSections()) { in markUsedLocalSymbols()
754 if (isa<InputSectionBase>(sec) && !sec->isLive()) in includeInSymtab()
[all …]
DRelocations.cpp90 static std::string getLocation(InputSectionBase &s, const Symbol &sym, in getLocation()
166 InputSectionBase &c, uint64_t offset, in handleMipsTlsRelocation()
190 handleTlsRelocation(RelType type, Symbol &sym, InputSectionBase &c, in handleTlsRelocation()
407 InputSectionBase &s, uint64_t relOff) { in isStaticLinkTimeConstant()
638 InputSectionBase &sec, RelExpr expr, in computeMipsAddend()
673 InputSectionBase &sec, RelExpr expr, in computeAddend()
733 InputSectionBase *sec;
901 InputSectionBase &sec = *l.sec; in reportUndefinedSymbol()
959 static bool maybeReportUndefined(Symbol &sym, InputSectionBase &sec, in maybeReportUndefined()
1025 explicit OffsetGetter(InputSectionBase &sec) { in OffsetGetter()
[all …]
DWriter.h22 class InputSectionBase; variable
54 llvm::StringRef getOutputSectionName(const InputSectionBase *s);
DSyntheticSections.h44 InputSectionBase::Synthetic) {
58 return d->kind() == InputSectionBase::Synthetic; in classof()
449 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
455 DynamicReloc(RelType type, const InputSectionBase *inputSec,
461 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc()
481 const InputSectionBase *inputSec;
526 void addSymbolReloc(RelType dynType, InputSectionBase *isec,
531 void addRelativeReloc(RelType dynType, InputSectionBase *isec,
537 InputSectionBase *isec,
541 InputSectionBase *inputSec, uint64_t offsetInSec, Symbol &sym,
[all …]
DEhFrame.cpp38 EhReader(InputSectionBase *s, ArrayRef<uint8_t> d) : isec(s), d(d) {} in EhReader()
56 InputSectionBase *isec;
61 size_t elf::readEhRecordSize(InputSectionBase *s, size_t off) { in readEhRecordSize()
DOutputSections.cpp100 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection()
174 for (InputSectionBase *s : cmd->sectionBases) { in finalizeInputSections()
224 llvm::function_ref<int(InputSectionBase *s)> order) { in sortByOrder()
244 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort()
391 ArrayRef<InputSectionBase *> sections = section->file->getSections(); in finalizeShtGroup()
431 InputSectionBase *s = first->getRelocatedSection(); in finalize()
531 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
DDWARF.h23 InputSectionBase *sec = nullptr;
85 llvm::Optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
DInputFiles.cpp247 InputSectionBase &sec, uint64_t offset) { in getSrcMsgAux()
262 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec, in getSrcMsg()
314 Optional<DILineInfo> ObjFile<ELFT>::getDILineInfo(InputSectionBase *s, in getDILineInfo()
318 ArrayRef<InputSectionBase *> sections = s->file->getSections(); in getDILineInfo()
528 static void handleSectionGroup(ArrayRef<InputSectionBase *> sections, in handleSectionGroup()
534 if (InputSectionBase *s = sections[index]) in handleSectionGroup()
547 InputSectionBase *head; in handleSectionGroup()
548 InputSectionBase *prev = nullptr; in handleSectionGroup()
550 InputSectionBase *s = sections[index]; in handleSectionGroup()
675 InputSectionBase *linkSec = nullptr; in initializeSections()
[all …]
DConfig.h31 class InputSectionBase; variable
143 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>,
DDWARF.cpp34 InputSectionBase *sec = it.value(); in LLDDwarfObj()
107 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
DRelocations.h21 class InputSectionBase; variable
126 template <class ELFT> void scanRelocations(InputSectionBase &);
DDriver.cpp828 auto findSection = [&](StringRef name) -> InputSectionBase * { in readCallGraph()
838 return dyn_cast_or_null<InputSectionBase>(dr->section); in readCallGraph()
852 if (InputSectionBase *from = findSection(fields[0])) in readCallGraph()
853 if (InputSectionBase *to = findSection(fields[1])) in readCallGraph()
921 auto *from = dyn_cast_or_null<InputSectionBase>(fromSym->section); in readCallGraphsFromObjectFiles()
922 auto *to = dyn_cast_or_null<InputSectionBase>(toSym->section); in readCallGraphsFromObjectFiles()
1915 static void readSymbolPartitionSection(InputSectionBase *s) { in readSymbolPartitionSection()
2355 for (InputSectionBase *s : f->getSections()) in link()
2359 for (InputSectionBase *s : f->getSections()) in link()
2365 llvm::erase_if(inputSections, [](InputSectionBase *s) { in link()
[all …]
DSyntheticSections.cpp108 for (InputSectionBase *sec : inputSections) { in create()
174 std::vector<InputSectionBase *> sections; in create()
175 for (InputSectionBase *sec : inputSections) in create()
183 for (InputSectionBase *sec : sections) { in create()
231 std::vector<InputSectionBase *> sections; in create()
232 for (InputSectionBase *sec : inputSections) in create()
240 for (InputSectionBase *sec : sections) { in create()
266 uint64_t size, InputSectionBase &section) { in addSyntheticLocal()
1608 InputSectionBase *isec, in addSymbolReloc()
1617 RelType dynType, InputSectionBase *inputSec, uint64_t offsetInSec, in addRelativeReloc()
[all …]
DThunks.h45 InputSectionBase &section);
DSymbols.cpp627 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate()
645 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate()
697 dyn_cast_or_null<InputSectionBase>(other.section), in resolveDefined()

12