[Lldb-commits] [lldb] r188075 - Handle SI_KERNEL signal code for SIGSEGV exceptions.

Matt Kopec Matt.Kopec at intel.com
Fri Aug 9 08:26:57 PDT 2013


Author: mkopec
Date: Fri Aug  9 10:26:56 2013
New Revision: 188075

URL: http://llvm.org/viewvc/llvm-project?rev=188075&view=rev
Log:
Handle SI_KERNEL signal code for SIGSEGV exceptions.

Patch by Richard Mitton.

Modified:
    lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp

Modified: lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp?rev=188075&r1=188074&r2=188075&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/ProcessMonitor.cpp Fri Aug  9 10:26:56 2013
@@ -1788,6 +1788,12 @@ ProcessMonitor::GetCrashReasonForSIGSEGV
     default:
         assert(false && "unexpected si_code for SIGSEGV");
         break;
+    case SI_KERNEL:
+        // Linux will occasionally send spurious SI_KERNEL codes.
+        // (this is poorly documented in sigaction)
+        // One way to get this is via unaligned SIMD loads.
+        reason = ProcessMessage::eInvalidAddress; // for lack of anything better
+        break;
     case SEGV_MAPERR:
         reason = ProcessMessage::eInvalidAddress;
         break;





More information about the lldb-commits mailing list