From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7862) id 3D4493865483; Tue, 13 Sep 2022 12:08:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3D4493865483 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1663070895; bh=MpSgokfQ5kRf/WPK1AX5FF5iNt5EvFq7nzm8kR+L2uc=; h=From:To:Subject:Date:From; b=Igyndotr5nrB9Gq6UBFU8CGDtm+MS/GeLpPlbHMj12M+LpZEozRx6ncSN3w/0tJpL LbB1PCmRr4wqSE0QSidevzVLe5nkuGlG6eM+aWw7eCLy23Nx2ViDIWgqR7I7utFSdJ t39yGaBer++JY2LOlsYKevZmXYmf39N2l4OSfk/Y= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Bruno Larsen To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb/testsuite: Update gdb.base/so-impl-ld.exp X-Act-Checkin: binutils-gdb X-Git-Author: Bruno Larsen X-Git-Refname: refs/heads/master X-Git-Oldrev: 9db78678c7c08760fe1eff7d94a5989cf2fc4145 X-Git-Newrev: 8fa9bc6a030c9a41eb8cf6f0f66043e02005b291 Message-Id: <20220913120815.3D4493865483@sourceware.org> Date: Tue, 13 Sep 2022 12:08:15 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D8fa9bc6a030c= 9a41eb8cf6f0f66043e02005b291 commit 8fa9bc6a030c9a41eb8cf6f0f66043e02005b291 Author: Bruno Larsen Date: Wed Jul 20 16:44:37 2022 -0300 gdb/testsuite: Update gdb.base/so-impl-ld.exp =20 gdb.base/so-impl-ld.exp was setup assuming that the compiler would add epilogue information and that GDB would stop in the } line. This would make clang tests fail like so: =20 step^M solib_main (arg=3D10000) at ../../../common/git-repos/binutils-gdb/gdb= /testsuite/gdb.base/solib1.c:7^M 7|__ return arg*arg;|__|___/* HERE */^M (gdb) PASS: gdb.base/so-impl-ld.exp: step into solib call next^M main () at ../../../common/git-repos/binutils-gdb/gdb/testsuite/gdb.ba= se/so-impl-ld.c:22^M 22|_ return 0;^M (gdb) FAIL: gdb.base/so-impl-ld.exp: step in solib call next^M 0x00007ffff7cef560 in __libc_start_call_main () from /lib64/libc.so.6^M (gdb) FAIL: gdb.base/so-impl-ld.exp: step out of solib call =20 This patch changes it so solib_main has 2 lines where GDB can stop regardless of compiler choices, and updates the exp file to generically deal with unknown number of steps until leaving that function. Diff: --- gdb/testsuite/gdb.base/so-impl-ld.exp | 13 ++----------- gdb/testsuite/gdb.base/solib1.c | 5 +++-- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/gdb/testsuite/gdb.base/so-impl-ld.exp b/gdb/testsuite/gdb.base= /so-impl-ld.exp index 372b18f3915..3c5d1070a5b 100644 --- a/gdb/testsuite/gdb.base/so-impl-ld.exp +++ b/gdb/testsuite/gdb.base/so-impl-ld.exp @@ -56,21 +56,12 @@ gdb_test "step" "solib_main .arg=3D10000. at.*${libfile= }.c:${decimal}.* HERE .*" \ =20 # Verify that we can step within the shlib call. # -gdb_test "next" "${decimal}\[ \t\]*\}.* STEP .*" "step in solib call" +gdb_test "next" "${decimal}\[ \t\]*return ans;.* STEP .*" "step in solib c= all" =20 # Verify that we can step out of the shlib call, and back out into # the caller. # -gdb_test_multiple "next" "step out of solib call" { - -re "0x\[0-9a-f\]*\[ \t\]*9\[ \t\]*.*$gdb_prompt $" { - gdb_test "next" \ - "main .. at.*so-impl-ld.c:22.*" \ - "step out of solib call" - } - -re "main .. at.*so-impl-ld.c:22.*$gdb_prompt $" { - pass "step out of solib call" - } -} +gdb_step_until ".*main .. at.*return 0;.*" "step out of solib call" =20 gdb_exit return 0 diff --git a/gdb/testsuite/gdb.base/solib1.c b/gdb/testsuite/gdb.base/solib= 1.c index 16b72338f26..bf52beec5de 100644 --- a/gdb/testsuite/gdb.base/solib1.c +++ b/gdb/testsuite/gdb.base/solib1.c @@ -4,5 +4,6 @@ extern "C" int solib_main (int arg) { - return arg*arg; /* HERE */ -} /* STEP */ + int ans =3D arg*arg; /* HERE */ + return ans; /* STEP */ +}