llvm-project/lldb/source/Plugins/Process/Linux
Pavel Labath 21a365ba59 NativeProcessLinux: Fix handling of raise(SIGTRAP)
In NativeProcessLinux::MonitorSIGTRAP we were asserting that the si_code
value is one of the codes we know about. However, that list was very
incomplete -- for example, we were not handling SI_TKILL/SI_USER,
generated by raise(SIGTRAP). A cursory examination show there are at
least a dozen codes like these that an app can generate, and more can be
added at any point.

So, instead of trying to play catchup, I change the default behavior to
treat an unknown si_code like an ordinary signal. The only reason we
needed to inspect si_code in the first place is because
watchpoint/breakpoints are notified as SIGTRAP, but we already know
about those, and us starting to use a new debug event is far less likely
than somebody introducing a new non-debug event.

I add a test case to TestRaise to verify we are handling raise(SIGTRAP)
in an application properly.

llvm-svn: 307644
2017-07-11 10:38:40 +00:00
..
CMakeLists.txt Implementation of Intel(R) Processor Trace support for Linux 2017-06-28 07:58:31 +00:00
NativeProcessLinux.cpp NativeProcessLinux: Fix handling of raise(SIGTRAP) 2017-07-11 10:38:40 +00:00
NativeProcessLinux.h Add a NativeProcessProtocol Factory class 2017-07-07 11:02:19 +00:00
NativeRegisterContextLinux.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_arm.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_arm.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_arm64.cpp NativeProcessLinux: Fix some compiler warnings 2017-07-11 09:03:38 +00:00
NativeRegisterContextLinux_arm64.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_mips64.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_mips64.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_s390x.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_s390x.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeRegisterContextLinux_x86_64.cpp NativeProcessLinux: Fix some compiler warnings 2017-07-11 09:03:38 +00:00
NativeRegisterContextLinux_x86_64.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeThreadLinux.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
NativeThreadLinux.h Rename Error -> Status. 2017-05-12 04:51:55 +00:00
ProcessorTrace.cpp Fix assorted compiler warnings (mismatched signedness and printf specifiers) 2017-07-05 14:54:46 +00:00
ProcessorTrace.h Move Timer and TraceOptions from Core to Utility 2017-06-29 14:32:17 +00:00
Procfs.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
SingleStepCheck.cpp Fix Linux Buildbot. 2017-05-12 05:48:54 +00:00
SingleStepCheck.h NPL: Fix single step workaround 2017-02-16 18:12:04 +00:00