|
|
Subscribe / Log in / New account

GDB 11.1 released

Version 11.1 of the GDB debugger is out. There are a number of new features, and somebody will surely be disappointed to see that support for debugging Arm Symbian programs has been removed.


From:  Joel Brobecker <brobecker-AT-adacore.com>
To:  gdb-announce-AT-sourceware.org, info-gnu-AT-gnu.org
Subject:  GDB 11.1 released!
Date:  Sun, 12 Sep 2021 19:51:27 -0700
Message-ID:  <20210913025127.D180B89CF7@takamaka.home>


            GDB 11.1 released!

Release 11.1 of GDB, the GNU Debugger, is now available.  GDB is
a source-level debugger for Ada, C, C++, Fortran, Go, Rust, and many
other languages.  GDB can target (i.e., debug programs running on)
more than a dozen different processor architectures, and GDB itself
can run on most popular GNU/Linux, Unix and Microsoft Windows variants.
GDB is free (libre) software.

You can download GDB from the GNU FTP server in the directory:

        ftp://ftp.gnu.org/gnu/gdb

The vital stats:

  Size   md5sum                            Name
  22MiB  257cb0f67927f79acf636d8c01e19990  gdb-11.1.tar.xz
  37MiB  eb6596d83bdccea06caa6d49d923e119  gdb-11.1.tar.gz

There is a web page for GDB at:

        https://www.gnu.org/software/gdb/

That page includes information about GDB mailing lists (an announcement
mailing list, developers discussion lists, etc.), details on how to
access GDB's source repository, locations for development snapshots,
preformatted documentation, and links to related information around
the net.  We will put errata notes and host-specific tips for this release
on-line as any problems come up.  All mailing lists archives are also
browsable via the web.

GDB 11.1 includes the following changes and enhancements:

* Support for ARM Symbian (arm*-*-symbianelf*) has been removed.

* Building GDB now requires GMP (The GNU Multiple Precision Arithmetic
  Library).

* New command-line options "--early-init-command" (or "-eix")
  and "--early-init-eval-command" (or "-eiex")

* GDB/MI Changes:

  ** New --qualified option for the '-break-insert' and '-dprintf-insert'
     commands.

  ** New --force-condition option for the '-break-insert' and
     '-dprintf-insert' commands.

  ** New --force option for the '-break-condition' command.

  ** The '-file-list-exec-source-files' now accepts an optional regular
     expression to filter the source files included in the result.

  ** The results from '-file-list-exec-source-files' now include
     a 'debug-fully-read' field to indicate if the corresponding
     source's debugging information has been partially read (false)
     or has been fully read (true).

* TUI Improvements:

  ** Mouse actions are now supported. The mouse wheel scrolls
     the appropriate window.

  ** Key combinations that do not have a specific action on the
     focused window are now passed to GDB.

