Lines Matching refs:DfxElf
53 #define LOG_TAG "DfxElf"
56 std::shared_ptr<DfxElf> DfxElf::Create(const std::string& path)
58 auto elf = std::make_shared<DfxElf>(path);
65 std::shared_ptr<DfxElf> DfxElf::CreateFromHap(const std::string& file, std::shared_ptr<DfxMap> prevMap,
108 auto elf = std::make_shared<DfxElf>(fd, elfSize, prevMap->offset);
119 DfxElf::DfxElf(const std::string& file)
155 DfxElf::DfxElf(const int fd, const size_t elfSz, const off_t offset)
166 DfxElf::DfxElf(uint8_t *decompressedData, size_t size)
177 void DfxElf::Init()
184 void DfxElf::Clear()
198 bool DfxElf::IsEmbeddedElfValid()
209 std::shared_ptr<DfxElf> DfxElf::GetEmbeddedElf()
214 std::shared_ptr<MiniDebugInfo> DfxElf::GetMiniDebugInfo()
219 bool DfxElf::InitEmbeddedElf()
235 embeddedElf_ = std::make_shared<DfxElf>(embeddedElfData_->data(), embeddedElfData_->size());
248 bool DfxElf::InitHeaders()
285 bool DfxElf::IsValid()
293 uint8_t DfxElf::GetClassType()
301 ArchType DfxElf::GetArchType()
309 int64_t DfxElf::GetLoadBias()
320 uint64_t DfxElf::GetLoadBase(uint64_t mapStart, uint64_t mapOffset)
333 void DfxElf::SetLoadBase(uint64_t base)
338 void DfxElf::SetBaseOffset(uint64_t offset)
343 uint64_t DfxElf::GetBaseOffset()
348 uint64_t DfxElf::GetStartPc()
362 uint64_t DfxElf::GetStartVaddr()
370 uint64_t DfxElf::GetEndPc()
384 uint64_t DfxElf::GetEndVaddr()
392 uint64_t DfxElf::GetStartOffset()
400 uint64_t DfxElf::GetRelPc(uint64_t pc, uint64_t mapStart, uint64_t mapOffset)
405 uint64_t DfxElf::GetElfSize()
413 std::string DfxElf::GetElfName()
421 void DfxElf::SetBuildId(const std::string& buildId)
426 std::string DfxElf::GetBuildId()
444 std::string DfxElf::GetBuildId(uint64_t noteAddr, uint64_t noteSize)
500 uintptr_t DfxElf::GetGlobalPointer()
508 std::string DfxElf::ToReadableBuildId(const std::string& buildIdHex)
527 bool DfxElf::GetSectionInfo(ShdrInfo& shdr, const std::string secName)
535 bool DfxElf::GetSectionData(unsigned char *buf, uint64_t size, std::string secName)
543 const std::vector<ElfSymbol>& DfxElf::GetElfSymbols()
566 const std::vector<ElfSymbol>& DfxElf::GetFuncSymbols()
589 bool DfxElf::GetFuncInfoLazily(uint64_t addr, ElfSymbol& elfSymbol)
622 bool DfxElf::GetFuncInfo(uint64_t addr, ElfSymbol& elfSymbol)
632 bool DfxElf::FindFuncSymbol(uint64_t addr, const std::vector<ElfSymbol>& symbols, ElfSymbol& elfSymbol)
655 const std::unordered_map<uint64_t, ElfLoadInfo>& DfxElf::GetPtLoads()
660 bool DfxElf::FillUnwindTableByExidx(ShdrInfo shdr, uintptr_t loadBase, struct UnwindTableInfo* uti)
676 bool DfxElf::FillUnwindTableByEhhdrLocal(struct DwarfEhFrameHdr* hdr, struct UnwindTableInfo* uti)
725 bool DfxElf::FillUnwindTableByEhhdr(struct DwarfEhFrameHdr* hdr, uintptr_t shdrBase, struct UnwindTableInfo* uti)
774 int DfxElf::FindUnwindTableInfo(uintptr_t pc, std::shared_ptr<DfxMap> map, struct UnwindTableInfo& uti)
829 int DfxElf::FindUnwindTableLocal(uintptr_t pc, struct UnwindTableInfo& uti)
850 bool DfxElf::FindSection(struct dl_phdr_info *info, const std::string secName, ShdrInfo& shdr)
868 int DfxElf::DlPhdrCb(struct dl_phdr_info *info, size_t size, void *data)
968 bool DfxElf::Read(uintptr_t pos, void *buf, size_t size)
976 const uint8_t* DfxElf::GetMmapPtr()
984 size_t DfxElf::GetMmapSize()
992 bool DfxElf::IsValidElf(const void* ptr, size_t size)
1005 size_t DfxElf::GetElfSize(const void* ptr)