mohit.bhakkad created this revision. mohit.bhakkad added reviewers: clayborg, jingham. mohit.bhakkad added subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits. mohit.bhakkad set the repository for this revision to rL LLVM.
On MIPS architecture, it is possible to use same hardware register for 2 different variables with same watch mask(address & ~7). wp_addr passed by server is sometime of other same masked variable, so we always rely on wp_hit_addr to search the correct watchpoint. Repository: rL LLVM http://reviews.llvm.org/D13548 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 @@ -2105,6 +2105,8 @@ 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); if (wp_sp) {
Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -2105,6 +2105,8 @@ 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); if (wp_sp) {
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits