summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-10-27 02:52:04 +0000
committerJim Ingham <jingham@apple.com>2012-10-27 02:52:04 +0000
commit4dc613b364296d57d8d12cb2f1285d54b21064f1 (patch)
tree78c282ea86a50e087f0b8cb68ba549a8ceac55ac /lldb/source/Plugins/Process/gdb-remote
parent668bf82658f44105d96ea8f780ec967e86c50fc7 (diff)
downloadbcm5719-llvm-4dc613b364296d57d8d12cb2f1285d54b21064f1.tar.gz
bcm5719-llvm-4dc613b364296d57d8d12cb2f1285d54b21064f1.zip
If we got what looks like a single step exception but we weren't single stepping then just report
the raw exception. llvm-svn: 166859
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 1b3ebc7bcce..7f38cb6b040 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1588,9 +1588,13 @@ ProcessGDBRemote::SetThreadStopInfo (StringExtractor& stop_packet)
}
else
{
- // TODO: check for breakpoint or trap opcode in case there is a hard
- // coded software trap
- gdb_thread->SetStopInfo (StopInfo::CreateStopReasonToTrace (*thread_sp));
+ // If we were stepping then assume the stop was the result of the trace. If we were
+ // not stepping then report the SIGTRAP.
+ // FIXME: We are still missing the case where we single step over a trap instruction.
+ if (gdb_thread->GetTemporaryResumeState() == eStateStepping)
+ gdb_thread->SetStopInfo (StopInfo::CreateStopReasonToTrace (*thread_sp));
+ else
+ gdb_thread->SetStopInfo (StopInfo::CreateStopReasonWithSignal(*thread_sp, signo));
}
}
if (!handled)
OpenPOWER on IntegriCloud