summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/POSIX/CrashReason.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SI_KERNEL on platforms defining itStephane Sezer2015-09-141-2/+3
| | | | | | | | | | | | | | | | | Summary: Linux and FreeBSD occasionally send SI_KERNEL codes, nonexistent on other platforms. Problem caught on NetBSD. Reviewers: joerg, sas Subscribers: sas, lldb-commits, emaste Differential Revision: http://reviews.llvm.org/D12659 Change by Kamil Rytarowski <n54@gmx.com> llvm-svn: 247579
* Report inferior SIGSEGV as a signal instead of an exception on linuxPavel Labath2015-05-291-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, we reported inferior receiving SIGSEGV (or SIGILL, SIGFPE, SIGBUS) as an "exception" to LLDB, presumably to match OSX behaviour. Beside the fact that we were basically lying to the user, this was also causing problems with inferiors which handle SIGSEGV by themselves, since LLDB was unable to reinject this signal back into the inferior. This commit changes LLGS to report SIGSEGV as a signal. This has necessitated some changes in the test-suite, which had previously used eStopReasonException to locate threads that crashed. Now it uses platform-specific logic, which in the case of linux searches for eStopReasonSignaled with signal=SIGSEGV. I have also added the ability to set the description of StopInfoUnixSignal using the description field of the gdb-remote packet. The linux stub uses this to display additional information about the segfault (invalid address, address access protected, etc.). Test Plan: All tests pass on linux and osx. Reviewers: ovyalov, clayborg, emaste Subscribers: emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D10057 llvm-svn: 238549
* Share crash information between LLGS and local POSIX debugging withChaoren Lin2015-02-031-0/+315
CrashReason class. Deliver crash information from LLGS to lldb via description field of thread stop packet. llvm-svn: 227926
OpenPOWER on IntegriCloud