Re: [PATCH] Fix gstack issues

Guinevere Larsen
2025-03-27T18:03:33Z

On 3/27/25 12:54 PM, Keith Seitz wrote:
> 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
> ---

Thanks for the quick turnaround in this!

I tested this and it works now, thanks!

Tested-By: Guinevere Larsen <guinevere@redhat.com>

> gdb/gstack-1.in | 8 ++++----
> gdb/testsuite/gdb.base/gstack.exp | 6 ++++--
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/gdb/gstack-1.in b/gdb/gstack-1.in
> index 5e413290c9a..25339d9877d 100755
> --- a/gdb/gstack-1.in
> +++ b/gdb/gstack-1.in
> @@ -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
> diff --git a/gdb/testsuite/gdb.base/gstack.exp b/gdb/testsuite/gdb.base/gstack.exp
> index 8df36b1b3bc..89be67619bc 100644
> --- a/gdb/testsuite/gdb.base/gstack.exp
> +++ b/gdb/testsuite/gdb.base/gstack.exp
> @@ -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
> @@ -62,8 +62,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_expect {
> - -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
>
> base-commit: 08ed5584d871a1d3fee92917805bda86ce45fac9

--
Cheers,
Guinevere Larsen
She/Her/Hers