Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:tabraham1:branches:home:jeff_mahoney:crash-python:devel
gdb
gdb-fix-watchpoints-triggered.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb-fix-watchpoints-triggered.patch of Package gdb
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 1e524b5942f..459bc13f398 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -4916,6 +4916,7 @@ watchpoints_triggered (const target_waitstatus &ws) affected by this data address as triggered, and all others as not triggered. */ + size_t triggered_cnt = 0; for (breakpoint *b : all_breakpoints ()) if (is_hardware_watchpoint (b)) { @@ -4932,6 +4933,7 @@ watchpoints_triggered (const target_waitstatus &ws) if (newaddr == start) { w->watchpoint_triggered = watch_triggered_yes; + triggered_cnt++; break; } } @@ -4941,11 +4943,26 @@ watchpoints_triggered (const target_waitstatus &ws) loc->length)) { w->watchpoint_triggered = watch_triggered_yes; + triggered_cnt++; break; } } } + if (triggered_cnt == 0) + { + /* The target could report the data address. But none of the + watchpoints was affected by this data address, so mark all + watchpoints as unknown. */ + for (breakpoint *b : all_breakpoints ()) + if (is_hardware_watchpoint (b)) + { + struct watchpoint *w = (struct watchpoint *) b; + + w->watchpoint_triggered = watch_triggered_unknown; + } + } + return 1; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor