Small clean ups
- Remove redundant map_info checks. - Initialize fde_count_ to zero. Bug: 23762183 Contributed-By: Ivan Maidanski <i.maidanski@samsung.com> Test: Builds, run backtrace_test modifying CreateNew to Create and vice-versa. Change-Id: I6e9cdfa99734f8cc2d9915cc32c66a1455e79f1b
This commit is contained in:
parent
2d1d8812cc
commit
3b4b075fea
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…
Reference in a new issue