]> 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>
Tue, 28 Jan 2025 19:22:19 +0000 (16:22 -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 e678de55ce64771cb53adda2be58ac032abed6cd..e757326877c7ab01cde16794f80c7493879c5bc9 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -60,6 +60,9 @@ binary-upload in qSupported reply
   stub doesn't report this feature supported, then GDB will not use
   the 'x' packet.
 
+* 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