Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b4b075f authored by Christopher Ferris's avatar Christopher Ferris
Browse files

Small clean ups



- Remove redundant map_info checks.
- Initialize fde_count_ to zero.

Bug: 23762183

Contributed-By: default avatarIvan Maidanski <i.maidanski@samsung.com>

Test: Builds, run backtrace_test modifying CreateNew to Create and vice-versa.
Change-Id: I6e9cdfa99734f8cc2d9915cc32c66a1455e79f1b
parent 2d1d8812
Loading
Loading
Loading
Loading
+5 −12
Original line number Diff line number Diff line
@@ -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;
      }
      frame->sp = regs->sp();
      frame->rel_pc = adjusted_rel_pc;
      frame->stack_size = 0;
+1 −1
Original line number Diff line number Diff line
@@ -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_;