/external/llvm-project/lld/ELF/ |
D | MarkLive.cpp | 54 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 …]
|
D | CallGraphSort.cpp | 81 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()
|
D | LinkerScript.cpp | 348 bool LinkerScript::shouldKeep(InputSectionBase *s) { in shouldKeep() 360 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints() 366 sections, [](InputSectionBase *sec) { return sec->flags & SHF_WRITE; }); in matchConstraints() 372 static void sortSections(MutableArrayRef<InputSectionBase *> vec, in sortSections() 374 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 380 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 383 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 411 static void sortInputSections(MutableArrayRef<InputSectionBase *> vec, in sortInputSections() 425 std::vector<InputSectionBase *> 427 ArrayRef<InputSectionBase *> sections) { in computeInputSections() [all …]
|
D | InputSection.h | 104 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; 270 class MergeInputSection : public InputSectionBase { 313 EhSectionPiece(size_t off, InputSectionBase *sec, uint32_t size, in EhSectionPiece() 323 InputSectionBase *sec; 329 class EhInputSection : public InputSectionBase { 349 class InputSection : public InputSectionBase { 373 InputSectionBase *getRelocatedSection() const; [all …]
|
D | InputSection.cpp | 43 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 124 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase 127 : InputSectionBase(&file, getFlags(hdr.sh_flags), in InputSectionBase() 138 size_t InputSectionBase::getSize() const { in getSize() 146 void InputSectionBase::uncompress() const { in uncompress() 162 uint64_t InputSectionBase::getOffsetInFile() const { in getOffsetInFile() 213 void InputSectionBase::parseCompressedHeader() { in parseCompressedHeader() 278 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep() [all …]
|
D | LinkerScript.h | 34 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); 347 std::vector<const InputSectionBase *> orphanSections;
|
D | CallGraphSort.h | 16 class InputSectionBase; variable 18 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
|
D | EhFrame.h | 16 class InputSectionBase; variable 19 size_t readEhRecordSize(InputSectionBase *s, size_t off);
|
D | OutputSections.h | 26 class InputSectionBase; variable 74 void recordSection(InputSectionBase *isec); 107 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
|
D | InputFiles.h | 80 ArrayRef<InputSectionBase *> getSections() const { in getSections() 112 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec, 148 std::vector<InputSectionBase *> sections; 227 llvm::Optional<llvm::DILineInfo> getDILineInfo(InputSectionBase *, uint64_t); 264 InputSectionBase *getRelocTarget(const Elf_Shdr &sec); 265 InputSectionBase *createInputSection(const Elf_Shdr &sec);
|
D | Writer.h | 22 class InputSectionBase; variable 54 llvm::StringRef getOutputSectionName(const InputSectionBase *s);
|
D | EhFrame.cpp | 38 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()
|
D | Relocations.cpp | 90 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() 402 InputSectionBase &s, uint64_t relOff) { in isStaticLinkTimeConstant() 625 InputSectionBase &sec, RelExpr expr, in computeMipsAddend() 660 InputSectionBase &sec, RelExpr expr, in computeAddend() 720 InputSectionBase *sec; 888 InputSectionBase &sec = *l.sec; in reportUndefinedSymbol() 946 static bool maybeReportUndefined(Symbol &sym, InputSectionBase &sec, in maybeReportUndefined() 1012 explicit OffsetGetter(InputSectionBase &sec) { in OffsetGetter() [all …]
|
D | OutputSections.cpp | 100 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() 427 InputSectionBase *s = first->getRelocatedSection(); in finalize() 527 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
|
D | Writer.cpp | 58 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 …]
|
D | DWARF.h | 23 InputSectionBase *sec = nullptr; 85 llvm::Optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
|
D | InputFiles.cpp | 246 InputSectionBase &sec, uint64_t offset) { in getSrcMsgAux() 261 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec, in getSrcMsg() 313 Optional<DILineInfo> ObjFile<ELFT>::getDILineInfo(InputSectionBase *s, in getDILineInfo() 317 ArrayRef<InputSectionBase *> sections = s->file->getSections(); in getDILineInfo() 527 static void handleSectionGroup(ArrayRef<InputSectionBase *> sections, in handleSectionGroup() 533 if (InputSectionBase *s = sections[index]) in handleSectionGroup() 546 InputSectionBase *head; in handleSectionGroup() 547 InputSectionBase *prev = nullptr; in handleSectionGroup() 549 InputSectionBase *s = sections[index]; in handleSectionGroup() 678 InputSectionBase *linkSec = nullptr; in initializeSections() [all …]
|
D | Relocations.h | 21 class InputSectionBase; variable 125 template <class ELFT> void scanRelocations(InputSectionBase &);
|
D | Config.h | 30 class InputSectionBase; variable 137 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>,
|
D | SyntheticSections.h | 44 InputSectionBase::Synthetic) { 58 return d->kind() == InputSectionBase::Synthetic; in classof() 428 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 435 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 452 const InputSectionBase *inputSec = nullptr; 496 void addReloc(RelType dynType, InputSectionBase *isec, uint64_t offsetInSec, 500 void addReloc(RelType dynType, InputSectionBase *inputSec, 549 const InputSectionBase *inputSec; 1162 uint64_t size, InputSectionBase §ion);
|
D | DWARF.cpp | 34 InputSectionBase *sec = it.value(); in LLDDwarfObj() 107 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
|
D | Thunks.h | 44 InputSectionBase §ion);
|
D | Driver.cpp | 809 auto findSection = [&](StringRef name) -> InputSectionBase * { in readCallGraph() 819 return dyn_cast_or_null<InputSectionBase>(dr->section); in readCallGraph() 833 if (InputSectionBase *from = findSection(fields[0])) in readCallGraph() 834 if (InputSectionBase *to = findSection(fields[1])) in readCallGraph() 849 auto *from = dyn_cast_or_null<InputSectionBase>(fromSym->section); in readCallGraphsFromObjectFiles() 850 auto *to = dyn_cast_or_null<InputSectionBase>(toSym->section); in readCallGraphsFromObjectFiles() 1796 static void readSymbolPartitionSection(InputSectionBase *s) { in readSymbolPartitionSection() 2204 for (InputSectionBase *s : f->getSections()) in link() 2208 for (InputSectionBase *s : f->getSections()) in link() 2214 llvm::erase_if(inputSections, [](InputSectionBase *s) { in link() [all …]
|
D | Symbols.cpp | 618 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate() 636 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate() 688 dyn_cast_or_null<InputSectionBase>(other.section), in resolveDefined()
|
D | SyntheticSections.cpp | 108 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 §ion) { in addSyntheticLocal() 1579 void RelocationBaseSection::addReloc(RelType dynType, InputSectionBase *isec, in addReloc() 1585 InputSectionBase *inputSec, in addReloc() [all …]
|