mohit.bhakkad created this revision.
mohit.bhakkad added a reviewer: clayborg.
mohit.bhakkad added subscribers: jaydeep, bhushan, nitesh.jain, sagar,
lldb-commits.
mohit.bhakkad set the repository for this revision to rL LLVM.
rL249837 doesn't solves all the issues with MIPS false positives, some of the
cases are not working.
so need to replace it with this logic.
Repository:
rL LLVM
http://reviews.llvm.org/D15106
Files:
source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===================================================================
--- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -2110,9 +2110,12 @@
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);
Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===================================================================
--- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -2110,9 +2110,12 @@
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);
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits