1212e0f90c
gdb 13.2 update OBS-URL: https://build.opensuse.org/request/show/1093460 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=358
74 lines
2.5 KiB
Diff
74 lines
2.5 KiB
Diff
From 911a6999884d94959551aa8e02858b6b8429f275 Mon Sep 17 00:00:00 2001
|
|
From: Tom de Vries <tdevries@suse.de>
|
|
Date: Tue, 28 Feb 2023 15:50:23 +0100
|
|
Subject: [PATCH 4/9] [gdb/testsuite] Fix gdb.python/py-breakpoint.exp timeouts
|
|
|
|
On powerpc64le-linux, I run into two timeouts:
|
|
...
|
|
FAIL: gdb.python/py-breakpoint.exp: test_watchpoints: \
|
|
Test watchpoint write (timeout)
|
|
FAIL: gdb.python/py-breakpoint.exp: test_bkpt_internal: \
|
|
Test watchpoint write (timeout)
|
|
...
|
|
|
|
In this case, hw watchpoints are not supported, and using sw watchpoints
|
|
is slow.
|
|
|
|
Most of the time is spent in handling a try-catch, which triggers a malloc. I
|
|
think this bit is more relevant for the "catch throw" part of the test-case,
|
|
so fix the timeouts by setting the watchpoints after the try-catch.
|
|
|
|
Tested on x86_64-linux and powerpc64le-linux.
|
|
---
|
|
gdb/testsuite/gdb.python/py-breakpoint.c | 2 ++
|
|
gdb/testsuite/gdb.python/py-breakpoint.exp | 6 ++++--
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/gdb/testsuite/gdb.python/py-breakpoint.c b/gdb/testsuite/gdb.python/py-breakpoint.c
|
|
index 0f791da9c27..1fb341660e9 100644
|
|
--- a/gdb/testsuite/gdb.python/py-breakpoint.c
|
|
+++ b/gdb/testsuite/gdb.python/py-breakpoint.c
|
|
@@ -60,6 +60,8 @@ int main (int argc, char *argv[])
|
|
/* Nothing. */
|
|
}
|
|
|
|
+ i = -1; /* Past throw-catch. */
|
|
+
|
|
for (i = 0; i < 10; i++)
|
|
{
|
|
result += multiply (foo); /* Break at multiply. */
|
|
diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp
|
|
index 397e4b31309..9ba6b837a41 100644
|
|
--- a/gdb/testsuite/gdb.python/py-breakpoint.exp
|
|
+++ b/gdb/testsuite/gdb.python/py-breakpoint.exp
|
|
@@ -37,6 +37,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} ${options}]
|
|
# Skip all tests if Python scripting is not enabled.
|
|
if { [skip_python_tests] } { continue }
|
|
|
|
+set past_throw_catch_line [gdb_get_line_number "Past throw-catch."]
|
|
+
|
|
proc_with_prefix test_bkpt_basic { } {
|
|
global srcfile testfile hex decimal
|
|
|
|
@@ -293,7 +295,7 @@ proc_with_prefix test_watchpoints { } {
|
|
gdb_test_no_output "set can-use-hw-watchpoints 0" ""
|
|
}
|
|
|
|
- if {![runto_main]} {
|
|
+ if {![runto $srcfile:$::past_throw_catch_line]} {
|
|
return 0
|
|
}
|
|
|
|
@@ -316,7 +318,7 @@ proc_with_prefix test_bkpt_internal { } {
|
|
if {$skip_hw_watchpoint_tests_p} {
|
|
gdb_test_no_output "set can-use-hw-watchpoints 0" ""
|
|
}
|
|
- if {![runto_main]} {
|
|
+ if {![runto $srcfile:$::past_throw_catch_line]} {
|
|
return 0
|
|
}
|
|
delete_breakpoints
|
|
--
|
|
2.35.3
|
|
|