From 3b4b075fea87c0177e5ef314776713162d86566d Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Wed, 9 Aug 2017 11:16:03 -0700 Subject: [PATCH] Small clean ups - Remove redundant map_info checks. - Initialize fde_count_ to zero. Bug: 23762183 Contributed-By: Ivan Maidanski Test: Builds, run backtrace_test modifying CreateNew to Create and vice-versa. Change-Id: I6e9cdfa99734f8cc2d9915cc32c66a1455e79f1b --- libbacktrace/UnwindStack.cpp | 17 +++++------------ .../include/unwindstack/DwarfSection.h | 2 +- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/libbacktrace/UnwindStack.cpp b/libbacktrace/UnwindStack.cpp index baf0ada28..83a5bb666 100644 --- a/libbacktrace/UnwindStack.cpp +++ b/libbacktrace/UnwindStack.cpp @@ -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; diff --git a/libunwindstack/include/unwindstack/DwarfSection.h b/libunwindstack/include/unwindstack/DwarfSection.h index a97ca2b1d..26485ae88 100644 --- a/libunwindstack/include/unwindstack/DwarfSection.h +++ b/libunwindstack/include/unwindstack/DwarfSection.h @@ -106,7 +106,7 @@ class DwarfSection { DwarfMemory memory_; DwarfError last_error_; - uint64_t fde_count_; + uint64_t fde_count_ = 0; std::unordered_map fde_entries_; std::unordered_map cie_entries_; std::unordered_map cie_loc_regs_;