Lines Matching refs:hdr

674 bool DfxElf::FillUnwindTableByEhhdrLocal(struct DwarfEhFrameHdr* hdr, struct UnwindTableInfo* uti)  in FillUnwindTableByEhhdrLocal()  argument
676 if (hdr == nullptr) { in FillUnwindTableByEhhdrLocal()
679 if (hdr->version != DW_EH_VERSION) { in FillUnwindTableByEhhdrLocal()
680 LOGE("version(%d) error", hdr->version); in FillUnwindTableByEhhdrLocal()
684 uintptr_t ptr = (uintptr_t)(&(hdr->ehFrame)); in FillUnwindTableByEhhdrLocal()
685 LOGU("hdr: %" PRIx64 ", ehFrame: %" PRIx64 "", (uint64_t)hdr, (uint64_t)ptr); in FillUnwindTableByEhhdrLocal()
690 (uint64_t)uti->gp, hdr->ehFramePtrEnc, hdr->fdeCountEnc); in FillUnwindTableByEhhdrLocal()
692 MAYBE_UNUSED uintptr_t ehFrameStart = memory->ReadEncodedValue(ptr, hdr->ehFramePtrEnc); in FillUnwindTableByEhhdrLocal()
693 uintptr_t fdeCount = memory->ReadEncodedValue(ptr, hdr->fdeCountEnc); in FillUnwindTableByEhhdrLocal()
696 if (hdr->tableEnc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) { in FillUnwindTableByEhhdrLocal()
697 LOGU("tableEnc: %x", hdr->tableEnc); in FillUnwindTableByEhhdrLocal()
698 if (hdr->fdeCountEnc == DW_EH_PE_omit) { in FillUnwindTableByEhhdrLocal()
701 if (hdr->ehFramePtrEnc == DW_EH_PE_omit) { in FillUnwindTableByEhhdrLocal()
702 LOGE("ehFramePtrEnc(%x) error", hdr->ehFramePtrEnc); in FillUnwindTableByEhhdrLocal()
712 uti->segbase = (uintptr_t)hdr; in FillUnwindTableByEhhdrLocal()
720 bool DfxElf::FillUnwindTableByEhhdr(struct DwarfEhFrameHdr* hdr, uintptr_t shdrBase, struct UnwindT… in FillUnwindTableByEhhdr() argument
722 if ((hdr == nullptr) || (uti == nullptr)) { in FillUnwindTableByEhhdr()
725 if (hdr->version != DW_EH_VERSION) { in FillUnwindTableByEhhdr()
726 LOGE("version(%d) error", hdr->version); in FillUnwindTableByEhhdr()
729 uintptr_t ptr = (uintptr_t)(&(hdr->ehFrame)); in FillUnwindTableByEhhdr()
730 LOGU("hdr: %" PRIx64 ", ehFrame: %" PRIx64 "", (uint64_t)hdr, (uint64_t)ptr); in FillUnwindTableByEhhdr()
734 (uint64_t)uti->gp, hdr->ehFramePtrEnc, hdr->fdeCountEnc); in FillUnwindTableByEhhdr()
737 MAYBE_UNUSED uintptr_t ehFrameStart = mmap_->ReadEncodedValue(ptrOffset, hdr->ehFramePtrEnc); in FillUnwindTableByEhhdr()
738 uintptr_t fdeCount = mmap_->ReadEncodedValue(ptrOffset, hdr->fdeCountEnc); in FillUnwindTableByEhhdr()
742 if (hdr->tableEnc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) { in FillUnwindTableByEhhdr()
743 LOGU("tableEnc: %x", hdr->tableEnc); in FillUnwindTableByEhhdr()
744 if (hdr->fdeCountEnc == DW_EH_PE_omit) { in FillUnwindTableByEhhdr()
747 if (hdr->ehFramePtrEnc == DW_EH_PE_omit) { in FillUnwindTableByEhhdr()
748 LOGE("ehFramePtrEnc(%x) error", hdr->ehFramePtrEnc); in FillUnwindTableByEhhdr()
758 uti->tableData = shdrBase + ptr - (uintptr_t)hdr; in FillUnwindTableByEhhdr()
794 struct DwarfEhFrameHdr* hdr = nullptr; in FindUnwindTableInfo() local
798 hdr = (struct DwarfEhFrameHdr *) (shdr.offset + (char *)GetMmapPtr()); in FindUnwindTableInfo()
808 hdr = &synthHdr; in FindUnwindTableInfo()
811 hasTableInfo_ = FillUnwindTableByEhhdr(hdr, shdrBase, &uti); in FindUnwindTableInfo()
936 struct DwarfEhFrameHdr *hdr = nullptr; in DlPhdrCb() local
940 hdr = (struct DwarfEhFrameHdr *) (pEhHdr->p_vaddr + loadBase); in DlPhdrCb()
952 hdr = &synthHdr; in DlPhdrCb()
955 return FillUnwindTableByEhhdrLocal(hdr, uti); in DlPhdrCb()