| Index: gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
|
| diff --git a/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp b/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
|
| similarity index 59%
|
| copy from gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
|
| copy to gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
|
| index c5cf8cf968552e3ee6189ca1cf69070fa90172ab..c61b519ec9f878f4d1ed04b29cc20e0434942df0 100644
|
| --- a/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp
|
| +++ b/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp
|
| @@ -1,4 +1,4 @@
|
| -# Copyright 2002-2005, 2007-2012 Free Software Foundation, Inc.
|
| +# Copyright 2011-2012 Free Software Foundation, Inc.
|
|
|
| # This program is free software; you can redistribute it and/or modify
|
| # it under the terms of the GNU General Public License as published by
|
| @@ -13,8 +13,9 @@
|
| # You should have received a copy of the GNU General Public License
|
| # along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
| -# Regression test for PR11557. Make sure we don't end up with a stale
|
| -# register cache just after resuming a thread.
|
| +if [target_info exists gdb,no_hardware_watchpoints] {
|
| + return -1
|
| +}
|
|
|
| if { ![support_displaced_stepping] } {
|
| unsupported "displaced stepping"
|
| @@ -41,13 +42,9 @@ proc mi_nonstop_resume { command test } {
|
| #
|
| # Start here
|
| #
|
| -set testfile "ns-stale-regcache"
|
| -set srcfile "$testfile.c"
|
| -set binfile "$objdir/$subdir/mi-$testfile"
|
| +standard_testfile watch-nonstop.c
|
|
|
| -set options [list debug incdir=$objdir]
|
| -if {[gdb_compile "$srcdir/$subdir/$srcfile" \
|
| - $binfile executable $options] != "" } {
|
| +if {[gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable {debug}] != "" } {
|
| return -1
|
| }
|
|
|
| @@ -62,18 +59,17 @@ if { [mi_run_to_main] < 0 } {
|
| continue
|
| }
|
|
|
| -# Check that register and stack info don't end up stale after resuming
|
| -# a thread.
|
| -mi_nonstop_resume "exec-continue" "resume thread"
|
| -
|
| -mi_gdb_test "-data-evaluate-expression \$pc" \
|
| - "\\^error,msg=\".*\"" "no stale register cache of resumed thread"
|
| -
|
| -mi_gdb_test "-stack-info-frame" \
|
| - "\\^error,msg=\".*\"" "no stale frame info of resumed thread"
|
| +# Set a watchpoint.
|
| +mi_gdb_test "111-break-watch global" \
|
| + "111\\^done,wpt=\{number=\"2\",exp=\"global\"\}" \
|
| + "break-watch operation"
|
|
|
| -# Check that the thread is still running. If the above tests passed,
|
| -# we want it to be for the right reasons.
|
| -mi_check_thread_states {"running"} "main thread still running"
|
| +# Set the target running.
|
| +mi_nonstop_resume "exec-continue" "resume 1"
|
|
|
| -mi_gdb_exit
|
| +# Now try deleting the watchpoint. This would fail with "Couldn't
|
| +# write debug register: No such process." on GNU/Linux, because we'd
|
| +# try to poke at the debug registers of a running thread.
|
| +mi_gdb_test "777-break-delete 2" \
|
| + "777\\^done" \
|
| + "delete watchpoint"
|
|
|