| /openbsd-src/gnu/llvm/lld/ELF/ |
| H A D | MarkLive.cpp | 53 void enqueue(InputSectionBase *sec, uint64_t offset); 58 void resolveReloc(InputSectionBase &sec, RelTy &rel, bool fromFDE); 71 DenseMap<StringRef, SmallVector<InputSectionBase *, 0>> cNamedSections; 76 static uint64_t getAddend(InputSectionBase &sec, in getAddend() 83 static uint64_t getAddend(InputSectionBase &sec, in getAddend() 90 void MarkLive<ELFT>::resolveReloc(InputSectionBase &sec, RelTy &rel, in resolveReloc() 98 auto *relSec = dyn_cast_or_null<InputSectionBase>(d->section); in resolveReloc() 124 for (InputSectionBase *sec : cNamedSections.lookup(sym.getName())) in resolveReloc() 163 static bool isReserved(InputSectionBase *sec) { in isReserved() 183 void MarkLive<ELFT>::enqueue(InputSectionBase *sec, uint64_t offset) { in enqueue() [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 | 53 static StringRef getOutputSectionName(const InputSectionBase *s) { in getOutputSectionName() 61 if (InputSectionBase *rel = isec->getRelocatedSection()) { in getOutputSectionName() 412 bool LinkerScript::shouldKeep(InputSectionBase *s) { in shouldKeep() 424 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints() 430 sections, [](InputSectionBase *sec) { return sec->flags & SHF_WRITE; }); in matchConstraints() 436 static void sortSections(MutableArrayRef<InputSectionBase *> vec, in sortSections() 438 auto alignmentComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 444 auto nameComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 447 auto priorityComparator = [](InputSectionBase *a, InputSectionBase *b) { in sortSections() 475 static void sortInputSections(MutableArrayRef<InputSectionBase *> vec, in sortInputSections() [all …]
|
| H A D | InputSection.h | 106 class InputSectionBase : public SectionBase { 109 InputSectionBase(ObjFile<ELFT> &file, const typename ELFT::Shdr &header, 112 InputSectionBase(InputFile *file, uint64_t flags, uint32_t type, 179 InputSectionBase *nextInSectionGroup = nullptr; 271 class MergeInputSection : public InputSectionBase { 316 EhSectionPiece(size_t off, InputSectionBase *sec, uint32_t size, in EhSectionPiece() 326 InputSectionBase *sec; 332 class EhInputSection : public InputSectionBase { 353 class InputSection : public InputSectionBase { 380 InputSectionBase *getRelocatedSection() const; [all …]
|
| H A D | InputSection.cpp | 39 std::string lld::toString(const InputSectionBase *sec) { in toString() 51 InputSectionBase::InputSectionBase(InputFile *file, uint64_t flags, in InputSectionBase() function in InputSectionBase 89 InputSectionBase::InputSectionBase(ObjFile<ELFT> &file, in InputSectionBase() function in InputSectionBase 92 : InputSectionBase(&file, getFlags(hdr.sh_flags), hdr.sh_type, in InputSectionBase() 103 size_t InputSectionBase::getSize() const { in getSize() 110 static void decompressAux(const InputSectionBase &sec, uint8_t *out, in decompressAux() 122 void InputSectionBase::decompress() const { in decompress() 135 template <class ELFT> RelsOrRelas<ELFT> InputSectionBase::relsOrRelas() const { in relsOrRelas() 207 template <typename ELFT> void InputSectionBase::parseCompressedHeader() { in parseCompressedHeader() 237 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep() [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 | 15 class InputSectionBase; variable 17 llvm::DenseMap<const InputSectionBase *, int> computeCallGraphProfileOrder();
|
| H A D | InputFiles.h | 58 SmallVector<InputSectionBase *, 0> sections; 81 ArrayRef<InputSectionBase *> getSections() const { in getSections() 131 std::string getSrcMsg(const Symbol &sym, InputSectionBase &sec, 253 std::optional<llvm::DILineInfo> getDILineInfo(InputSectionBase *, uint64_t); 293 InputSectionBase *getRelocTarget(uint32_t idx, const Elf_Shdr &sec, 295 InputSectionBase *createInputSection(uint32_t idx, const Elf_Shdr &sec,
|
| H A D | Config.h | 40 class InputSectionBase; variable 186 llvm::MapVector<std::pair<const InputSectionBase *, const InputSectionBase *>, 417 InputSectionBase *section; 429 SmallVector<InputSectionBase *, 0> inputSections;
|
| H A D | DWARF.h | 22 InputSectionBase *sec = nullptr; 84 std::optional<llvm::RelocAddrEntry> findAux(const InputSectionBase &sec,
|
| H A D | Writer.cpp | 123 SmallVector<InputSectionBase *, 0> newSections; in copySectionsIntoPartitions() 126 for (InputSectionBase *s : ctx.inputSections) { in copySectionsIntoPartitions() 622 for (InputSectionBase *s : f->getSections()) { in markUsedLocalSymbols() 715 InputSectionBase *isec = nullptr; in addSectionSymbols() 722 for (InputSectionBase *s : isd->sections) { in addSectionSymbols() 1214 static void maybeShuffle(DenseMap<const InputSectionBase *, int> &order) { in maybeShuffle() argument 1218 SmallVector<InputSectionBase *, 0> matched, sections = ctx.inputSections; in maybeShuffle() 1222 for (InputSectionBase *sec : sections) in maybeShuffle() 1237 for (InputSectionBase *&sec : sections) in maybeShuffle() 1245 for (InputSectionBase *sec : sections) { in maybeShuffle() [all …]
|
| H A D | InputFiles.cpp | 323 InputSectionBase &sec, uint64_t offset) { in getSrcMsgAux() 338 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec, in getSrcMsg() 390 static void handleSectionGroup(ArrayRef<InputSectionBase *> sections, in handleSectionGroup() 396 if (InputSectionBase *s = sections[index]) in handleSectionGroup() 409 InputSectionBase *head; in handleSectionGroup() 410 InputSectionBase *prev = nullptr; in handleSectionGroup() 412 InputSectionBase *s = sections[index]; in handleSectionGroup() 449 std::optional<DILineInfo> ObjFile<ELFT>::getDILineInfo(InputSectionBase *s, in getDILineInfo() 453 ArrayRef<InputSectionBase *> sections = s->file->getSections(); in getDILineInfo() 801 InputSectionBase *s = getRelocTarget(i, sec, info); in initializeSections() [all …]
|
| H A D | OutputSections.h | 75 void recordSection(InputSectionBase *isec); 115 void sort(llvm::function_ref<int(InputSectionBase *s)> order);
|
| H A D | SyntheticSections.h | 425 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 431 DynamicReloc(RelType type, const InputSectionBase *inputSec, 437 DynamicReloc(RelType type, const InputSectionBase *inputSec, in DynamicReloc() 459 const InputSectionBase *inputSec; 501 void addSymbolReloc(RelType dynType, InputSectionBase &isec, 510 void addRelativeReloc(RelType dynType, InputSectionBase &isec, in addRelativeReloc() 523 void addReloc(DynamicReloc::Kind kind, RelType dynType, InputSectionBase &sec, in addReloc() 594 const InputSectionBase *inputSec; 1096 return sec->kind() == InputSectionBase::Synthetic && in classof() 1232 uint64_t size, InputSectionBase §ion);
|
| 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 | Target.cpp | 96 for (InputSectionBase *d : ctx.inputSections) { in getErrorPlace() 155 void TargetInfo::relocateAlloc(InputSectionBase &sec, uint8_t *buf) const { in relocateAlloc()
|
| H A D | OutputSections.cpp | 102 void OutputSection::recordSection(InputSectionBase *isec) { in recordSection() 192 for (InputSectionBase *s : isd->sectionBases) { in finalizeInputSections() 242 llvm::function_ref<int(InputSectionBase *s)> order) { in sortByOrder() 258 void OutputSection::sort(llvm::function_ref<int(InputSectionBase *s)> order) { in sort() 562 ArrayRef<InputSectionBase *> sections = section->file->getSections(); in finalizeShtGroup() 602 InputSectionBase *s = first->getRelocatedSection(); in finalize() 711 sort([](InputSectionBase *s) { return getPriority(s->name); }); in sortInitFini()
|
| H A D | Thunks.h | 44 InputSectionBase §ion);
|
| H A D | Symbols.cpp | 525 InputSectionBase *errSec, uint64_t errOffset) { in reportDuplicate() 550 auto *sec1 = cast<InputSectionBase>(d->section); in reportDuplicate() 569 dyn_cast_or_null<InputSectionBase>(other.section), in checkDuplicate()
|
| H A D | Target.h | 92 virtual void relocateAlloc(InputSectionBase &sec, uint8_t *buf) const; 185 InputSectionBase *isec;
|
| H A D | Driver.cpp | 889 auto findSection = [&](StringRef name) -> InputSectionBase * { in readCallGraph() 899 return dyn_cast_or_null<InputSectionBase>(dr->section); in readCallGraph() 913 if (InputSectionBase *from = findSection(fields[0])) in readCallGraph() 914 if (InputSectionBase *to = findSection(fields[1])) in readCallGraph() 981 auto *from = dyn_cast_or_null<InputSectionBase>(fromSym->section); in readCallGraphsFromObjectFiles() 982 auto *to = dyn_cast_or_null<InputSectionBase>(toSym->section); in readCallGraphsFromObjectFiles() 2169 static void readSymbolPartitionSection(InputSectionBase *s) { in readSymbolPartitionSection() 2767 for (InputSectionBase *s : f->getSections()) { in link() 2777 for (InputSectionBase *s : f->getSections()) in link() 2784 llvm::erase_if(ctx.inputSections, [](InputSectionBase *s) { in link() [all …]
|
| H A D | SyntheticSections.cpp | 110 for (InputSectionBase *sec : ctx.inputSections) { in create() 177 SmallVector<InputSectionBase *, 0> sections; in create() 178 for (InputSectionBase *sec : ctx.inputSections) in create() 186 for (InputSectionBase *sec : sections) { in create() 234 SmallVector<InputSectionBase *, 0> sections; in create() 235 for (InputSectionBase *sec : ctx.inputSections) in create() 243 for (InputSectionBase *sec : sections) { in create() 269 uint64_t size, InputSectionBase §ion) { in addSyntheticLocal() 1592 RelType dynType, InputSectionBase &isec, uint64_t offsetInSec, Symbol &sym, in addSymbolReloc() 2714 ArrayRef<InputSectionBase *> sections = sec->file->getSections(); in readAddressAreas() [all …]
|
| H A D | DWARF.cpp | 105 LLDDwarfObj<ELFT>::findAux(const InputSectionBase &sec, uint64_t pos, in findAux()
|
| H A D | Relocations.h | 20 class InputSectionBase; variable
|
| /openbsd-src/gnu/llvm/lld/ELF/Arch/ |
| H A D | RISCV.cpp | 847 unsigned &mergedXlen, const InputSectionBase *sec, in mergeArch() 874 mergeAttributesSection(const SmallVector<InputSectionBase *, 0> §ions) { in mergeAttributesSection() argument 876 const InputSectionBase *firstStackAlign = nullptr; in mergeAttributesSection() 885 for (const InputSectionBase *sec : sections) { in mergeAttributesSection() 1006 SmallVector<InputSectionBase *, 0> sections; in mergeRISCVAttributesSections() 1007 llvm::erase_if(ctx.inputSections, [&](InputSectionBase *s) { in mergeRISCVAttributesSections()
|