gdb/testsuite: Fix rtld-step-nodebugsym.exp
authorLancelot SIX <lancelot.six@amd.com>
Wed, 9 Nov 2022 23:02:44 +0000 (23:02 +0000)
committerLancelot SIX <lancelot.six@amd.com>
Thu, 10 Nov 2022 09:26:34 +0000 (09:26 +0000)
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 <simon.marchi@efficios.com>
gdb/testsuite/gdb.base/rtld-step-nodebugsym.exp

index 1c8fa478cb89bef06ce33029716ea867a99ee883..80ff1572c1ae544597653cbc7e3ee293c543df87 100644 (file)
@@ -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"