| /openbsd-src/gnu/llvm/lld/MachO/ |
| H A D | InputSection.h | 30 class InputSection { 39 virtual ~InputSection() = default; 61 virtual InputSection *canonical() { return this; } in canonical() 62 virtual const InputSection *canonical() const { return this; } in canonical() 65 InputSection(Kind kind, const Section §ion, ArrayRef<uint8_t> data, in InputSection() function 70 InputSection(const InputSection &rhs) in InputSection() function 103 class ConcatInputSection final : public InputSection { 107 : InputSection(ConcatKind, section, data, align) {} in InputSection() function 110 uint64_t getVA() const { return InputSection::getVA(0); } in getVA() 122 const InputSection *canonical() const override { in canonical() [all …]
|
| H A D | MarkLive.cpp | 27 InputSection *isec; 31 WhyLiveEntry(InputSection *isec, const WhyLiveEntry *prev) in WhyLiveEntry() 39 virtual void enqueue(InputSection *isec, uint64_t off) = 0; 52 std::conditional_t<RecordWhyLive, WhyLiveEntry, InputSection>; 54 void enqueue(InputSection *isec, uint64_t off) override { in enqueue() 61 void enqueue(InputSection *isec, uint64_t off, const WorklistEntry *prev); 63 const InputSection *getInputSection(const WorklistEntry *) const; 64 WorklistEntry *makeEntry(InputSection *, const WorklistEntry *prev) const; 76 InputSection *isec, uint64_t off, in enqueue() 121 const InputSection *MarkLiveImpl<RecordWhyLive>::getInputSection( in getInputSection() [all …]
|
| H A D | InputSection.cpp | 41 uint64_t InputSection::getFileSize() const { in getFileSize() 45 uint64_t InputSection::getVA(uint64_t off) const { in getVA() 60 const Defined *InputSection::getContainingSymbol(uint64_t off) const { in getContainingSymbol() 68 std::string InputSection::getLocation(uint64_t off) const { in getLocation() 89 std::string InputSection::getSourceLocation(uint64_t off) const { in getSourceLocation() 182 auto *referentIsec = minuend.referent.get<InputSection *>(); in writeTo() 209 } else if (auto *referentIsec = r.referent.dyn_cast<InputSection *>()) { in writeTo() 271 : InputSection(WordLiteralKind, section, data, align) { in WordLiteralInputSection() 304 bool macho::isCodeSection(const InputSection *isec) { in isCodeSection() 321 bool macho::isCfStringSection(const InputSection *isec) { in isCfStringSection() [all …]
|
| H A D | EhFrame.h | 93 EhRelocator(InputSection *isec) : isec(isec) {} in EhRelocator() 98 llvm::PointerUnion<Symbol *, InputSection *> target, 102 llvm::PointerUnion<Symbol *, InputSection *> target, 108 InputSection *isec;
|
| H A D | Relocations.h | 24 class InputSection; variable 62 llvm::PointerUnion<Symbol *, InputSection *> referent = nullptr; 67 int64_t addend, llvm::PointerUnion<Symbol *, InputSection *> referent) in Reloc() 72 bool validateSymbolRelocation(const Symbol *, const InputSection *, 116 InputSection *offsetToInputSection(uint64_t *);
|
| H A D | SectionPriorities.h | 17 using SectionPair = std::pair<const InputSection *, const InputSection *>; 55 llvm::DenseMap<const InputSection *, size_t> buildInputSectionPriorities();
|
| H A D | SymbolTable.h | 25 class InputSection; variable 39 Defined *addDefined(StringRef name, InputFile *, InputSection *, 60 Defined *addSynthetic(StringRef name, InputSection *, uint64_t value, 79 void treatUndefinedSymbol(const Undefined &, const InputSection *,
|
| H A D | SectionPriorities.cpp | 69 DenseMap<const InputSection *, size_t> run(); 73 std::vector<const InputSection *> sections; 83 DenseMap<const InputSection *, int> secToCluster; in CallGraphSort() 85 auto getOrCreateCluster = [&](const InputSection *isec) -> int { in CallGraphSort() 159 DenseMap<const InputSection *, size_t> CallGraphSort::run() { in run() 207 DenseMap<const InputSection *, size_t> orderMap; in run() 233 const InputSection *isec = sections[i]; in run() 352 DenseMap<const InputSection *, size_t> 354 DenseMap<const InputSection *, size_t> sectionPriorities; in buildInputSectionPriorities()
|
| H A D | EhFrame.cpp | 109 static void createSubtraction(PointerUnion<Symbol *, InputSection *> a, in createSubtraction() 110 PointerUnion<Symbol *, InputSection *> b, in createSubtraction() 127 PointerUnion<Symbol *, InputSection *> target, in makePcRel() 133 uint64_t off, PointerUnion<Symbol *, InputSection *> target, in makeNegativePcRel()
|
| H A D | Writer.h | 17 class InputSection; variable 33 void addNonLazyBindingEntries(const Symbol *, const InputSection *,
|
| H A D | Relocations.cpp | 25 const InputSection *isec, const Reloc &r) { in validateSymbolRelocation() 55 InputSection *macho::offsetToInputSection(uint64_t *off) { in offsetToInputSection() 89 const InputSection *isec = offsetToInputSection(&off); in reportRangeError()
|
| /openbsd-src/gnu/llvm/lld/ELF/ |
| H A D | ICF.cpp | 106 bool constantEq(const InputSection *a, ArrayRef<RelTy> relsA, 107 const InputSection *b, ArrayRef<RelTy> relsB); 110 bool variableEq(const InputSection *a, ArrayRef<RelTy> relsA, 111 const InputSection *b, ArrayRef<RelTy> relsB); 113 bool equalsConstant(const InputSection *a, const InputSection *b); 114 bool equalsVariable(const InputSection *a, const InputSection *b); 123 SmallVector<InputSection *, 0> sections; 161 static bool isEligible(InputSection *s) { in isEligible() 213 sections.begin() + end, [&](InputSection *s) { in segregate() 238 bool ICF<ELFT>::constantEq(const InputSection *secA, ArrayRef<RelTy> ra, in constantEq() [all …]
|
| H A D | InputSection.cpp | 163 return cast<InputSection>(this)->outSecOff + offset; in getOffset() 173 if (InputSection *isec = es->getParent()) in getOffset() 179 if (InputSection *isec = ms->getParent()) in getOffset() 192 InputSection *sec; in getOutputSection() 193 if (auto *isec = dyn_cast<InputSection>(this)) in getOutputSection() 237 InputSection *InputSectionBase::getLinkOrderDep() const { in getLinkOrderDep() 241 return cast<InputSection>(file->getSections()[link]); in getLinkOrderDep() 309 InputSection InputSection::discarded(nullptr, 0, 0, 0, ArrayRef<uint8_t>(), ""); 311 InputSection::InputSection(InputFile *f, uint64_t flags, uint32_t type, in InputSection() function in InputSection 319 InputSection::InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, in InputSection() function in InputSection [all …]
|
| H A D | ARMErrataFix.cpp | 73 Patch657417Section(InputSection *p, uint64_t off, uint32_t instr, bool isARM); 87 const InputSection *patchee; 136 Patch657417Section::Patch657417Section(InputSection *p, uint64_t off, in Patch657417Section() 206 static bool branchDestInFirstRegion(const InputSection *isec, uint64_t off, in branchDestInFirstRegion() 229 static bool patchInRange(const InputSection *isec, uint64_t off, in patchInRange() 255 static ScanResult scanCortexA8Errata657417(InputSection *isec, uint64_t &off, in scanCortexA8Errata657417() 338 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init() 377 for (const InputSection *isec : isd.sections) { in insertPatches() 396 SmallVector<InputSection *, 0> tmp; in insertPatches() 398 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches() [all …]
|
| H A D | InputSection.h | 184 llvm::TinyPtrVector<InputSection *> dependentSections; 189 InputSection *getLinkOrderDep() const; 353 class InputSection : public InputSectionBase { 355 InputSection(InputFile *f, uint64_t flags, uint32_t type, uint32_t addralign, 358 InputSection(ObjFile<ELFT> &f, const typename ELFT::Shdr &header, 387 InputSection *repl = this; 393 void replace(InputSection *other); 395 static InputSection discarded; 404 static_assert(sizeof(InputSection) <= 160, "InputSection is too big"); 406 class SyntheticSection : public InputSection { [all …]
|
| H A D | OutputSections.h | 76 void commitSection(InputSection *isec); 120 SmallVector<InputSection *, 0> storage; 140 InputSection *getFirstInputSection(const OutputSection *os); 141 llvm::ArrayRef<InputSection *> 143 SmallVector<InputSection *, 0> &storage);
|
| H A D | AArch64ErrataFix.cpp | 336 static uint64_t scanCortexA53Errata843419(InputSection *isec, uint64_t &off, in scanCortexA53Errata843419() 374 Patch843419Section(InputSection *p, uint64_t off); 387 const InputSection *patchee; 394 Patch843419Section::Patch843419Section(InputSection *p, uint64_t off) in Patch843419Section() 449 if (auto *sec = dyn_cast_or_null<InputSection>(def->section)) in init() 493 for (const InputSection *isec : isd.sections) { in insertPatches() 514 SmallVector<InputSection *, 0> tmp; in insertPatches() 516 auto mergeCmp = [](const InputSection *a, const InputSection *b) { in insertPatches() 531 InputSection *isec, in implementPatch() 578 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
|
| H A D | OutputSections.cpp | 114 void OutputSection::commitSection(InputSection *isec) { in commitSection() 195 isd->sections.push_back(cast<InputSection>(s)); in finalizeInputSections() 234 for (InputSection *s : isd->sections) in finalizeInputSections() 241 static void sortByOrder(MutableArrayRef<InputSection *> in, in sortByOrder() 243 std::vector<std::pair<int, InputSection *>> v; in sortByOrder() 244 for (InputSection *s : in) in sortByOrder() 482 ArrayRef<InputSection *> sections = getInputSections(*this, storage); in writeTo() 491 InputSection *isec = sections[i]; in writeTo() 546 static void finalizeShtGroup(OutputSection *os, InputSection *section) { in finalizeShtGroup() 570 InputSection *first = getFirstInputSection(this); in finalize() [all …]
|
| H A D | Thunks.cpp | 79 bool isCompatibleWith(const InputSection &isec, 111 bool isCompatibleWith(const InputSection &isec, 279 InputSection *getTargetInputSection() const override; 290 InputSection *getTargetInputSection() const override; 301 InputSection *getTargetInputSection() const override; 308 PPC32PltCallStub(const InputSection &isec, const Relocation &rel, in PPC32PltCallStub() 314 bool isCompatibleWith(const InputSection &isec, const Relocation &rel) const override; 343 bool isCompatibleWith(const InputSection &isec, 373 bool isCompatibleWith(const InputSection &isec, 396 bool isCompatibleWith(const InputSection &isec, [all …]
|
| H A D | Relocations.h | 19 class InputSection; variable 147 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec, 151 ThunkSection *getISThunkSec(InputSection *isec); 155 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel, 183 llvm::DenseMap<InputSection *, ThunkSection *> thunkedSections;
|
| H A D | Thunks.h | 48 virtual InputSection *getTargetInputSection() const { return nullptr; } in getTargetInputSection() 52 virtual bool isCompatibleWith(const InputSection &, in isCompatibleWith() argument 70 Thunk *addThunk(const InputSection &isec, Relocation &rel);
|
| H A D | InputFiles.cpp | 397 if (s != &InputSection::discarded && s->flags & SHF_ALLOC) in handleSectionGroup() 413 if (!s || s == &InputSection::discarded) in handleSectionGroup() 569 this->sections[i] = &InputSection::discarded; in parse() 578 this->sections[i] = &InputSection::discarded; in parse() 582 InputSection isec(*this, sec, name); in parse() 593 in.attributes = std::make_unique<InputSection>(*this, sec, name); in parse() 627 this->sections[secIndex] = &InputSection::discarded; in parse() 713 if (this->sections[i] == &InputSection::discarded) in initializeSections() 738 this->sections[i] = &InputSection::discarded; in initializeSections() 745 sections[i] = &InputSection::discarded; in initializeSections() [all …]
|
| H A D | DWARF.h | 19 class InputSection; variable 34 InputSection *getInfoSection() const { in getInfoSection() 35 return cast<InputSection>(infoSection.sec); in getInfoSection()
|
| H A D | ARMErrataFix.h | 19 class InputSection; variable 40 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
|
| H A D | AArch64ErrataFix.h | 19 class InputSection; variable 40 llvm::DenseMap<InputSection *, std::vector<const Defined *>> sectionMap;
|