diff options
Diffstat (limited to 'lldb/source')
| -rw-r--r-- | lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp | 19 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 15 | 
2 files changed, 8 insertions, 26 deletions
diff --git a/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp b/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp index 46cf2bd2a78..3cb1cec6983 100644 --- a/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp @@ -569,20 +569,11 @@ FreeBSDThread::TraceNotify(const ProcessMessage &message)      // If the current pc is a breakpoint site then set the StopInfo to Breakpoint.      // Otherwise, set the StopInfo to Watchpoint or Trace. -    if (bp_site) -    { -        lldb::break_id_t bp_id = bp_site->GetID(); -        // If we have an operating system plug-in, we might have set a thread specific breakpoint using the -        // operating system thread ID, so we can't make any assumptions about the thread ID so we must always -        // report the breakpoint regardless of the thread. -        if (bp_site->ValidForThisThread(this) || GetProcess()->GetOperatingSystem () != NULL) -            SetStopInfo (StopInfo::CreateStopReasonWithBreakpointSiteID(*this, bp_id)); -        else -        { -            const bool should_stop = false; -            SetStopInfo (StopInfo::CreateStopReasonWithBreakpointSiteID(*this, bp_id, should_stop)); -        } -    } +    // If we have an operating system plug-in, we might have set a thread specific breakpoint using the +    // operating system thread ID, so we can't make any assumptions about the thread ID so we must always +    // report the breakpoint regardless of the thread. +    if (bp_site && (bp_site->ValidForThisThread(this) || GetProcess()->GetOperatingSystem () != NULL)) +        SetStopInfo(StopInfo::CreateStopReasonWithBreakpointSiteID(*this, bp_site->GetID()));      else      {          POSIXBreakpointProtocol* reg_ctx = GetPOSIXBreakpointProtocol(); diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 21dad4e11b6..263639904f1 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -2006,19 +2006,10 @@ ProcessGDBRemote::SetThreadStopInfo (lldb::tid_t tid,                              // If the current pc is a breakpoint site then the StopInfo should be set to Breakpoint                              // Otherwise, it will be set to Trace. -                            if (bp_site_sp) +                            if (bp_site_sp && bp_site_sp->ValidForThisThread(thread_sp.get()))                              { -                                // If the breakpoint is for this thread, then we'll report the hit, but if it is for another thread, -                                // we can just report no reason. -                                if (bp_site_sp->ValidForThisThread (thread_sp.get())) -                                { -                                    thread_sp->SetStopInfo (StopInfo::CreateStopReasonWithBreakpointSiteID (*thread_sp, bp_site_sp->GetID())); -                                } -                                else -                                { -                                    StopInfoSP invalid_stop_info_sp; -                                    thread_sp->SetStopInfo (invalid_stop_info_sp); -                                } +                                thread_sp->SetStopInfo( +                                    StopInfo::CreateStopReasonWithBreakpointSiteID(*thread_sp, bp_site_sp->GetID()));                              }                              else                                thread_sp->SetStopInfo (StopInfo::CreateStopReasonToTrace (*thread_sp));  | 

