summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2013-04-24 20:58:03 +0000
committerJason Molenda <jmolenda@apple.com>2013-04-24 20:58:03 +0000
commitc0e5b3ba1d993892e3386a9f67e133a80b97ccc8 (patch)
tree42a9ee01a47af3211c4cb4ebe29dc94b1def9332 /lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
parent76ee3e7e1c27b666ae125b649e42bbf5558df9df (diff)
downloadbcm5719-llvm-c0e5b3ba1d993892e3386a9f67e133a80b97ccc8.tar.gz
bcm5719-llvm-c0e5b3ba1d993892e3386a9f67e133a80b97ccc8.zip
Temporarily recognize exc_type EXC_BREAKPOINT with an exc_code of 0
(normally undefined) as indicating a breakpoint hit, in addition to the normal (EXC_BREAKPOINT, EXC_ARM_BREAKPOINT) pair. <rdar://problem/13730366> llvm-svn: 180216
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp')
-rw-r--r--lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
index 7b002c4f4d7..1b2974de5eb 100644
--- a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
+++ b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
@@ -193,6 +193,8 @@ StopInfoMachException::GetDescription ()
case 0x101: code_desc = "EXC_ARM_DA_ALIGN"; break;
case 0x102: code_desc = "EXC_ARM_DA_DEBUG"; break;
case 1: code_desc = "EXC_ARM_BREAKPOINT"; break;
+ // FIXME temporary workaround, exc_code 0 does not really mean EXC_ARM_BREAKPOINT
+ case 0: code_desc = "EXC_ARM_BREAKPOINT"; break;
}
break;
@@ -420,6 +422,11 @@ StopInfoMachException::CreateStopReasonWithMachException
is_actual_breakpoint = true;
is_trace_if_actual_breakpoint_missing = true;
}
+ else if (exc_code == 0) // FIXME not EXC_ARM_BREAKPOINT but a kernel is currently returning this so accept it as indicating a breakpoint until the kernel is fixed
+ {
+ is_actual_breakpoint = true;
+ is_trace_if_actual_breakpoint_missing = true;
+ }
break;
default:
OpenPOWER on IntegriCloud