Home
last modified time | relevance | path

Searched refs:rel_pc (Results 1 – 21 of 21) sorted by relevance

/system/unwinding/libunwindstack/
DLocalUnwinder.cpp90 uint64_t rel_pc = elf->GetRelPc(cur_pc, map_info); in Unwind() local
91 uint64_t step_pc = rel_pc; in Unwind()
94 pc_adjustment = GetPcAdjustment(rel_pc, elf, arch); in Unwind()
102 if (elf->StepIfSignalHandler(rel_pc, regs.get(), process_memory_.get())) { in Unwind()
103 step_pc = rel_pc; in Unwind()
114 if (elf->GetFunctionName(rel_pc, &func_name, &func_offset)) { in Unwind()
115 frame_info->emplace_back(map_info, cur_pc - pc_adjustment, rel_pc - pc_adjustment, in Unwind()
118 frame_info->emplace_back(map_info, cur_pc - pc_adjustment, rel_pc - pc_adjustment, "", 0); in Unwind()
DRegs.cpp124 uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf, ArchEnum arch) { in GetPcAdjustment() argument
132 if (rel_pc < load_bias) { in GetPcAdjustment()
133 if (rel_pc < 2) { in GetPcAdjustment()
138 uint64_t adjusted_rel_pc = rel_pc - load_bias; in GetPcAdjustment()
157 if (rel_pc < 4) { in GetPcAdjustment()
164 if (rel_pc < 8) { in GetPcAdjustment()
172 if (rel_pc == 0) { in GetPcAdjustment()
DUnwinder.cpp77 frame->rel_pc = dex_pc - info->start(); in FillInDexFrame()
79 frame->rel_pc = dex_pc; in FillInDexFrame()
97 FrameData* Unwinder::FillInFrame(MapInfo* map_info, Elf* elf, uint64_t rel_pc, in FillInFrame() argument
104 frame->rel_pc = rel_pc - pc_adjustment; in FillInFrame()
172 uint64_t rel_pc; in Unwind() local
176 rel_pc = step_pc; in Unwind()
192 rel_pc = elf->GetRelPc(step_pc, map_info); in Unwind()
195 step_pc = rel_pc; in Unwind()
198 pc_adjustment = GetPcAdjustment(rel_pc, elf, arch_); in Unwind()
234 frame = FillInFrame(map_info, elf, rel_pc, pc_adjustment); in Unwind()
[all …]
DElf.cpp181 bool Elf::StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory) { in StepIfSignalHandler() argument
187 if (rel_pc < static_cast<uint64_t>(load_bias_)) { in StepIfSignalHandler()
190 return regs->StepIfSignalHandler(rel_pc - load_bias_, this, process_memory); in StepIfSignalHandler()
194 bool Elf::Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished, in Step() argument
202 return interface_->Step(rel_pc, regs, process_memory, finished, is_signal_frame); in Step()
/system/unwinding/libunwindstack/include/unwindstack/
DLocalUnwinder.h39 LocalFrameData(MapInfo* map_info, uint64_t pc, uint64_t rel_pc, const std::string& function_name, in LocalFrameData()
43 rel_pc(rel_pc), in LocalFrameData()
49 uint64_t rel_pc; member
DElf.h62 bool StepIfSignalHandler(uint64_t rel_pc, Regs* regs, Memory* process_memory);
64 bool Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished,
DUnwinder.h45 uint64_t rel_pc; member
149 FrameData* FillInFrame(MapInfo* map_info, Elf* elf, uint64_t rel_pc, uint64_t pc_adjustment);
DRegs.h116 uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf, ArchEnum arch);
DElfInterface.h88 virtual bool Step(uint64_t rel_pc, Regs* regs, Memory* process_memory, bool* finished,
/system/unwinding/libunwindstack/tests/
DVerifyBionicTerminationTest.cpp48 static DwarfLocationEnum GetReturnAddressLocation(uint64_t rel_pc, DwarfSection* section) { in GetReturnAddressLocation() argument
53 const DwarfFde* fde = section->GetFdeFromPc(rel_pc); in GetReturnAddressLocation()
58 if (!section->GetCfaLocationInfo(rel_pc, fde, &regs, ARCH_UNKNOWN)) { in GetReturnAddressLocation()
81 DwarfLocationEnum location = GetReturnAddressLocation(frame.rel_pc, interface->debug_frame()); in VerifyReturnAddress()
86 location = GetReturnAddressLocation(frame.rel_pc, interface->eh_frame()); in VerifyReturnAddress()
DUnwinderTest.cpp217 EXPECT_EQ(0U, frame->rel_pc); in TEST_F()
232 EXPECT_EQ(0x100U, frame->rel_pc); in TEST_F()
247 EXPECT_EQ(0x200U, frame->rel_pc); in TEST_F()
283 EXPECT_EQ(0U, frame->rel_pc); in TEST_F()
298 EXPECT_EQ(0x100U, frame->rel_pc); in TEST_F()
313 EXPECT_EQ(0x200U, frame->rel_pc); in TEST_F()
344 EXPECT_EQ(0x5500U, frame->rel_pc); in TEST_F()
375 EXPECT_EQ(0x8500U, frame->rel_pc); in TEST_F()
406 EXPECT_EQ(0U, frame->rel_pc); in TEST_F()
438 EXPECT_EQ(0U, frame->rel_pc); in TEST_F()
[all …]
DLocalUnwinderTest.cpp59 frame.pc, frame.rel_pc); in ErrorMsg()
DRegsTest.cpp95 TEST_F(RegsTest, rel_pc) { in TEST_F() argument
DElfTest.cpp292 TEST_F(ElfTest, rel_pc) { in TEST_F() argument
/system/unwinding/libbacktrace/
DUnwindStack.cpp127 back_frame->rel_pc = frame->rel_pc; in Unwind()
DBacktrace.cpp106 std::string line(StringPrintf("#%02zu pc %" PRIPTR " ", frame->num, frame->rel_pc)); in FormatFrameData()
Dbacktrace_test.cpp828 frame.rel_pc = 2; in TEST_F()
844 frame.rel_pc = 0x20; in TEST_F()
870 frame.rel_pc = 0x12345678; in TEST_F()
900 frame.rel_pc = 0x123456dc; in TEST_F()
/system/unwinding/libbacktrace/include/backtrace/
DBacktrace.h87 uint64_t rel_pc; // The relative pc. member
/system/core/debuggerd/proto/
Dtombstone.proto134 uint64 rel_pc = 1; field
/system/core/debuggerd/libdebuggerd/
Dtombstone_proto_to_text.cpp167 frame.rel_pc(), frame.file_name().c_str(), function.c_str(), build_id.c_str()); in print_backtrace()
Dtombstone_proto.cpp304 f->set_rel_pc(frame.rel_pc); in fill_in_backtrace_frame()