Lines Matching refs:shdr
431 ShdrInfo shdr; in GetBuildId() local
432 …if ((GetSectionInfo(shdr, NOTE_GNU_BUILD_ID) || GetSectionInfo(shdr, NOTES)) && GetMmapPtr() != nu… in GetBuildId()
433 … std::string buildIdHex = GetBuildId((uint64_t)((char*)GetMmapPtr() + shdr.offset), shdr.size); in GetBuildId()
526 bool DfxElf::GetSectionInfo(ShdrInfo& shdr, const std::string secName) in GetSectionInfo() argument
531 return elfParse_->GetSectionInfo(shdr, secName); in GetSectionInfo()
659 bool DfxElf::FillUnwindTableByExidx(ShdrInfo shdr, uintptr_t loadBase, struct UnwindTableInfo* uti) in FillUnwindTableByExidx() argument
665 uti->tableData = loadBase + shdr.addr; in FillUnwindTableByExidx()
666 uti->tableLen = shdr.size; in FillUnwindTableByExidx()
667 INSTR_STATISTIC(InstructionEntriesArmExidx, shdr.size, 0); in FillUnwindTableByExidx()
786 ShdrInfo shdr; in FindUnwindTableInfo() local
788 if (GetSectionInfo(shdr, ARM_EXIDX)) { in FindUnwindTableInfo()
789 hasTableInfo_ = FillUnwindTableByExidx(shdr, loadBase, &uti); in FindUnwindTableInfo()
796 if (GetSectionInfo(shdr, EH_FRAME_HDR) && GetMmapPtr() != nullptr) { in FindUnwindTableInfo()
797 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0); in FindUnwindTableInfo()
798 hdr = (struct DwarfEhFrameHdr *) (shdr.offset + (char *)GetMmapPtr()); in FindUnwindTableInfo()
799 } else if (GetSectionInfo(shdr, EH_FRAME) && GetMmapPtr() != nullptr) { in FindUnwindTableInfo()
801 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0); in FindUnwindTableInfo()
807 synthHdr.ehFrame = (ElfW(Addr))(shdr.offset + (char*)GetMmapPtr()); in FindUnwindTableInfo()
810 uintptr_t shdrBase = static_cast<uintptr_t>(loadBase + shdr.addr); in FindUnwindTableInfo()
842 bool DfxElf::FindSection(struct dl_phdr_info *info, const std::string secName, ShdrInfo& shdr) in FindSection() argument
857 return elf->GetSectionInfo(shdr, secName); in FindSection()
914 ShdrInfo shdr; in DlPhdrCb() local
915 shdr.addr = pArmExidx->p_vaddr; in DlPhdrCb()
916 shdr.size = pArmExidx->p_memsz; in DlPhdrCb()
917 return FillUnwindTableByExidx(shdr, loadBase, uti); in DlPhdrCb()
942 ShdrInfo shdr; in DlPhdrCb() local
943 if (FindSection(info, EH_FRAME, shdr)) { in DlPhdrCb()
945 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0); in DlPhdrCb()
951 synthHdr.ehFrame = (ElfW(Addr))(shdr.addr + info->dlpi_addr); in DlPhdrCb()