| /freebsd-12-stable/contrib/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 | LinkerScript.cpp | 356 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 …]
|
| 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 | 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; 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 …]
|
| 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 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 …]
|
| 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); 350 std::vector<const InputSectionBase *> orphanSections;
|
| D | CallGraphSort.h | 16 class InputSectionBase; variable 18 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
|
| D | InputFiles.h | 80 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);
|
| 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); 109 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
|
| 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 | 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() 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 …]
|
| D | Writer.h | 22 class InputSectionBase; variable 54 llvm::StringRef getOutputSectionName(const InputSectionBase *s);
|
| D | SyntheticSections.h | 44 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 …]
|
| 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 | 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() 431 InputSectionBase *s = first->getRelocatedSection(); in finalize() 531 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
|
| D | DWARF.h | 23 InputSectionBase *sec = nullptr; 85 llvm::Optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
|
| D | InputFiles.cpp | 247 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 …]
|
| D | Config.h | 31 class InputSectionBase; variable 143 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>,
|
| D | DWARF.cpp | 34 InputSectionBase *sec = it.value(); in LLDDwarfObj() 107 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
|
| D | Relocations.h | 21 class InputSectionBase; variable 126 template <class ELFT> void scanRelocations(InputSectionBase &);
|
| D | Driver.cpp | 828 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 …]
|
| 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() 1608 InputSectionBase *isec, in addSymbolReloc() 1617 RelType dynType, InputSectionBase *inputSec, uint64_t offsetInSec, in addRelativeReloc() [all …]
|
| D | Thunks.h | 45 InputSectionBase §ion);
|
| D | Symbols.cpp | 627 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()
|