GDB 17.2 released! Release 17.2 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 HTTPS server in the directory: https://ftp.gnu.org/gnu/gdb/?C=M;O=D The vital stats: Size sha256sum Name 24MiB 1c036c0d72e4b3d1fb5c94c88632add6f9d76f4d7c4d2ea793c12a9f19a3228c gdb-17.2.tar.xz 41MiB cb891b9a9f554cac972eea5368176b240640ae90b681aae84bf873a9501f0063 gdb-17.2.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 17.2 brings the following fixes and enhancements over GDB 17.1: * PR dap/33228 ([gdb/dap] error while listing register children) * PR gdb/33737 (gdb --help says 'For more information, type "stream" from within GDB', but "stream" is not a defined command) * PR build/33747 (Incompatible with MUSL libc: no member named 'c_ospeed' in 'termios') * PR gdb/33748 (gdb17 regression with displaying ANSI colors) * PR gdb/33753 (Out-of-bounds writes in string_{v}printf -- threads and static data don't mix) * PR cli/33761 (Setting style colors is broken on MS-Windows) * PR gdb/33768 (Loading compressed GDB scripts from .debug_gdb_scripts fails) * PR symtab/33775 ([gdb/symtab] data race in dwarf2_per_cu::{set_addr_size,set_offset_size,set_ref_addr_size}) * PR symtab/33777 ([gdb/symtab] dw2_get_file_names doesn't cache result for dummy CU) * PR symtab/33825 ([dwz] Extremely slow symbol lookup with DWZ-compressed debug info (thousands of partial units)) * PR testsuite/33845 (gdb: There are 4 unexpected failures in breakpoint-in-ro-region.exp) * PR gdb/33872 (`skip -gfile` has inverted logic) * PR gdb/33926 (GDB 17.1 AArch64: redefinition of user_gcs struct on musl) * PR breakpoints/34112 (rbreak `file:regex` sets breakpoints for matches outside of `file` [reproducer attached]) GDB 17.1 includes the following changes and enhancements: * x86-64 CET shadow stack support * Debugging Linux programs that use AArch64 Guarded Control Stacks * GDB record feature now supports rv64gc architectures * 'info threads' command support for two new options '-stopped' and '-running' to limit the list of displayed threads. * On Linux and FreeBSD, the addresses shown by the 'info sharedlibrary' command are now for the full memory range allocated to the shared library. * Linux checkpoints now work with multiple inferiors * Improved linker namespace support * Warnings and error messages now start with an emoji (warning sign, or cross mark) if supported by the host charset. Configurable. * Built-in support for TLS on Linux as backup when libthread_db is not available. Supported on the x86_64, aarch64, ppc64, s390x, and riscv architectures, when compiled with GLIBC or MUSL. * New command "set riscv numeric-register-names" to display risc-v registers using their numeric names instead of their ABI names. * The Alpha target now supports target descriptions. * Python API enhancements ** New class gdb.Color for dealing with colors, and new constant gdb.PARAM_COLOR ** New gdb.ParameterPrefix class, to create new 'set/show' command prefixes. ** New attribute gdb.Value.is_unavailable, this checks for unavailability like gdb.Value.is_optimized_out checks for optimized out values. ** New gdb.warning() function to print a warning message, with GDB's standard 'warning' prefix (see emoji support entry below) ** gdb.execute has an additional 'styling' argument. ** Prefix commands (gdb.Command sub-classes) that don't have an invoke method now behave like builtin prefix commands when invoked without a sub-command name. This means printing the help text for all sub-commands, unless the prefix command is a 'show' command, in which case the value of all sub-commands is printed. ** Setting the documentation string (__doc__) of a gdb.Parameter sub-class to the empty string, means GDB will only display the set_doc or show_doc strings in the set/show help output. * Guile API enhancements: ** New type for dealing with colors and constant PARAM_COLOR ** Prefix commands (using make-command) that don't have a #:invoke property will now behave like builtin prefix commands when invoked without a sub-command name. This means printing the help text for all sub-commands, unless the prefix command is a 'show' command, in which case the value of all sub-commands is printed. ** Eliding the #:doc string from make-parameter now means that GDB will use a default documentation string. Setting #:doc to the empty string for make-parameter means GDB will only display the #:set_doc or #:show_doc strings in the set/show help output. * Debugger Adapter Protocol changes ** GDB now supports the "completions" request. ** New "--binary-output" command line option to disable LF translations (Windows only) * New convenience variables ** $_colorsupport providing a comma-separated list of color space names supported by the terminal. ** $linker_namespace_count and $_linker_namespace provide the list of active linker namespaces. * Remote package additions and changes ** New 'binary-upload+' value in qSupported reply ** The 'vFile:stat' command implementation has been corrected to use stat rather than lstat. The documentation has also been clarified. ** New vFile:lstat packet, useful for handling symbolic links ** Support for the "id_str" attribute in 'qXfer:threads:read' XML answer. * GDB/MI changes ** The =library-unloaded event now includes the 'ranges' field, which has the same meaning as for the =library-loaded event. ** The =library-unloaded event now includes the 'still-in-use' field. * Configure changes ** Ability to select which file formats to include support for ** New option --disable-gdb-compile to disable support for the compile subsystem. ** New option --disable-gdb-dwarf-support to disable support for DWARF debug information in GDB. ** New option --disable-gdb-mdebug-support to disable support for mdebug/ecoff debug information. * Incompatible changes ** Support for Python versions older than 3.4 has been removed ** Support for stabs debugging format and the a.out/dbx object format is deprecated, and will be removed in GDB 18. ** UST (static tracepoint) gdbserver support has been removed 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;a=blob_plain;f=gdb/NEWS;hb=gdb-17.2-release