]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gstack: [downstream regression] Output file names and line numbers
authorKeith Seitz <keiths@redhat.com>
Mon, 7 Apr 2025 15:40:56 +0000 (08:40 -0700)
committerKeith Seitz <keiths@redhat.com>
Mon, 7 Apr 2025 15:40:56 +0000 (08:40 -0700)
With commit fb2ded33c1e519659743047ed7817166545b6d91, I added
Fedora's gstack script to gdb.  Some issues have arisen since
then, and this patch addresses those issues:

. As Sam James recently noted[1], PKGVERSION and VERSION
  need to be quoted.
. A Fedora user reported the misuse of --readnever, which
  causes gstack to omit filename and line number information in the
  backtrace[Red Hat BZ 2354997].

[1] https://inbox.sourceware.org/gdb-patches/d19d6bc17e0a160ce27fc572079f11a587c0e168.1742424869.git.sam@gentoo.org/
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2354997
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32828

gdb/gstack-1.in
gdb/testsuite/gdb.base/gstack.exp

index 5e413290c9a06ba3c87b7f9aa127a6bba5c0218e..25339d9877d9916341c9b2252f35b77a60f307ee 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# Copyright (C) 2024 Free Software Foundation, Inc.
+# Copyright (C) 2024-2025 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -22,8 +22,8 @@
 GDB=${GDB:-$(command -v gdb)}
 GDBARGS=${GDBARGS:-}
 AWK=${AWK:-}
-PKGVERSION=@PKGVERSION@
-VERSION=@VERSION@
+PKGVERSION="@PKGVERSION@"
+VERSION="@VERSION@"
 
 # Find an appropriate awk interpreter if one was not specified
 # via the environment.
@@ -132,7 +132,7 @@ EOF
          )
 
 # Run GDB and remove some unwanted noise.
-"$GDB" --quiet -nx --readnever $GDBARGS <<EOF |
+"$GDB" --quiet -nx $GDBARGS <<EOF |
 set width 0
 set height 0
 set pagination no
index 1ad1402e2be3138174ad3475b4f8f2c0f4d73d09..ee24203f07029685b0ae5231eebe226e13cdf375 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2024 Free Software Foundation, Inc.
+# Copyright (C) 2024-2025 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -60,8 +60,10 @@ if { ![gdb_assert { ![expr {$res < 0 || $res == ""}] } $test] } {
 set test "got backtrace"
 set saw_backtrace false
 set no_awk false
+set location_re ${srcfile}:${decimal}
+
 gdb_test_multiple "" $test {
-    -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*\r\nGSTACK-END\r\n\$" {
+    -i "$res" -re "#0 +(0x\[0-9a-f\]+ in )?main \(\).*$location_re.*\r\nGSTACK-END\r\n\$" {
        set saw_backtrace true
        pass $test
        exp_continue