summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohit K. Bhakkad <mohit.bhakkad@gmail.com>2015-12-02 17:45:02 +0000
committerMohit K. Bhakkad <mohit.bhakkad@gmail.com>2015-12-02 17:45:02 +0000
commit6846bc8de25da1da584912900e9bde9725f2b3c3 (patch)
tree6d488f23145356624e9345ac846636d83a5b713d
parent4af1b7b693efad7e5cfe7ad77688f914eb82e861 (diff)
downloadbcm5719-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.h6
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp9
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);
OpenPOWER on IntegriCloud