diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/watchpoint.exp | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a931862..06818af 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-06-01 Yao Qi <yao@codesourcery.com> + + * gdb.base/watchpoint.exp (test_watch_location): Check null + pointer can be dereferenced. If not, do the test, otherwise + skip it. + 2014-05-30 Andrew Burgess <aburgess@broadcom.com> * gdb.arch/amd64-invalid-stack-middle.exp: Update expected diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp index 1123824..c41b4fd 100644 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ b/gdb/testsuite/gdb.base/watchpoint.exp @@ -595,11 +595,21 @@ proc test_disable_enable_software_watchpoint {} { } proc test_watch_location {} { + global gdb_prompt + gdb_breakpoint [gdb_get_line_number "func5 breakpoint here"] gdb_continue_to_breakpoint "func5 breakpoint here" - gdb_test "watch -location nullptr->p->x" \ - "Cannot access memory at address 0x0" + # Check first if a null pointer can be dereferenced on the target. + gdb_test_multiple "p *nullptr" "" { + -re "Cannot access memory at address 0x0.*$gdb_prompt $" { + gdb_test "watch -location nullptr->p->x" \ + "Cannot access memory at address 0x0" + } + -re ".*$gdb_prompt $" { + # Null pointer dereference is legitimate. + } + } gdb_test "watch -location *x" "atchpoint .*: .*" "watch -location .x" |