* Python enhancements:

  ** Inferior objects now contain a read-only 'connection_num' attribute that
     gives the connection number as seen in 'info connections' and
     'info inferiors'.

  ** New method gdb.Frame.level() which returns the stack level of the
     frame object.

  ** New method gdb.PendingFrame.level() which returns the stack level
     of the frame object.

  ** When hitting a catchpoint, the Python API will now emit a
     gdb.BreakpointEvent rather than a gdb.StopEvent.  The
     gdb.Breakpoint attached to the event will have type BP_CATCHPOINT.

  ** Python TUI windows can now receive mouse click events.  If the
     Window object implements the click method, it is called for each
     mouse click event in this window.

  ** New setting "python ignore-environment on|off"; if "on", causes
       GDB's builtin Python to ignore any environment variable that would
       otherwise affect how Python behaves (needs to be set during
       "early initialization" (see above).

  ** New setting "python dont-write-bytecode auto|on|off".

* Guile API enhancements:

  ** Improved support for rvalue reference values.

  ** New procedures for obtaining value variants:
     value-reference-value, value-rvalue-reference-value and
     value-const-value.

* New "qMemTags" and "QMemTags" remote protocol packets
  (associated with Memory Tagging).

* GDB will now look for the .gdbinit file in a config directory before
  looking for ~/.gdbinit.  The file is searched for in the following
  locations: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit,
  $HOME/.gdbinit.  On Apple hosts the search order is instead:
  $HOME/Library/Preferences/gdb/gdbinit, $HOME/.gdbinit.

* The "break [...] if CONDITION" command no longer returns an error
  when the condition is invalid at one or more locations. Instead,
  if the condition is valid at one or more locations, the locations
  where the condition is not valid are disabled.

  The behavior of the "condition" command is changed to match
  the new behavior of the "break" command.

* Support for general memory tagging functionality (currently limited
  to AArch64 MTE)

* Core file debugging now supported for x86_64 Cygwin programs.

* New "org.gnu.gdb.riscv.vector" feature for RISC-V targets.

* GDB now supports fixed point types which are described in DWARF
  as base types with a fixed-point encoding.  Additionally, support
  for the DW_AT_GNU_numerator and DW_AT_GNU_denominator has also
  been added.

* Miscellaneous:

  ** New "startup-quietly on|off" setting; when "on", behaves the same
     as passing the "-silent" option on the command line.

  ** New "print type hex on|off" setting; when 'on', the 'ptype' command
     uses hexadecimal notation to print sizes and offsets of struct
     members.  When 'off', decimal notation is used.

  ** The "inferior" command, when run without argument, prints
     information about the current inferior.

  ** The "ptype" command now supports "/x" and "/d", affecting the base
     used to print sizes and offsets.

  ** The output of the "info source" has been restructured.

  ** New "style version foreground | background | intensity" commands
     to control the styling of the GDB version number.

  ** Various debug and maintenance commands (mostly useful for
     the GDB developers)

For a complete list and more details on each item, please see the gdb/NEWS
file, available at:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;...

-- 
Joel Brobecker


to post comments

GDB 11.1 released

Posted Sep 13, 2021 15:15 UTC (Mon) by pebolle (guest, #35204) [Link] (9 responses)

> * GDB will now look for the .gdbinit file in a config directory before
> looking for ~/.gdbinit. The file is searched for in the following
> locations: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit,
> $HOME/.gdbinit.

The draft of version 0.1 of the Desktop Base Directory Specification was dated July 29, 2002. So it took only nineteen years to get GDB on board. Perhaps we'll see bash, ssh and other dinosaurs in another decade or so. Or at least during my lifetime.

Fingers crossed!

GDB 11.1 released

Posted Sep 14, 2021 8:07 UTC (Tue) by oldtomas (guest, #72579) [Link] (7 responses)

You're always so charming and nice!

You could have, like, you know, submitted a patch like perhaps eighteen-and-a-half years ago if you cared, instead of spraying toxic sarcasm around now.

It's free software. You know the ritual. Send patches, convince people. And if you can't be bothered to do that, the least you can do is to say "thank you".

GDB 11.1 released

Posted Sep 14, 2021 10:58 UTC (Tue) by pebolle (guest, #35204) [Link] (6 responses)

> You could have, like, you know, submitted a patch like perhaps eighteen-and-a-half years ago if you cared, instead of spraying toxic sarcasm around now.

The XDG Base Directory Specification (as it's now called) is well known. Almost all projects targeting Linux should now be familiar with it.

Besides, a number of people already have put in the effort to make all projects follow it. That started over a decade ago. I've commented on this site that "I do admire the perseverance of the people hunting down all the dotfiles for many years now". And, to stick to my examples, both bash and ssh apparently thanked them for their efforts with a WONTFIX or equivalent.

> It's free software. You know the ritual. Send patches, convince people.

Let me plug the blog of Chris Siebenmann here. Chris has written a lot of entries on computing (the focus is on Unix and Linux). And if you start at an entry titled "The impact on you of making 'bad' bug reports" and follow some links you'll eventually stumble on an entry called "What you're saying when you tell people to send in patches".

Chris argues that reporting bugs or sending patches is a lot of work, often unpleasant, and unlikely to be successful, especially in the short term. So generally no fun and not worth it. (This short summary doesn't do Chris' blog entries justice.)

GDB 11.1 released

Posted Sep 14, 2021 11:51 UTC (Tue) by pizza (subscriber, #46) [Link] (5 responses)

> Chris argues that reporting bugs or sending patches is a lot of work, often unpleasant, and unlikely to be successful, especially in the short term. So generally no fun and not worth it. (This short summary doesn't do Chris' blog entries justice.)

Sure, reporting bugs or sending patches takes time and effort, something you may not consider fun or otherwise worth it. If you can't be bothered to make that effort becuase it's not worth the value you place on your own time, why do you keep assuming that the software author's time is inherently less valuable than your own, and that their priorities are the same as yours?

GDB 11.1 released

Posted Sep 14, 2021 12:44 UTC (Tue) by pebolle (guest, #35204) [Link] (4 responses)

> If you can't be bothered to make that effort becuase it's not worth the value you place on your own time, why do you keep assuming that the software author's time is inherently less valuable than your own, and that their priorities are the same as yours?

But not filing bugs or not sending patches doesn't cost the author any time. Of course you then have to live with the bug and hope the bug gets fixed someday, if ever.

(The fact that bug reports and patches do cost other people time to handle makes them risky. There's a good chance the authors feel you're wasting their time. Especially because it's rather hard to write good bug reports or patches.)

GDB 11.1 released

Posted Sep 14, 2021 13:16 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link] (3 responses)

> But not filing bugs or not sending patches doesn't cost the author any time.

It does. Assuming they care about the software, if authors have to find the bug themselves and/or fix it themselves it costs them more time than getting a bug report and/or a patch.

GDB 11.1 released

Posted Sep 14, 2021 20:45 UTC (Tue) by pebolle (guest, #35204) [Link] (2 responses)

That's true if the software's author and the submitter of a patch or the reporter of bugs agree about the value of a patch or a report. My impression is that this is the exemption. The rule is: patch NOGOOD, bug WONTFIX. Even more cynical: patch CRICKETS, bug CRICKETS.

The theory seems to be that in free software people should report bugs and submit patches and then free software will grow into some free software nirvana. (Hyperbole alert!) In practice things are complicated. Valid reports are rejected, unsound patches are submitted, sound patches are ignored, etc.

It's free software. It's OK to not file bugs or to not submit patches. In many cases that's actually the best thing to do. Because the tricky part is figuring out when and how to report bugs or send patches.

GDB 11.1 released

Posted Sep 15, 2021 7:24 UTC (Wed) by oldtomas (guest, #72579) [Link] (1 responses)

"It's free software. It's OK to not file bugs or to not submit patches."

Yup. As OK as it is for me to ignore your comments on this, because now I'm convinced that you are only interested in ranting instead of fixing things :)

GDB 11.1 released

Posted Sep 15, 2021 9:57 UTC (Wed) by pebolle (guest, #35204) [Link]

You're free to ignore my comments.

But it is odd that you justify this by quoting only two sentences of a very short paragraph. Because the quote suggests I said something else than I actually did.

GDB 11.1 released

Posted May 30, 2023 21:26 UTC (Tue) by pebolle (guest, #35204) [Link]

less in Fedora 38 now cares about XDG_CONFIG, XDG_DATA_HOME, and XDG_STATE_HOME. Another dinosaur on board! I fear I'm getting slightly optimistic here.

Fingers still crossed!


Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds