llvm-project/lldb/source/Plugins/UnwindAssembly/x86
Joseph Tremoulet 3fd917d886 Support Linux signal return trampolines in frame initialization
Summary:
Add __kernel_rt_sigreturn to the list of trap handlers for Linux (it's
used as such on aarch64 at least), and __restore_rt as well (used on
x86_64).

Skip decrement-and-recompute for trap handlers in
InitializeNonZerothFrame, as signal dispatch may point the child frame's
return address to the start of the return trampoline.

Parse the 'S' flag for signal handlers from eh_frame augmentation, and
propagate it to the unwind plan.

Reviewers: labath, jankratochvil, compnerd, jfb, jasonmolenda

Reviewed By: jasonmolenda

Subscribers: clayborg, MaskRay, wuzish, nemanjai, kbarton, jrtc27, atanasyan, jsji, javed.absar, kristof.beyls, lldb-commits

Tags: #lldb

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

llvm-svn: 366580
2019-07-19 14:05:55 +00:00
..
CMakeLists.txt PluginUnwindAssemblyX86: add missing linkage to MCDisasm 2017-03-25 18:51:37 +00:00
UnwindAssembly-x86.cpp [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
UnwindAssembly-x86.h [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
x86AssemblyInspectionEngine.cpp Support Linux signal return trampolines in frame initialization 2019-07-19 14:05:55 +00:00
x86AssemblyInspectionEngine.h Add support for mid-function epilogues on x86 that end in a non-local jump. 2019-06-03 22:34:12 +00:00