Searched refs:isec (Results 1 - 25 of 36) sorted by relevance

12

/freebsd-13-stable/contrib/llvm-project/lld/MachO/
H A DMergedOutputSection.cpp35 for (InputSection *isec : inputs) {
36 isecAddr = alignTo(isecAddr, isec->align);
37 isecFileOff = alignTo(isecFileOff, isec->align);
38 isec->outSecOff = isecAddr - addr;
39 isec->outSecFileOff = isecFileOff - fileOff;
40 isecAddr += isec->getSize();
41 isecFileOff += isec->getFileSize();
48 for (InputSection *isec : inputs) {
49 isec->writeTo(buf + isec
[all...]
H A DInputSection.cpp40 else if (auto *isec = r.target.dyn_cast<InputSection *>())
41 va = isec->getVA();
H A DSymbols.h61 Defined(StringRefZ name, InputSection *isec, uint32_t value) argument
62 : Symbol(DefinedKind, name), isec(isec), value(value) {}
64 InputSection *isec; member in class:lld::macho::Defined
105 return d->isec->getVA() + d->value;
111 return d->isec->getFileOffset() + d->value;
H A DInputFiles.cpp136 InputSection *isec = make<InputSection>(); local
137 isec->file = this;
138 isec->name = StringRef(sec.sectname, strnlen(sec.sectname, 16));
139 isec->segname = StringRef(sec.segname, strnlen(sec.segname, 16));
140 isec->data = {isZeroFill(sec.flags) ? nullptr : buf + sec.offset,
144 isec->name + " is too large");
146 isec->align = 1 << sec.align;
147 isec->flags = sec.flags;
148 subsections.push_back({{0, isec}});
226 auto createDefined = [&](const structs::nlist_64 &sym, InputSection *isec,
[all...]
H A DSyntheticSections.cpp191 OutputSegment *segA = a.isec->parent->parent;
192 OutputSegment *segB = b.isec->parent->parent;
195 OutputSection *osecA = a.isec->parent;
196 OutputSection *osecB = b.isec->parent;
199 if (a.isec != b.isec)
200 return a.isec->outSecOff < b.isec->outSecOff;
205 encodeBinding(*b.dysym, b.isec->parent, b.isec
[all...]
H A DSymbolTable.h27 Symbol *addDefined(StringRef name, InputSection *isec, uint32_t value);
H A DSyntheticSections.h99 const InputSection *isec; member in struct:lld::macho::BindingEntry
102 BindingEntry(const DylibSymbol *dysym, const InputSection *isec, argument
104 : dysym(dysym), isec(isec), offset(offset), addend(addend) {}
120 void addEntry(const DylibSymbol *dysym, const InputSection *isec, argument
122 bindings.emplace_back(dysym, isec, offset, addend);
H A DSymbolTable.cpp39 Symbol *SymbolTable::addDefined(StringRef name, InputSection *isec, argument
48 replaceSymbol<Defined>(s, name, isec, value);
H A DWriter.cpp249 for (InputSection *isec : inputSections) {
250 for (Reloc &r : isec->relocs) {
254 sys::path::filename(isec->file->getName()));
256 target->prepareSymbolRelocation(*s, isec, r);
322 size_t &priority = sectionPriorities[sym.isec];
323 priority = std::max(priority, getSymbolPriority(entry, *sym.isec->file));
424 for (InputSection *isec : inputSections) {
426 mergedOutputSections[{isec->segname, isec->name}];
428 osec = make<MergedOutputSection>(isec
[all...]
/freebsd-13-stable/contrib/llvm-project/lld/ELF/
H A DThunks.cpp54 void addSymbols(ThunkSection &isec) override;
62 void addSymbols(ThunkSection &isec) override;
80 bool isCompatibleWith(const InputSection &isec,
110 bool isCompatibleWith(const InputSection &isec,
132 void addSymbols(ThunkSection &isec) override;
141 void addSymbols(ThunkSection &isec) override;
150 void addSymbols(ThunkSection &isec) override;
159 void addSymbols(ThunkSection &isec) override;
173 void addSymbols(ThunkSection &isec) override;
174 bool isCompatibleWith(const InputSection &isec,
245 PPC32PltCallStub(const InputSection &isec, const Relocation &rel, Symbol &dest) argument
371 addSymbols(ThunkSection &isec) argument
397 addSymbols(ThunkSection &isec) argument
441 isCompatibleWith(const InputSection &isec, const Relocation &rel) const argument
479 isCompatibleWith(const InputSection &isec, const Relocation &rel) const argument
497 addSymbols(ThunkSection &isec) argument
515 addSymbols(ThunkSection &isec) argument
536 addSymbols(ThunkSection &isec) argument
557 addSymbols(ThunkSection &isec) argument
572 addSymbols(ThunkSection &isec) argument
579 isCompatibleWith(const InputSection &isec, const Relocation &rel) const argument
598 addSymbols(ThunkSection &isec) argument
605 isCompatibleWith(const InputSection &isec, const Relocation &rel) const argument
628 addSymbols(ThunkSection &isec) argument
654 addSymbols(ThunkSection &isec) argument
672 addSymbols(ThunkSection &isec) argument
695 addSymbols(ThunkSection &isec) argument
719 addSymbols(ThunkSection &isec) argument
769 addSymbols(ThunkSection &isec) argument
783 isCompatibleWith(const InputSection &isec, const Relocation &rel) const argument
788 addSymbols(ThunkSection &isec) argument
832 addSymbols(ThunkSection &isec) argument
848 addSymbols(ThunkSection &isec) argument
860 addSymbols(ThunkSection &isec) argument
966 addThunkPPC32(const InputSection &isec, const Relocation &rel, Symbol &s) argument
993 addThunk(const InputSection &isec, Relocation &rel) argument
[all...]
H A DARMErrataFix.cpp195 // start of isec, return true if the destination of the branch is within the
197 static bool branchDestInFirstRegion(const InputSection *isec, uint64_t off, argument
199 uint64_t sourceAddr = isec->getVA(0) + off;
218 // Return true if a branch can reach a patch section placed after isec.
220 static bool patchInRange(const InputSection *isec, uint64_t off, argument
224 // after isec. As there can be more than one patch in the patch section we
228 isBcc(instr) ? R_ARM_THM_JUMP19 : R_ARM_THM_JUMP24, isec->getVA(off),
229 isec->getVA() + isec->getSize() + 0x100);
246 static ScanResult scanCortexA8Errata657417(InputSection *isec, uint64_ argument
405 implementPatch(ScanResult sr, InputSection *isec, std::vector<Patch657417Section *> &patches) argument
[all...]
H A DTarget.cpp97 auto *isec = cast<InputSection>(d); local
98 if (!isec->getParent() || (isec->type & SHT_NOBITS))
103 ? (Out::bufferStart + isec->getParent()->offset + isec->outSecOff)
104 : isec->data().data();
106 assert(isa<SyntheticSection>(isec) && "No data but not synthetic?");
109 if (isecLoc <= loc && loc < isecLoc + isec->getSize())
110 return {isec, isec
[all...]
H A DAArch64ErrataFix.cpp332 // InputSection isec. We update Off in this function rather than in the caller
335 // Return the offset of the load or store instruction in isec that we want to
337 static uint64_t scanCortexA53Errata843419(InputSection *isec, uint64_t &off, argument
339 uint64_t isecAddr = isec->getVA(0);
354 const uint8_t *buf = isec->data().begin();
497 for (const InputSection *isec : isd.sections) {
498 isecLimit = isec->outSecOff + isec->getSize();
532 // InputSection isec, create a Patch843419 Section and add it to the
535 InputSection *isec,
534 implementPatch(uint64_t adrpAddr, uint64_t patcheeOffset, InputSection *isec, std::vector<Patch843419Section *> &patches) argument
[all...]
H A DOutputSections.cpp90 // Record that isec will be placed in the OutputSection. isec does not become
97 // 3. Call commitSection(isec).
98 void OutputSection::recordSection(InputSectionBase *isec) { argument
99 partition = isec->partition;
100 isec->parent = this;
105 isd->sectionBases.push_back(isec);
109 // isec. Also check whether the InputSection flags and type are consistent with
111 void OutputSection::commitSection(InputSection *isec) { argument
114 // initialize type, entsize and flags from isec
[all...]
H A DThunks.h40 virtual void addSymbols(ThunkSection &isec) = 0;
70 Thunk *addThunk(const InputSection &isec, Relocation &rel);
H A DEhFrame.cpp38 EhReader(InputSectionBase *s, ArrayRef<uint8_t> d) : isec(s), d(d) {}
45 isec->getObjMsg((const uint8_t *)loc - isec->data().data()));
54 InputSectionBase *isec; member in class:__anon2698::EhReader
H A DMapFile.cpp181 for (InputSection *isec : isd->sections) {
182 if (auto *ehSec = dyn_cast<EhFrameSection>(isec)) {
187 writeHeader(os, isec->getVA(0), osec->getLMA() + isec->getOffset(0),
188 isec->getSize(), isec->alignment);
189 os << indent8 << toString(isec) << '\n';
190 for (Symbol *sym : sectionSyms[isec])
H A DRelocations.cpp107 if (errPlace.isec && errPlace.isec->name.startswith(".debug"))
1026 static void addRelativeReloc(InputSectionBase *isec, uint64_t offsetInSec, argument
1029 Partition &part = isec->getPartition();
1037 if (part.relrDyn && isec->alignment >= 2 && offsetInSec % 2 == 0) {
1038 isec->relocations.push_back({expr, type, offsetInSec, addend, sym});
1039 part.relrDyn->relocs.push_back({isec, offsetInSec});
1042 part.relaDyn->addReloc(target->relativeRel, isec, offsetInSec, sym, addend,
1691 ThunkSection *ThunkCreator::getISDThunkSec(OutputSection *os, InputSection *isec, argument
1707 uint64_t thunkSecOff = isec
1719 getISThunkSec(InputSection *isec) argument
1858 getThunk(InputSection *isec, Relocation &rel, uint64_t src) argument
[all...]
H A DRelocations.h148 ThunkSection *getISDThunkSec(OutputSection *os, InputSection *isec,
152 ThunkSection *getISThunkSec(InputSection *isec);
156 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
H A DICF.cpp436 static void combineRelocHashes(unsigned cnt, InputSection *isec, argument
438 uint32_t hash = isec->eqClass[cnt % 2];
440 Symbol &s = isec->template getFile<ELFT>()->getRelocTargetSym(rel);
446 isec->eqClass[(cnt + 1) % 2] = hash | (1U << 31);
512 for (InputSection *isec : sections[i]->dependentSections)
513 isec->markDead();
524 [](InputSection *isec) { return !isec->isLive(); });
H A DOutputSections.h74 void recordSection(InputSectionBase *isec);
75 void commitSection(InputSection *isec);
H A DWriter.cpp105 if (auto *isec = dyn_cast<InputSection>(s)) {
106 if (InputSectionBase *rel = isec->getRelocatedSection()) {
682 InputSection *isec = dyn_cast_or_null<InputSection>(s); local
683 if (!isec)
685 if (isec->type == SHT_REL)
686 markUsedLocalSymbolsImpl(f, isec->getDataAs<typename ELFT::Rel>());
687 else if (isec->type == SHT_RELA)
688 markUsedLocalSymbolsImpl(f, isec->getDataAs<typename ELFT::Rela>());
797 InputSectionBase *isec = cast<InputSectionDescription>(*i)->sections[0]; local
800 if (isec
[all...]
H A DCallGraphSort.cpp106 auto getOrCreateNode = [&](const InputSectionBase *isec) -> int {
107 auto res = secToCluster.try_emplace(isec, clusters.size());
109 sections.push_back(isec);
110 clusters.emplace_back(clusters.size(), isec->getSize());
H A DLinkerScript.cpp587 static OutputSection *createSection(InputSectionBase *isec, argument
590 sec->recordSection(isec);
596 InputSectionBase *isec, StringRef outsecName) {
604 if (isec->type == SHT_GROUP || (isec->flags & SHF_GROUP))
605 return createSection(isec, outsecName);
613 if (!isa<SyntheticSection>(isec) &&
614 (isec->type == SHT_REL || isec->type == SHT_RELA)) {
615 auto *sec = cast<InputSection>(isec);
595 addInputSec(StringMap<TinyPtrVector<OutputSection *>> &map, InputSectionBase *isec, StringRef outsecName) argument
[all...]
H A DMarkLive.cpp210 if (auto *isec = dyn_cast_or_null<InputSectionBase>(d->section))
211 enqueue(isec, d->value);
285 for (InputSectionBase *isec : sec.dependentSections)
286 enqueue(isec, 0);

Completed in 208 milliseconds

12