aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Love <cel@us.ibm.com>2022-09-08 15:13:03 +0000
committerCarl Love <cel@us.ibm.com>2022-09-08 15:13:03 +0000
commita47a2d45bd6b036d1fa0cde750380d73d0b6f493 (patch)
tree37f109265fb297767393d6d7ca3c76e7165c8f3a
parent0ee31dffb8202dcd1f867b7144db9a8bd69a7499 (diff)
downloadgdb-a47a2d45bd6b036d1fa0cde750380d73d0b6f493.zip
gdb-a47a2d45bd6b036d1fa0cde750380d73d0b6f493.tar.gz
gdb-a47a2d45bd6b036d1fa0cde750380d73d0b6f493.tar.bz2
Fix hardware watchpoint check in test gdb.base/watchpoint-reuse-slot.exp
This test generates 48 failures on Power 9 when testing with HW watchpoints enabled. Note HW watchpoint support is disabled on Power 9 due to a HW bug. The skip_hw_watchpoint_tests proc must be used to correctly determine if the processor supports HW watchpoints. This patch replaces the [target_info exists gdb,no_hardware_watchpoints] with the skip_hw_watchpoint_tests check. This patch was tested on Power 9, Power 10 and X86-64 with no regressions.
-rw-r--r--gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp12
1 files changed, 11 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp b/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
index e2ea137..7ea6a74 100644
--- a/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
+++ b/gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp
@@ -22,6 +22,16 @@
# operation. (Note that we don't have any of these watchpoints
# trigger.)
+# The skip_hw_watchpoint_tests checks if watchpoints are supported by the
+# processor. On PowerPC, the check runs a small test program under gdb
+# to determine if the Power processor supports HW watchpoints. The check
+# must be done before starting the test so as to not disrupt the execution
+# of the actual test.
+
+set skip_hw_watchpoint_tests_p [skip_hw_watchpoint_tests]
+
+# starting the test.
+
standard_testfile
if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
@@ -285,7 +295,7 @@ proc setup_and_run_watchpoints_tests { hw_wp_p } {
# Run tests with hardware watchpoints disabled, then again with them
# enabled (if this target supports hardware watchpoints).
-if { ![target_info exists gdb,no_hardware_watchpoints]} {
+if { !$skip_hw_watchpoint_tests_p } {
# Run test with H/W enabled.
setup_and_run_watchpoints_tests 1
}