diff options
author | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-12-02 17:45:02 +0000 |
---|---|---|
committer | Mohit K. Bhakkad <mohit.bhakkad@gmail.com> | 2015-12-02 17:45:02 +0000 |
commit | 6846bc8de25da1da584912900e9bde9725f2b3c3 (patch) | |
tree | 6d488f23145356624e9345ac846636d83a5b713d | |
parent | 4af1b7b693efad7e5cfe7ad77688f914eb82e861 (diff) | |
download | bcm5719-llvm-6846bc8de25da1da584912900e9bde9725f2b3c3.tar.gz bcm5719-llvm-6846bc8de25da1da584912900e9bde9725f2b3c3.zip |
[LLDB][MIPS] fix watchpoint searched on client side for same masked variables
Reviewers: clayborg.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain,lldb-commits.
Differential Revision: http://reviews.llvm.org/D15106
llvm-svn: 254522
-rw-r--r-- | lldb/include/lldb/Core/ArchSpec.h | 6 | ||||
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lldb/include/lldb/Core/ArchSpec.h b/lldb/include/lldb/Core/ArchSpec.h index a86ee735f1f..13ff436cf08 100644 --- a/lldb/include/lldb/Core/ArchSpec.h +++ b/lldb/include/lldb/Core/ArchSpec.h @@ -212,7 +212,11 @@ public: kCore_mips64_last = eCore_mips64r6, kCore_mips64el_first = eCore_mips64el, - kCore_mips64el_last = eCore_mips64r6el + kCore_mips64el_last = eCore_mips64r6el, + + kCore_mips_first = eCore_mips32, + kCore_mips_last = eCore_mips64r6el + }; typedef void (* StopInfoOverrideCallbackType)(lldb_private::Thread &thread); diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index c2ab8309282..9e396fc32e3 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -2081,9 +2081,12 @@ ProcessGDBRemote::SetThreadStopInfo (lldb::tid_t tid, watch_id_t watch_id = LLDB_INVALID_WATCH_ID; if (wp_addr != LLDB_INVALID_ADDRESS) { - if (wp_hit_addr != LLDB_INVALID_ADDRESS) - wp_addr = wp_hit_addr; - WatchpointSP wp_sp = GetTarget().GetWatchpointList().FindByAddress(wp_addr); + WatchpointSP wp_sp; + ArchSpec::Core core = GetTarget().GetArchitecture().GetCore(); + if (core >= ArchSpec::kCore_mips_first && core <= ArchSpec::kCore_mips_last) + wp_sp = GetTarget().GetWatchpointList().FindByAddress(wp_hit_addr); + if (!wp_sp) + wp_sp = GetTarget().GetWatchpointList().FindByAddress(wp_addr); if (wp_sp) { wp_sp->SetHardwareIndex(wp_index); |