[Lldb-commits] [PATCH] Fixed spurious SI_KERNEL codes.
Richard Mitton
richard at codersnotes.com
Wed Aug 7 18:38:57 PDT 2013
Fixed a case where unaligned SIMD loads would cause an unrecognized exception.
(it's a shame we can't make this into an actual alignment bus error, but Intel CPUs don't support it)
http://llvm-reviews.chandlerc.com/D1321
Files:
source/Plugins/Process/Linux/ProcessMonitor.cpp
Index: source/Plugins/Process/Linux/ProcessMonitor.cpp
===================================================================
--- source/Plugins/Process/Linux/ProcessMonitor.cpp
+++ source/Plugins/Process/Linux/ProcessMonitor.cpp
@@ -1788,6 +1788,12 @@
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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1321.1.patch
Type: text/x-patch
Size: 730 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20130807/05074e45/attachment.bin>
More information about the lldb-commits
mailing list