| /llvm-project-15.0.7/lld/ELF/ |
| H A D | MarkLive.cpp | 145 ArrayRef<RelTy> rels) { in scanEhFrameSection() argument 155 resolveReloc(eh, rels[firstRelI], false); in scanEhFrameSection() 160 for (size_t j = firstRelI, end2 = rels.size(); in scanEhFrameSection() 161 j < end2 && rels[j].r_offset < pieceEnd; ++j) in scanEhFrameSection() 162 resolveReloc(eh, rels[j], true); in scanEhFrameSection() 256 if (rels.areRelocsRel()) in run() 257 scanEhFrameSection(*eh, rels.rels); in run() 258 else if (rels.relas.size()) in run() 259 scanEhFrameSection(*eh, rels.relas); in run() 324 for (const typename ELFT::Rel &rel : rels.rels) in mark() [all …]
|
| H A D | DWARF.cpp | 107 ArrayRef<RelTy> rels) const { in findAux() 109 partition_point(rels, [=](const RelTy &a) { return a.r_offset < pos; }); in findAux() 110 if (it == rels.end() || it->r_offset != pos) in findAux() 139 const RelsOrRelas<ELFT> rels = sec.sec->template relsOrRelas<ELFT>(); in find() local 140 if (rels.areRelocsRel()) in find() 141 return findAux(*sec.sec, pos, rels.rels); in find() 142 return findAux(*sec.sec, pos, rels.relas); in find()
|
| H A D | Relocations.h | 204 ArrayRef<RelTy> sortRels(ArrayRef<RelTy> rels, SmallVector<RelTy, 0> &storage) { in sortRels() argument 208 if (!llvm::is_sorted(rels, cmp)) { in sortRels() 209 storage.assign(rels.begin(), rels.end()); in sortRels() 211 rels = storage; in sortRels() 213 return rels; in sortRels()
|
| H A D | ICF.cpp | 326 return ra.areRelocsRel() ? constantEq(a, ra.rels, b, rb.rels) in equalsConstant() 374 return ra.areRelocsRel() ? variableEq(a, ra.rels, b, rb.rels) in equalsVariable() 440 ArrayRef<RelTy> rels) { in combineRelocHashes() argument 442 for (RelTy rel : rels) { in combineRelocHashes() 503 const RelsOrRelas<ELFT> rels = s->template relsOrRelas<ELFT>(); in run() local 504 if (rels.areRelocsRel()) in run() 505 combineRelocHashes<ELFT>(cnt, s, rels.rels); in run() 507 combineRelocHashes<ELFT>(cnt, s, rels.relas); in run()
|
| H A D | InputSection.cpp | 348 for (const RelTy &rel : rels) { in copyRelocations() 831 for (const RelTy &rel : rels) { in relocateNonAlloc() 965 if (rels.areRelocsRel()) in relocate() 966 sec->relocateNonAlloc<ELFT>(buf, rels.rels); in relocate() 968 sec->relocateNonAlloc<ELFT>(buf, rels.relas); in relocate() 1270 const RelTy &rel = rels[relocI]; in getReloc() 1284 const RelsOrRelas<ELFT> rels = relsOrRelas<ELFT>(); in split() local 1287 if (rels.areRelocsRel()) { in split() 1289 split<ELFT>(sortRels(rels.rels, storage)); in split() 1292 split<ELFT>(sortRels(rels.relas, storage)); in split() [all …]
|
| H A D | InputSection.h | 37 ArrayRef<typename ELFT::Rel> rels; member 39 bool areRelocsRel() const { return rels.size(); } in areRelocsRel() 330 template <class ELFT, class RelTy> void split(ArrayRef<RelTy> rels); 374 void relocateNonAlloc(uint8_t *buf, llvm::ArrayRef<RelTy> rels); 390 void copyRelocations(uint8_t *buf, llvm::ArrayRef<RelTy> rels);
|
| H A D | Relocations.cpp | 1457 for (const RelTy &rel : rels) { in checkPPC64TLSRelax() 1484 void RelocationScanner::scan(ArrayRef<RelTy> rels) { in scan() argument 1486 sec.relocations.reserve(rels.size()); in scan() 1489 checkPPC64TLSRelax<RelTy>(sec, rels); in scan() 1496 rels = sortRels(rels, storage); in scan() 1498 end = static_cast<const void *>(rels.end()); in scan() 1499 for (auto i = rels.begin(); i != end;) in scan() 1514 const RelsOrRelas<ELFT> rels = s.template relsOrRelas<ELFT>(); in scanRelocations() local 1515 if (rels.areRelocsRel()) in scanRelocations() 1516 scanner.template scan<ELFT>(rels.rels); in scanRelocations() [all …]
|
| H A D | DWARF.h | 87 ArrayRef<RelTy> rels) const;
|
| H A D | SyntheticSections.cpp | 390 const RelTy &rel = rels[firstRelI]; in isFdeLive() 417 offsetToCie[offset] = addCie<ELFT>(piece, rels); in addRecords() 426 if (!isFdeLive<ELFT>(piece, rels)) in addRecords() 437 const RelsOrRelas<ELFT> rels = sec->template relsOrRelas<ELFT>(); in addSectionAux() local 438 if (rels.areRelocsRel()) in addSectionAux() 439 addRecords<ELFT>(sec, rels.rels); in addSectionAux() 441 addRecords<ELFT>(sec, rels.relas); in addSectionAux() 478 if (Defined *d = isFdeLive<ELFT>(piece, rels)) in iterateFDEWithLSDAAux() 490 const RelsOrRelas<ELFT> rels = sec->template relsOrRelas<ELFT>(); in iterateFDEWithLSDA() local 491 if (rels.areRelocsRel()) in iterateFDEWithLSDA() [all …]
|
| H A D | SyntheticSections.h | 99 void addRecords(EhInputSection *s, llvm::ArrayRef<RelTy> rels); 102 void iterateFDEWithLSDAAux(EhInputSection &sec, ArrayRef<RelTy> rels, 107 CieRecord *addCie(EhSectionPiece &piece, ArrayRef<RelTy> rels); 110 Defined *isFdeLive(EhSectionPiece &piece, ArrayRef<RelTy> rels);
|
| H A D | Driver.cpp | 908 ArrayRef<typename ELFT::Rel> rels = in processCallGraphRelocations() local 909 CHECK(obj.rels(sec), "could not retrieve cg profile rel section"); in processCallGraphRelocations() 910 for (const typename ELFT::Rel &rel : rels) in processCallGraphRelocations() 2085 const RelsOrRelas<ELFT> rels = s->template relsOrRelas<ELFT>(); in readSymbolPartitionSection() local 2086 if (rels.areRelocsRel()) in readSymbolPartitionSection() 2087 sym = &s->getFile<ELFT>()->getRelocTargetSym(rels.rels[0]); in readSymbolPartitionSection() 2089 sym = &s->getFile<ELFT>()->getRelocTargetSym(rels.relas[0]); in readSymbolPartitionSection()
|
| H A D | Writer.cpp | 616 llvm::ArrayRef<RelTy> rels) { in markUsedLocalSymbolsImpl() argument 617 for (const RelTy &rel : rels) { in markUsedLocalSymbolsImpl()
|
| /llvm-project-15.0.7/bolt/test/AArch64/ |
| H A D | runtime-relocs.test | 3 RUN: yaml2obj %p/Inputs/rels-so.yaml &> %t.so 4 RUN: yaml2obj %p/Inputs/rels-exe.yaml &> %t.exe
|
| /llvm-project-15.0.7/lld/ELF/Arch/ |
| H A D | RISCV.cpp | 727 auto &rels = sec->relocations; in riscvFinalizeRelax() local 740 for (size_t i = 0, e = rels.size(); i != e; ++i) { in riscvFinalizeRelax() 747 const Relocation &r = rels[i]; in riscvFinalizeRelax() 803 for (size_t i = 0, e = rels.size(); i != e;) { in riscvFinalizeRelax() 804 uint64_t cur = rels[i].offset; in riscvFinalizeRelax() 806 rels[i].offset -= delta; in riscvFinalizeRelax() 808 rels[i].type = aux.relocTypes[i]; in riscvFinalizeRelax() 809 } while (++i != e && rels[i].offset == cur); in riscvFinalizeRelax()
|
| /llvm-project-15.0.7/lld/COFF/ |
| H A D | Writer.cpp | 1797 std::vector<RuntimePseudoReloc> rels; in createRuntimePseudoRelocs() local 1803 sc->getRuntimePseudoRelocs(rels); in createRuntimePseudoRelocs() 1809 for (const RuntimePseudoReloc &rpr : rels) in createRuntimePseudoRelocs() 1815 if (!rels.empty()) in createRuntimePseudoRelocs() 1816 log("Writing " + Twine(rels.size()) + " runtime pseudo relocations"); in createRuntimePseudoRelocs() 1817 PseudoRelocTableChunk *table = make<PseudoRelocTableChunk>(rels); in createRuntimePseudoRelocs()
|
| /llvm-project-15.0.7/llvm/tools/llvm-readobj/ |
| H A D | ARMEHABIPrinter.h | 415 for (const Elf_Rel &R : unwrapOrError(FileName, ELF.rels(Sec))) { in FindExceptionTable()
|
| H A D | ELFDumper.cpp | 3009 Elf_Rel_Range Rels = unwrapOrError(FileName, Obj.rels(*PltRelSec)); in getPltSym() 5859 if (Expected<Elf_Rel_Range> RangeOrErr = Obj.rels(Sec)) { in forEachRelocationDo() 6971 Obj.rels(*CGRelSection); in getSymbolIndices()
|
| /llvm-project-15.0.7/llvm/include/llvm/Object/ |
| H A D | ELF.h | 268 Expected<Elf_Rel_Range> rels(const Elf_Shdr &Sec) const { in rels() function
|
| /llvm-project-15.0.7/llvm/tools/obj2yaml/ |
| H A D | elf2yaml.cpp | 1108 auto Rels = Obj.rels(*Shdr); in dumpRelocSection()
|
| /llvm-project-15.0.7/llvm/lib/ObjCopy/ELF/ |
| H A D | ELFObject.cpp | 1819 ElfFile.rels(*Shdr); in readSections()
|