]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix gdb.base/ending-run.exp on manjaro linux
authorTom de Vries <tdevries@suse.de>
Thu, 28 Mar 2024 07:26:31 +0000 (08:26 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 28 Mar 2024 07:26:31 +0000 (08:26 +0100)
On aarch64-linux, using the manjaro linux distro, I run into:
...
(gdb) next^M
32      }^M
(gdb) next^M
0x0000fffff7d67b80 in ?? () from /usr/lib/libc.so.6^M
(gdb) FAIL: gdb.base/ending-run.exp: step out of main
...

What happens here is described in detail in this clause:
...
    -re "0x.*\\?\\? \\(\\) from /lib/powerpc.*$gdb_prompt $" {
# This case occurs on Powerpc when gdb steps out of main and the
# needed debug info files are not loaded on the system, preventing
# GDB to determine which function it reached (__libc_start_call_main).
# Ideally, the target system would have the necessary debugging
# information, but in its absence, GDB's behavior is as expected.
...
    }
...
but the clause only matches for powerpc.

Fix this by:
- making the regexp generic enough to also match /usr/lib/libc.so.6, and
- updating the comment to not mention powerpc.

Tested on aarch64-linux.

PR testsuite/31450
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31450

gdb/testsuite/gdb.base/ending-run.exp

index 9c80de6879b392b87a173885d9fdd2fa0b9da2b9..b9a72b0e70e20ab2a09c02b687fc58c69717f09b 100644 (file)
@@ -206,8 +206,8 @@ gdb_test_multiple "next" "step out of main" {
        # This is what happens on system using uClibc.
        pass "step out of main"
     }
-    -re "0x.*\\?\\? \\(\\) from /lib/powerpc.*$gdb_prompt $" {
-       # This case occurs on Powerpc when gdb steps out of main and the
+    -re -wrap "$hex in \\?\\? \\(\\) from \[^\r\n\]+" {
+       # This case occurs when gdb steps out of main and the
        # needed debug info files are not loaded on the system, preventing
        # GDB to determine which function it reached (__libc_start_call_main).
        # Ideally, the target system would have the necessary debugging