From f735116b3fb6dc30912e969d6e8c1b15bbaef510 Mon Sep 17 00:00:00 2001 From: Lancelot SIX Date: Wed, 9 Nov 2022 23:02:44 +0000 Subject: [PATCH] gdb/testsuite: Fix rtld-step-nodebugsym.exp The test case introduced in bafcc335266 (Fix stepping in rtld without debug symbol) fails on some systems as reported by PR/29768. This can be seen if the system does not have debug info for the libc: (gdb) step^M Single stepping until exit from function main,^M which has no line number information.^M hello world[Inferior 1 (process 48203) exited normally]^M (gdb) PASS: gdb.base/rtld-step-nodebugsym.exp: step continue^M The program is not being run.^M (gdb) FAIL: gdb.base/rtld-step-nodebugsym.exp: continue until exit (the program is no longer running) Without glibc debug info, GDB steps until the program finishes, and then "gdb_continue_to_end" fails. As this test was designed to check that GDB does not crash in the "step" command, the continue does not carry real meaning to the test. Replace it by "print 0" so we still check that after the step command GDB is still alive, which is what we care about. Tested on Ubuntu-22.04 x86_64, with and without libc6-dbg. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29768 Approved-By: Simon Marchi --- gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp b/gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp index 1c8fa478cb8..80ff1572c1a 100644 --- a/gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp +++ b/gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp @@ -29,4 +29,6 @@ if { ![runto_main] } { gdb_test "step" "Single stepping until exit from function.*" -gdb_continue_to_end "" continue 1 +# GDB used to crash while doing the step command. Check that this bug is +# fixed and that GDB is still alive at this point. +gdb_test "print 0" "= 0" -- 2.30.2