Fixed top frame assumption in watchpoint-hw-attach
authorRichard Bunt <richard.bunt@arm.com>
Thu, 28 Jun 2018 07:59:59 +0000 (08:59 +0100)
committerRichard Bunt <richard.bunt@arm.com>
Thu, 28 Jun 2018 07:59:59 +0000 (08:59 +0100)
watchpoint-hw-attach.exp was noticed to fail on some machines.
Thanks to the input from sergiodj and palves on the IRC channel,
it was concluded that the test case incorrectly assumed that on
attach it was landed in the top-most frame of the inferior. This
was fixed by running to a break point in main by explicitly
defining the source file name before continuing with the test.

Tested on the following architectures x86_64, aarch64 and ppc64le.

gdb/testsuite/ChangeLog:

* gdb.base/watchpoint-hw-attach.c (main): Remove unneeded
code.
* gdb.base/watchpoint-hw-attach.exp: Break in outermost frame.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/watchpoint-hw-attach.c
gdb/testsuite/gdb.base/watchpoint-hw-attach.exp

index f3856c4bc4782e76ca3671b6916d006bbb31ac9e..f93eb97d9762348488d6af701153efb4a819c5a6 100644 (file)
@@ -1,3 +1,9 @@
+2018-06-28  Richard Bunt  <richard.bunt@arm.com>
+
+       * gdb.base/watchpoint-hw-attach.c (main): Remove unneeded
+       code.
+       * gdb.base/watchpoint-hw-attach.exp: Break in outermost frame.
+
 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
 
        * gdb.base/relocate.exp: Add test for "add-symbol-file -o ".
index 9d55b28bb7fa65d55b0115712d0c281f661a506d..5bfea503a71fca19e04723d092ba2fbfffed1e9a 100644 (file)
@@ -36,7 +36,6 @@ main (void)
   for (counter = 0; !should_continue && counter < 100; counter++)
     sleep (1);                 /* pidacquired */
 
-  watched_variable = 0;                /* prewatchtrigger */
   /* Trigger a watchpoint.  */
   watched_variable = 4;
   printf ("My variable is %d\n", watched_variable);
index 0c5037c42f13577cee5d6b87a7ef445e6cc1f657..ba7205d7294d165f5a63ffb701c2558e9a2955dc 100644 (file)
@@ -57,12 +57,12 @@ clean_restart $binfile
 
 gdb_test "attach $testpid" "Attaching to program: .*, process $testpid.*"
 
-gdb_test_no_output "set should_continue = 1"
-
 # Ensure the test program is in the top frame so the required
 # variables are in scope.
-gdb_breakpoint [gdb_get_line_number "prewatchtrigger"]
-gdb_continue_to_breakpoint "prewatchtrigger"
+gdb_breakpoint $srcfile:[gdb_get_line_number "pidacquired"]
+gdb_continue_to_breakpoint "$srcfile:pidacquired"
+
+gdb_test_no_output "set should_continue = 1"
 
 gdb_test "watch watched_variable" \
         "Hardware watchpoint $decimal: watched_variable"