* [PATCH] [gdb/testsuite] Fix _selftest_setup on ppc64le-linux
@ 2026-07-29 13:12 Tom de Vries
2026-08-14 12:38 ` Tom de Vries
0 siblings, 1 reply; 2+ messages in thread
From: Tom de Vries @ 2026-07-29 13:12 UTC (permalink / raw)
To: gdb-patches
On ppc64le-linux, with gcc 7.5.0 and an O0 gdb build, I get:
...
(gdb) run ...
...
Breakpoint 1, main (argc=12, argv=0x7fffffffea78) at .../gdb.c:30^M
30 gdb_assert (is_main_thread ());^M
(gdb) PASS: gdb.gdb/python-helper.exp: run until breakpoint at main
...
But with an O2 gdb build, I run into:
...
(gdb) run ...
...
Breakpoint 1, 0x000000001003b438 in main (argc=12, argv=0x7fffffffea78) at \
/space/vries/gdb/src/gdb/gdb.c:25
25 {
(gdb) FAIL: gdb.gdb/python-helper.exp: run until breakpoint at main
...
The breakpoint is indeed set at address 0x1003b438:
...
(gdb) break main^M
Breakpoint 1 at 0x1003b438: file /space/vries/gdb/src/gdb/gdb.c, line 25.^M
...
which is the local entry point:
...
(gdb) disassemble main
Dump of assembler code for function main(int, char**):
0x000000001003b430 <+0>: lis r2,4606
0x000000001003b434 <+4>: addi r2,r2,28416
0x000000001003b438 <+8>: mflr r0
...
And indeed, at that address, there's no "recommended breakpoint location":
...
gdb.c:
File name Line number Starting address View Stmt
gdb.c 25 0x1003b430 x
gdb.c 30 0x1003b454 x
gdb.c 37 0x1003b464 x
...
So gdb behaves as expected.
Fix this by updating the pass regexp to allow this type of gdb output.
This fixes both test-case gdb.gdb/python-helper.exp and gdb.gdb/selftest.exp.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34463
---
gdb/testsuite/lib/selftest-support.exp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gdb/testsuite/lib/selftest-support.exp b/gdb/testsuite/lib/selftest-support.exp
index 8d402288c51..bcfa99e8f34 100644
--- a/gdb/testsuite/lib/selftest-support.exp
+++ b/gdb/testsuite/lib/selftest-support.exp
@@ -163,7 +163,8 @@ proc _selftest_setup { } {
[multi_line \
"Starting program: $re_hs" \
".*" \
- [string cat "Breakpoint $::decimal, $function $re_args at" \
+ [string cat \
+ "Breakpoint $::decimal,( $::hex in)? $function $re_args at" \
" ${re_hs}gdb.c:$re_hs"] \
".*"]
set re_xfail \
base-commit: 46a7f5580ebb8c6e0712ff83fbdfba658944ea01
--
2.51.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] [gdb/testsuite] Fix _selftest_setup on ppc64le-linux
2026-07-29 13:12 [PATCH] [gdb/testsuite] Fix _selftest_setup on ppc64le-linux Tom de Vries
@ 2026-08-14 12:38 ` Tom de Vries
0 siblings, 0 replies; 2+ messages in thread
From: Tom de Vries @ 2026-08-14 12:38 UTC (permalink / raw)
To: gdb-patches
On 7/29/26 3:12 PM, Tom de Vries wrote:
> On ppc64le-linux, with gcc 7.5.0 and an O0 gdb build, I get:
> ...
> (gdb) run ...
> ...
> Breakpoint 1, main (argc=12, argv=0x7fffffffea78) at .../gdb.c:30^M
> 30 gdb_assert (is_main_thread ());^M
> (gdb) PASS: gdb.gdb/python-helper.exp: run until breakpoint at main
> ...
>
> But with an O2 gdb build, I run into:
> ...
> (gdb) run ...
> ...
> Breakpoint 1, 0x000000001003b438 in main (argc=12, argv=0x7fffffffea78) at \
> /space/vries/gdb/src/gdb/gdb.c:25
> 25 {
> (gdb) FAIL: gdb.gdb/python-helper.exp: run until breakpoint at main
> ...
>
> The breakpoint is indeed set at address 0x1003b438:
> ...
> (gdb) break main^M
> Breakpoint 1 at 0x1003b438: file /space/vries/gdb/src/gdb/gdb.c, line 25.^M
> ...
> which is the local entry point:
> ...
> (gdb) disassemble main
> Dump of assembler code for function main(int, char**):
> 0x000000001003b430 <+0>: lis r2,4606
> 0x000000001003b434 <+4>: addi r2,r2,28416
> 0x000000001003b438 <+8>: mflr r0
> ...
>
> And indeed, at that address, there's no "recommended breakpoint location":
> ...
> gdb.c:
> File name Line number Starting address View Stmt
> gdb.c 25 0x1003b430 x
> gdb.c 30 0x1003b454 x
> gdb.c 37 0x1003b464 x
> ...
>
> So gdb behaves as expected.
>
> Fix this by updating the pass regexp to allow this type of gdb output.
>
> This fixes both test-case gdb.gdb/python-helper.exp and gdb.gdb/selftest.exp.
>
I've pushed this to trunk, then reproduced the same problem on
gdb-18-branch, and applied the patch there.
Thanks,
- Tom
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34463
> ---
> gdb/testsuite/lib/selftest-support.exp | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/testsuite/lib/selftest-support.exp b/gdb/testsuite/lib/selftest-support.exp
> index 8d402288c51..bcfa99e8f34 100644
> --- a/gdb/testsuite/lib/selftest-support.exp
> +++ b/gdb/testsuite/lib/selftest-support.exp
> @@ -163,7 +163,8 @@ proc _selftest_setup { } {
> [multi_line \
> "Starting program: $re_hs" \
> ".*" \
> - [string cat "Breakpoint $::decimal, $function $re_args at" \
> + [string cat \
> + "Breakpoint $::decimal,( $::hex in)? $function $re_args at" \
> " ${re_hs}gdb.c:$re_hs"] \
> ".*"]
> set re_xfail \
>
> base-commit: 46a7f5580ebb8c6e0712ff83fbdfba658944ea01
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-14 12:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-29 13:12 [PATCH] [gdb/testsuite] Fix _selftest_setup on ppc64le-linux Tom de Vries
2026-08-14 12:38 ` Tom de Vries
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox