Lines Matching defs:shdr
432 ShdrInfo shdr;
433 if ((GetSectionInfo(shdr, NOTE_GNU_BUILD_ID) || GetSectionInfo(shdr, NOTES)) && GetMmapPtr() != nullptr) {
434 std::string buildIdHex = GetBuildId((uint64_t)((char*)GetMmapPtr() + shdr.offset), shdr.size);
527 bool DfxElf::GetSectionInfo(ShdrInfo& shdr, const std::string secName)
532 return elfParse_->GetSectionInfo(shdr, secName);
660 bool DfxElf::FillUnwindTableByExidx(ShdrInfo shdr, uintptr_t loadBase, struct UnwindTableInfo* uti)
666 uti->tableData = loadBase + shdr.addr;
667 uti->tableLen = shdr.size;
668 INSTR_STATISTIC(InstructionEntriesArmExidx, shdr.size, 0);
793 ShdrInfo shdr;
795 if (GetSectionInfo(shdr, ARM_EXIDX)) {
796 hasTableInfo_ = FillUnwindTableByExidx(shdr, loadBase, &uti);
803 if (GetSectionInfo(shdr, EH_FRAME_HDR) && GetMmapPtr() != nullptr) {
804 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0);
805 hdr = (struct DwarfEhFrameHdr *) (shdr.offset + (char *)GetMmapPtr());
806 } else if (GetSectionInfo(shdr, EH_FRAME) && GetMmapPtr() != nullptr) {
809 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0);
815 synthHdr.ehFrame = (ElfW(Addr))(shdr.offset + (char*)GetMmapPtr());
818 uintptr_t shdrBase = static_cast<uintptr_t>(loadBase + shdr.addr);
850 bool DfxElf::FindSection(struct dl_phdr_info *info, const std::string secName, ShdrInfo& shdr)
865 return elf->GetSectionInfo(shdr, secName);
922 ShdrInfo shdr;
923 shdr.addr = pArmExidx->p_vaddr;
924 shdr.size = pArmExidx->p_memsz;
925 return FillUnwindTableByExidx(shdr, loadBase, uti);
950 ShdrInfo shdr;
951 if (FindSection(info, EH_FRAME, shdr)) {
954 INSTR_STATISTIC(InstructionEntriesEhFrame, shdr.size, 0);
960 synthHdr.ehFrame = (ElfW(Addr))(shdr.addr + info->dlpi_addr);