Merge "Small clean ups" am: 5cd87d39d7
am: 188072f6a4
Change-Id: Ifb47bd38f254e25820bf1bfb62a158ac7631b434
This commit is contained in:
commit
22ea80bdcd
2 changed files with 6 additions and 13 deletions
|
|
@ -84,27 +84,20 @@ static bool Unwind(pid_t pid, unwindstack::Memory* memory, unwindstack::Regs* re
|
|||
}
|
||||
|
||||
unwindstack::Elf* elf = map_info->GetElf(pid, true);
|
||||
uint64_t rel_pc = regs->pc();
|
||||
if (map_info != nullptr) {
|
||||
rel_pc = elf->GetRelPc(regs->pc(), map_info);
|
||||
}
|
||||
uint64_t rel_pc = elf->GetRelPc(regs->pc(), map_info);
|
||||
|
||||
bool skip_frame = num_frames == 0 && IsUnwindLibrary(map_info->name);
|
||||
if (num_ignore_frames == 0 && !skip_frame) {
|
||||
uint64_t adjusted_rel_pc = rel_pc;
|
||||
if (map_info != nullptr && adjust_rel_pc) {
|
||||
if (adjust_rel_pc) {
|
||||
adjusted_rel_pc = regs->GetAdjustedPc(rel_pc, elf);
|
||||
}
|
||||
frames->resize(num_frames + 1);
|
||||
backtrace_frame_data_t* frame = &frames->at(num_frames);
|
||||
frame->num = num_frames;
|
||||
if (map_info != nullptr) {
|
||||
// This will point to the adjusted absolute pc. regs->pc() is
|
||||
// unaltered.
|
||||
frame->pc = map_info->start + adjusted_rel_pc;
|
||||
} else {
|
||||
frame->pc = rel_pc;
|
||||
}
|
||||
// This will point to the adjusted absolute pc. regs->pc() is
|
||||
// unaltered.
|
||||
frame->pc = map_info->start + adjusted_rel_pc;
|
||||
frame->sp = regs->sp();
|
||||
frame->rel_pc = adjusted_rel_pc;
|
||||
frame->stack_size = 0;
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ class DwarfSection {
|
|||
DwarfMemory memory_;
|
||||
DwarfError last_error_;
|
||||
|
||||
uint64_t fde_count_;
|
||||
uint64_t fde_count_ = 0;
|
||||
std::unordered_map<uint64_t, DwarfFde> fde_entries_;
|
||||
std::unordered_map<uint64_t, DwarfCie> cie_entries_;
|
||||
std::unordered_map<uint64_t, dwarf_loc_regs_t> cie_loc_regs_;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue