]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb: Deprecate stabs debug info
authorGuinevere Larsen <guinevere@redhat.com>
Mon, 13 Jan 2025 17:04:04 +0000 (14:04 -0300)
committerGuinevere Larsen <guinevere@redhat.com>
Mon, 10 Feb 2025 18:31:03 +0000 (15:31 -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
Approved-By: Tom Tromey <tom@tromey.com>
gdb/NEWS

index 4da8c922263aac5a884979ff4b3ab67c5a3eae96..2931a203f28c0b80e32b1f946e14adb95a41956c 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -74,6 +74,9 @@ binary-upload in qSupported reply
    multiple times, and the same mapping was being reused.  In all
    other cases, this field will have the value 'false'.
 
+* 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