When running test-cases gdb.threads/step-over-lands-on-breakpoint.exp and
gdb.threads/step-over-trips-on-watchpoint.exp with target board
unix/-flto/-O0/-flto-partition=none/-ffat-lto-objects, we run into timeouts
due not being able to set a breakpoint and then trying to continue to that
breakpoint.
In total, we run into 186 timeouts, which roughly corresponds to half an hour:
...
$ grep "FAIL.*(timeout)" gdb.sum \
| awk '{print $2}' \
| sort \
| uniq -c
66 gdb.threads/step-over-lands-on-breakpoint.exp:
120 gdb.threads/step-over-trips-on-watchpoint.exp:
...
Fix this by bailing out if the first break fails.
Tested on x86_64-linux, both with native and with target board mentioned above.
gdb/testsuite/ChangeLog:
2020-03-20 Tom de Vries <tdevries@suse.de>
* gdb.threads/step-over-lands-on-breakpoint.exp (do_test): Bail out if
first break fails.
* gdb.threads/step-over-trips-on-watchpoint.exp: (do_test): Same.
+2020-03-20 Tom de Vries <tdevries@suse.de>
+
+ * gdb.threads/step-over-lands-on-breakpoint.exp (do_test): Bail out if
+ first break fails.
+ * gdb.threads/step-over-trips-on-watchpoint.exp: (do_test): Same.
+
2020-03-19 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.server/exit-multiple-threads.c: New file.
gdb_test_no_output "set displaced-stepping $displaced"
- gdb_breakpoint [gdb_get_line_number "set wait-thread breakpoint here"]
+ set line [gdb_get_line_number "set wait-thread breakpoint here"]
+ if { ![gdb_breakpoint $line] } {
+ return
+ }
gdb_continue_to_breakpoint "run to wait-thread breakpoint"
gdb_test "info threads" "\\\* 1 .* 2 .*" "info threads shows all threads"
gdb_test_no_output "set displaced-stepping $displaced"
- gdb_breakpoint [gdb_get_line_number "set wait-thread breakpoint here"]
+ set line [gdb_get_line_number "set wait-thread breakpoint here"]
+ if { ![gdb_breakpoint $line] } {
+ return
+ }
gdb_continue_to_breakpoint "run to wait-thread breakpoint"
gdb_test "info threads" "\\\* 1 .* 2 .*" "info threads shows all threads"