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:
Christopher Ferris 2017-08-09 11:16:03 -07:00
parent 2d1d8812cc
commit 3b4b075fea
2 changed files with 6 additions and 13 deletions

View file

@ -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;

View file

@ -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_;