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

Commit ff331cf3 authored by Christopher Ferris's avatar Christopher Ferris Committed by Gerrit Code Review
Browse files

Merge "Update for SetProcessMemory removal."

parents 2d0decdc c6d42834
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -73,14 +73,13 @@ static void debuggerd_fallback_trace(int output_fd, ucontext_t* ucontext) {
    thread.registers.reset(
        unwindstack::Regs::CreateFromUcontext(unwindstack::Regs::CurrentArch(), ucontext));

    // TODO: Create this once and store it in a global?
    unwindstack::UnwinderFromPid unwinder(kMaxFrames, getpid());
    // Do not use the thread cache here because it will call pthread_key_create
    // which doesn't work in linker code. See b/189803009.
    // Use a normal cached object because the process is stopped, and there
    // is no chance of data changing between reads.
    auto process_memory = unwindstack::Memory::CreateProcessMemoryCached(getpid());
    unwinder.SetProcessMemory(process_memory);
    // TODO: Create this once and store it in a global?
    unwindstack::UnwinderFromPid unwinder(kMaxFrames, getpid(), process_memory);
    dump_backtrace_thread(output_fd, &unwinder, thread);
  }
  __linker_disable_fallback_allocator();
+2 −2
Original line number Diff line number Diff line
@@ -101,10 +101,10 @@ void engrave_tombstone_ucontext(int tombstone_fd, int proto_fd, uint64_t abort_m
    }
  }

  unwindstack::UnwinderFromPid unwinder(kMaxFrames, pid, unwindstack::Regs::CurrentArch());
  auto process_memory =
      unwindstack::Memory::CreateProcessMemoryCached(getpid());
  unwinder.SetProcessMemory(process_memory);
  unwindstack::UnwinderFromPid unwinder(kMaxFrames, pid, unwindstack::Regs::CurrentArch(), nullptr,
                                        process_memory);
  if (!unwinder.Init()) {
    async_safe_format_log(ANDROID_LOG_ERROR, LOG_TAG, "failed to init unwinder object");
    return;