| /llvm-project-15.0.7/lld/ELF/ |
| H A D | MarkLive.cpp | 53 void enqueue(InputSectionBase *sec, uint64_t offset); 76 static uint64_t getAddend(InputSectionBase &sec, in getAddend() 83 static uint64_t getAddend(InputSectionBase &sec, in getAddend() 98 auto *relSec = dyn_cast_or_null<InputSectionBase>(d->section); in resolveReloc() 169 static bool isReserved(InputSectionBase *sec) { in isReserved() 247 for (InputSectionBase *sec : inputSections) { in run() 321 InputSectionBase &sec = *queue.pop_back_val(); in mark() 329 for (InputSectionBase *isec : sec.dependentSections) in mark() 355 for (InputSectionBase *sec : inputSections) { in moveToMain() 381 for (InputSectionBase *sec : inputSections) in markLive() [all …]
|
| H A D | CallGraphSort.cpp | 82 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 D | LinkerScript.cpp | 437 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 443 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 446 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 488 SmallVector<InputSectionBase *, 0> 491 SmallVector<InputSectionBase *, 0> ret; in computeInputSections() 586 SmallVector<InputSectionBase *, 0> 588 SmallVector<InputSectionBase *, 0> ret; in createInputSectionList() 609 for (InputSectionBase *s : v) in processSectionCommands() 624 for (InputSectionBase *s : v) in processSectionCommands() 635 for (InputSectionBase *s : v) in processSectionCommands() [all …]
|
| H A D | InputSection.h | 105 class InputSectionBase : public SectionBase { 111 InputSectionBase(InputFile *file, uint64_t flags, uint32_t type, 172 InputSectionBase *nextInSectionGroup = nullptr; 264 class MergeInputSection : public InputSectionBase { 317 InputSectionBase *sec; 323 class EhInputSection : public InputSectionBase { 344 class InputSection : public InputSectionBase { 371 InputSectionBase *getRelocatedSection() const; 397 inline bool isDebugSection(const InputSectionBase &sec) { in isDebugSection() 403 extern SmallVector<InputSectionBase *, 0> inputSections; [all …]
|
| H A D | InputSection.cpp | 36 SmallVector<InputSectionBase *, 0> elf::inputSections; 40 std::string lld::toString(const InputSectionBase *sec) { in toString() 52 InputSectionBase::InputSectionBase(InputFile *file, uint64_t flags, in InputSectionBase() function in InputSectionBase 90 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase 104 size_t InputSectionBase::getSize() const { in getSize() 112 void InputSectionBase::uncompress() const { in uncompress() 301 : InputSectionBase(f, flags, type, in InputSection() 308 : InputSectionBase(f, header, name, InputSectionBase::Regular) {} in InputSection() 345 InputSectionBase *sec = getRelocatedSection(); in copyRelocations() 1256 : InputSectionBase(f, header, name, InputSectionBase::EHFrame) {} in EhInputSection() [all …]
|
| H A D | LinkerScript.h | 31 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 D | CallGraphSort.h | 16 class InputSectionBase; variable 18 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
|
| H A D | InputFiles.h | 55 SmallVector<InputSectionBase *, 0> sections; 78 ArrayRef<InputSectionBase *> getSections() const { in getSections() 128 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec, 247 llvm::Optional<llvm::DILineInfo> getDILineInfo(InputSectionBase *, uint64_t); 286 InputSectionBase *getRelocTarget(uint32_t idx, const Elf_Shdr &sec, 288 InputSectionBase *createInputSection(uint32_t idx, const Elf_Shdr &sec,
|
| H A D | SyntheticSections.h | 42 InputSectionBase::Synthetic) {} 54 return d->kind() == InputSectionBase::Synthetic; in classof() 446 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 452 DynamicReloc(RelType type, const InputSectionBase *inputSec, 458 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 480 const InputSectionBase *inputSec; 519 void addSymbolReloc(RelType dynType, InputSectionBase &isec, 524 void addRelativeReloc(RelType dynType, InputSectionBase &isec, 530 InputSectionBase &isec, 586 const InputSectionBase *inputSec; [all …]
|
| H A D | Writer.cpp | 123 SmallVector<InputSectionBase *, 0> newSections; in copySectionsIntoPartitions() 125 for (InputSectionBase *s : inputSections) { in copySectionsIntoPartitions() 128 InputSectionBase *copy; in copySectionsIntoPartitions() 146 for (InputSectionBase *&s : inputSections) { in combineEhSections() 726 InputSectionBase *isec = nullptr; in addSectionSymbols() 733 for (InputSectionBase *s : isd->sections) { in addSectionSymbols() 1230 for (InputSectionBase *sec : sections) in maybeShuffle() 1245 for (InputSectionBase *&sec : sections) in maybeShuffle() 1253 for (InputSectionBase *sec : sections) { in maybeShuffle() 1731 const InputSectionBase *inputSec = dyn_cast<InputSectionBase>(sec); in fixSymbolsAfterShrinking() [all …]
|
| H A D | Config.h | 37 class InputSectionBase; variable 155 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>, 377 InputSectionBase *section;
|
| H A D | DWARF.h | 23 InputSectionBase *sec = nullptr; 85 llvm::Optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
|
| H A D | OutputSections.cpp | 98 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection() 188 for (InputSectionBase *s : isd->sectionBases) { in finalizeInputSections() 238 llvm::function_ref<int(InputSectionBase *s)> order) { in sortByOrder() 254 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort() 475 ArrayRef<InputSectionBase *> sections = section->file->getSections(); in finalizeShtGroup() 515 InputSectionBase *s = first->getRelocatedSection(); in finalize() 624 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
|
| H A D | InputFiles.cpp | 289 ArrayRef<InputSectionBase *> sections = s->file->getSections(); in getDILineInfo() 483 if (InputSectionBase *s = sections[index]) in handleSectionGroup() 496 InputSectionBase *head; in handleSectionGroup() 497 InputSectionBase *prev = nullptr; in handleSectionGroup() 499 InputSectionBase *s = sections[index]; in handleSectionGroup() 625 InputSectionBase *s = getRelocTarget(i, sec, info); in initializeSections() 666 InputSectionBase *linkSec = nullptr; in initializeSections() 843 InputSectionBase *ObjFile<ELFT>::getRelocTarget(uint32_t idx, in getRelocTarget() 847 InputSectionBase *target = this->sections[info]; in getRelocTarget() 1086 InputSectionBase *sec = sections[secIdx]; in initializeLocalSymbols() [all …]
|
| H A D | Relocations.cpp | 89 static std::string getLocation(InputSectionBase &s, const Symbol &sym, in getLocation() 399 explicit OffsetGetter(InputSectionBase &sec) { in OffsetGetter() 434 explicit RelocationScanner(InputSectionBase &sec) in RelocationScanner() 440 InputSectionBase &sec; 568 InputSectionBase *sec; 752 InputSectionBase &sec = *l.sec; in reportUndefinedSymbol() 816 static bool maybeReportUndefined(Undefined &sym, InputSectionBase &sec, in maybeReportUndefined() 2228 template void elf::scanRelocations<ELF32LE>(InputSectionBase &); 2229 template void elf::scanRelocations<ELF32BE>(InputSectionBase &); 2230 template void elf::scanRelocations<ELF64LE>(InputSectionBase &); [all …]
|
| H A D | OutputSections.h | 74 void recordSection(InputSectionBase *isec); 113 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
|
| H A D | EhFrame.cpp | 38 EhReader(InputSectionBase *s, ArrayRef<uint8_t> d) : isec(s), d(d) {} in EhReader() 55 InputSectionBase *isec;
|
| H A D | DWARF.cpp | 33 InputSectionBase *sec = it.value(); in LLDDwarfObj() 106 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
|
| H A D | Relocations.h | 21 class InputSectionBase; variable 129 template <class ELFT> void scanRelocations(InputSectionBase &);
|
| H A D | EhFrame.h | 16 class InputSectionBase; variable
|
| H A D | Thunks.h | 45 InputSectionBase §ion);
|
| H A D | Symbols.cpp | 560 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate() 585 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate() 604 dyn_cast_or_null<InputSectionBase>(other.section), in checkDuplicate()
|
| H A D | Driver.cpp | 849 auto findSection = [&](StringRef name) -> InputSectionBase * { in readCallGraph() 859 return dyn_cast_or_null<InputSectionBase>(dr->section); in readCallGraph() 873 if (InputSectionBase *from = findSection(fields[0])) in readCallGraph() 874 if (InputSectionBase *to = findSection(fields[1])) in readCallGraph() 2082 static void readSymbolPartitionSection(InputSectionBase *s) { in readSymbolPartitionSection() 2657 for (InputSectionBase *s : f->getSections()) in link() 2661 for (InputSectionBase *s : f->getSections()) in link() 2668 llvm::erase_if(inputSections, [](InputSectionBase *s) { in link() 2678 llvm::erase_if(inputSections, [](InputSectionBase *s) { in link() 2682 if (InputSectionBase *rel = isec->getRelocatedSection()) in link() [all …]
|
| H A D | SyntheticSections.cpp | 110 for (InputSectionBase *sec : inputSections) { in create() 176 SmallVector<InputSectionBase *, 0> sections; in create() 177 for (InputSectionBase *sec : inputSections) in create() 185 for (InputSectionBase *sec : sections) { in create() 233 SmallVector<InputSectionBase *, 0> sections; in create() 234 for (InputSectionBase *sec : inputSections) in create() 242 for (InputSectionBase *sec : sections) { in create() 2772 InputSectionBase *s = sections[r.SectionIndex]; in readAddressAreas() 2905 for (InputSectionBase *s : inputSections) { in create() 2918 llvm::erase_if(inputSections, [](InputSectionBase *s) { in create() [all …]
|
| H A D | Symbols.h | 35 class InputSectionBase; variable 554 InputSectionBase *errSec, uint64_t errOffset);
|