Lines Matching defs:Obj
30 ELFDumper(const ELFObjectFile<ELFT> &O) : Dumper(O), Obj(O) {}
35 const ELFObjectFile<ELFT> &Obj;
37 const ELFFile<ELFT> &getELFFile() const { return Obj.getELFFile(); }
46 static std::unique_ptr<Dumper> createDumper(const ELFObjectFile<ELFT> &Obj) {
47 return std::make_unique<ELFDumper<ELFT>>(Obj);
51 objdump::createELFDumper(const object::ELFObjectFileBase &Obj) {
52 if (const auto *O = dyn_cast<ELF32LEObjectFile>(&Obj))
54 if (const auto *O = dyn_cast<ELF32BEObjectFile>(&Obj))
56 if (const auto *O = dyn_cast<ELF64LEObjectFile>(&Obj))
58 return createDumper(cast<ELF64BEObjectFile>(Obj));
90 static Error getRelocationValueString(const ELFObjectFile<ELFT> *Obj,
93 const ELFFile<ELFT> &EF = Obj->getELFFile();
108 auto ERela = Obj->getCrel(Rel);
112 const typename ELFT::Rela *ERela = Obj->getRela(Rel);
116 const typename ELFT::Rel *ERel = Obj->getRel(Rel);
130 Obj->getSymbol(SI->getRawDataRefImpl());
140 Obj->getSection((*SymSI)->getRawDataRefImpl());
165 Error objdump::getELFRelocationValueString(const ELFObjectFileBase *Obj,
168 if (auto *ELF32LE = dyn_cast<ELF32LEObjectFile>(Obj))
170 if (auto *ELF64LE = dyn_cast<ELF64LEObjectFile>(Obj))
172 if (auto *ELF32BE = dyn_cast<ELF32BEObjectFile>(Obj))
174 auto *ELF64BE = cast<ELF64BEObjectFile>(Obj);
179 static uint64_t getSectionLMA(const ELFFile<ELFT> &Obj,
181 auto PhdrRangeOrErr = Obj.program_headers();
213 reportWarning(toString(DynamicEntriesOrErr.takeError()), Obj.getFileName());
243 reportWarning(toString(StrTabOrErr.takeError()), Obj.getFileName());
257 Obj.getFileName());
330 if (!any_of(Obj.sections(), [](const ELFSectionRef Sec) {
333 reportError(Obj.getFileName(), "not a dynamic object");
338 cast<ObjectFile>(Obj).dynamic_relocation_sections();
343 const uint32_t OffsetPadding = (Obj.getBytesInAddress() > 4 ? 16 : 8);
348 StringRef Fmt = Obj.getBytesInAddress() > 4 ? "%016" PRIx64 : "%08" PRIx64;
355 if (Error E = getELFRelocationValueString(&Obj, Reloc, ValueStr))
356 reportError(std::move(E), Obj.getFileName());
369 reportWarning(toString(V.takeError()), Obj.getFileName());
416 StringRef FileName = Obj.getFileName();