[all-commits] [llvm/llvm-project] 2a42a5: In 'thread step-out' command, only insert a breakp...

jimingham via All-commits all-commits at lists.llvm.org
Fri Dec 20 11:02:33 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a42a5a2f4144cd99812ad0d230480f94a1d1c92
      https://github.com/llvm/llvm-project/commit/2a42a5a2f4144cd99812ad0d230480f94a1d1c92
  Author: Jim Ingham <jingham at apple.com>
  Date:   2019-12-20 (Fri, 20 Dec 2019)

  Changed paths:
    M lldb/include/lldb/Target/ThreadPlanStepOut.h
    M lldb/source/Target/ThreadPlanStepOut.cpp
    A lldb/test/Shell/Unwind/Inputs/thread-step-out-ret-addr-check.s
    A lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test

  Log Message:
  -----------
  In 'thread step-out' command, only insert a breakpoint in executable memory.

Previously, if the current function had a nonstandard stack layout/ABI, and had a valid
data pointer in the location where the return address is usually located, data corruption
would occur when the breakpoint was written. This could lead to an incorrectly reported
crash or silent corruption of the program's state. Now, if the above check fails, the command safely aborts.

Differential Revision: https://reviews.llvm.org/D71372




More information about the All-commits mailing list