Home
last modified time | relevance | path

Searched refs:uti (Results 1 - 10 of 10) sorted by relevance

/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/
H A Ddfx_elf.cpp660 bool DfxElf::FillUnwindTableByExidx(ShdrInfo shdr, uintptr_t loadBase, struct UnwindTableInfo* uti) in FillUnwindTableByExidx() argument
662 if (uti == nullptr) { in FillUnwindTableByExidx()
665 uti->gp = 0; in FillUnwindTableByExidx()
666 uti->tableData = loadBase + shdr.addr; in FillUnwindTableByExidx()
667 uti->tableLen = shdr.size; in FillUnwindTableByExidx()
669 uti->format = UNW_INFO_FORMAT_ARM_EXIDX; in FillUnwindTableByExidx()
671 (uint64_t)uti->tableData, (int)uti->tableLen); in FillUnwindTableByExidx()
676 bool DfxElf::FillUnwindTableByEhhdrLocal(struct DwarfEhFrameHdr* hdr, struct UnwindTableInfo* uti) in FillUnwindTableByEhhdrLocal() argument
693 (uint64_t)uti in FillUnwindTableByEhhdrLocal()
725 FillUnwindTableByEhhdr(struct DwarfEhFrameHdr* hdr, uintptr_t shdrBase, struct UnwindTableInfo* uti) FillUnwindTableByEhhdr() argument
774 FindUnwindTableInfo(uintptr_t pc, std::shared_ptr<DfxMap> map, struct UnwindTableInfo& uti) FindUnwindTableInfo() argument
829 FindUnwindTableLocal(uintptr_t pc, struct UnwindTableInfo& uti) FindUnwindTableLocal() argument
874 UnwindTableInfo* uti = &cbData->uti; DlPhdrCb() local
[all...]
H A Ddfx_accessors.cpp131 int DfxAccessorsLocal::FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) in FindUnwindTable() argument
145 ret = elf->FindUnwindTableInfo(pc, ctx->map, uti); in FindUnwindTable()
147 ret = DfxElf::FindUnwindTableLocal(pc, uti); in FindUnwindTable()
150 ctx->di = uti; in FindUnwindTable()
228 int DfxAccessorsRemote::FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) in FindUnwindTable() argument
237 uti = ctx->di; in FindUnwindTable()
246 int ret = elf->FindUnwindTableInfo(pc, ctx->map, uti); in FindUnwindTable()
248 ctx->di = uti; in FindUnwindTable()
277 int DfxAccessorsCustomize::FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) in FindUnwindTable() argument
282 return accessors_->FindUnwindTable(pc, uti, ar in FindUnwindTable()
[all...]
H A Ddwarf_section.cpp36 bool DwarfSection::LinearSearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei) in LinearSearchEntry() argument
39 uintptr_t fdeCount = uti.tableLen; in LinearSearchEntry()
40 uintptr_t tableData = uti.tableData; in LinearSearchEntry()
44 while (i++ < fdeCount && ptr < uti.endPc) { in LinearSearchEntry()
60 bool DwarfSection::SearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei) in SearchEntry() argument
63 MAYBE_UNUSED auto segbase = uti.segbase; in SearchEntry()
64 uintptr_t fdeCount = uti.tableLen; in SearchEntry()
65 uintptr_t tableData = uti.tableData; in SearchEntry()
H A Darm_exidx.cpp142 bool ArmExidx::SearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei) in SearchEntry() argument
144 uintptr_t tableLen = uti.tableLen / ARM_EXIDX_TABLE_SIZE; in SearchEntry()
145 uintptr_t tableData = uti.tableData; in SearchEntry()
H A Dunwinder.cpp973 UnwindTableInfo uti; in StepInner() local
974 MAYBE_UNUSED int utiRet = acc_->FindUnwindTable(frame.pc, uti, ctx); in StepInner()
985 if (!ret && uti.format == UNW_INFO_FORMAT_ARM_EXIDX) { in StepInner()
986 if (!armExidx_->SearchEntry(frame.pc, uti, uei)) { in StepInner()
999 if (!ret && uti.format == UNW_INFO_FORMAT_REMOTE_TABLE) { in StepInner()
1000 if ((uti.isLinear == false && !dwarfSection_->SearchEntry(frame.pc, uti, uei)) || in StepInner()
1001 (uti.isLinear == true && !dwarfSection_->LinearSearchEntry(frame.pc, uti, uei))) { in StepInner()
1006 memory_->SetDataOffset(uti in StepInner()
[all...]
/base/hiviewdfx/faultloggerd/interfaces/innerkits/unwinder/include/
H A Ddfx_elf.h28 UnwindTableInfo uti; member
75 int FindUnwindTableInfo(uintptr_t pc, std::shared_ptr<DfxMap> map, struct UnwindTableInfo& uti);
76 static int FindUnwindTableLocal(uintptr_t pc, struct UnwindTableInfo& uti);
90 static bool FillUnwindTableByEhhdrLocal(struct DwarfEhFrameHdr* hdr, struct UnwindTableInfo* uti);
92 bool FillUnwindTableByEhhdr(struct DwarfEhFrameHdr* hdr, uintptr_t shdrBase, struct UnwindTableInfo* uti);
93 static bool FillUnwindTableByExidx(ShdrInfo shdr, uintptr_t loadBase, struct UnwindTableInfo* uti);
H A Ddfx_accessors.h45 virtual int FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) = 0;
59 int FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) override;
78 int FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) override;
89 int FindUnwindTable(uintptr_t pc, UnwindTableInfo& uti, void *arg) override;
H A Ddwarf_section.h34 bool LinearSearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei);
35 bool SearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei);
H A Darm_exidx.h46 bool SearchEntry(uintptr_t pc, struct UnwindTableInfo uti, struct UnwindEntryInfo& uei);
/base/hiviewdfx/faultloggerd/test/unittest/unwind/
H A Ddwarf_test.cpp527 struct UnwindTableInfo uti; in HWTEST_F() local
528 ASSERT_EQ(DfxElf::FindUnwindTableLocal(pc, uti), 0); in HWTEST_F()
534 ASSERT_EQ(true, dwarfSection.SearchEntry(pc, uti, pi)); in HWTEST_F()

Completed in 9 milliseconds