Re: [PATCH v2] gdb: Deprecate stabs debug info

Eli Zaretskii
2025-01-27T19:25:13Z

> From: Guinevere Larsen <guinevere@redhat.com>
> Cc: Guinevere Larsen <guinevere@redhat.com>
> Date: Mon, 27 Jan 2025 15:47:50 -0300
>
> GCC has deprecated stabs generation in GCC 12 and entirely removed it in
> GCC 13, which was released in April 2023. At the time it was proposed
> that GDB deprecate stabs as well, but the decision was to support it a
> bit longer. With this patch, it'll be deprecated on GDB 17, and removed
> on GDB 18, which following the current cadence, will be released early
> 2026, meaning we will have supported stabs for nearly 3 years longer
> than GCC, which I think is reasonable.
>
> As pointed out in the previous discussion on this topic[1], there are
> several existing issues on the code, and none of the current maintainers
> knows how to fix it. Unless someone steps up to fix this before the
> removal on GDB 18, I don't see why we should keep this old code that
> breaks all conventions of modern debuginfo readers and doesn't even
> work, instead of being able to further advance adjacent code.
>
> Finally, deprecating and removing stabs will make a.out/dbx inferiors be
> essentially unsupported, as the only debuginfo GDB supports for those
> formats is stabs, meaning users would only have assembly-level debugging
> for that format. With that in mind, this commit deprecates the a.out/dbx
> format as well.
>
> [1] https://inbox.sourceware.org/gdb-patches/20230119174156.654402-1-tom@tromey.com/
>
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31210
> ---
> gdb/NEWS | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/gdb/NEWS b/gdb/NEWS
> index eec7cf4695d..92006c85e97 100644
> --- a/gdb/NEWS
> +++ b/gdb/NEWS
> @@ -46,6 +46,9 @@ maintenance check symtabs
> ** New constant PARAM_COLOR represents color type of a value
> of a <gdb:parameter> object. Parameter's value is <gdb::color> instance.
>
> +* Support for stabs debugging format and the a.out/dbx object format is
> + deprecated, and will be removed in GDB 18.
> +
> *** Changes in GDB 16
>
> * Support for Nios II targets has been removed as this architecture
> --

This is okay, provided that everyone agrees with this schedule (I'm
just okaying the change to NEWS here).