GDB 9.1 released!
Release 9.1 of GDB, the GNU Debugger, is now available. GDB is a source-level debugger for Ada, C, C++, 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 21MiB f7e9f6236c425097d9e5f18a6ac40655 gdb-9.1.tar.xz 38MiB b6f0807334c273c78fd17df0f9b1c13a gdb-9.1.tar.gz There is a web page for GDB at: http://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 9.1 includes the following changes and enhancements: * Building GDB and GDBserver now requires GNU make >= 3.82. * If you choose to build GDB without using the GNU readline version bundled with the GDB sources, building GDB new requires GNU readline >= 7.0. * Removed targets and native configurations: - GDB no longer supports debugging the Cell Broadband Engine; - GDB no longer supports Solaris 10. * New TI PRU Simulator (pru-*-elf). * Python Enhancements: - GDB can now be compiled with Python 3 on Windows; - Various Python API enhancements; * Usability enhancements: - [experimental] Multithreaded symbol loading for higher performance (turned off by default, use 'maint set worker-threads unlimited' to turn this feature on); - Command names can now use the '.' character; - GDB can now place breakpoints on nested functions and subroutines in Fortran; - GDB now shows the Ada task names at more places, e.g. in task switching messages. - Styling enhancements to various commands to improve readability. - GDB now has a standard infrastructure to support dash-style command options ('-OPT'). One benefit is that commands that use it can easily support completion of command line arguments. Try "CMD -[TAB]" or "help CMD" to find options supported by a command. Over time, we intend to migrate most commands to this infrastructure. * Enhancements to existing commands: - "printf" and "eval" can now print C-style and Ada-style strings without calling functions in the program; - "info sources" has been enhance to allow only printing files whose name match a REGEXP; - New value "presence" for the "set print frame-arguments" setting, to only indicate the presence of arguments with '...' instead of printing the argument names and values; - The "focus", "winheight", "+", "-", ">", "<" TUI commands are now case sensitive; - New options support for the following commands that allow overriding a number of relevant global settings (as set by e.g. "set print [...]" commands): "print", "compile print", "backtrace", "frame apply", "tfaas", "faas"; - "info types" support for "-q" to disable printing of some header information; - In settings, "unlimited" can now be abbreviated with "u". * New commands: - "define-prefix" to define user-defined prefix commands; - "|" or "pipe" to execute a command and send its output to a shell command. - "with" to run a given command with a setting temporarily changed to a given value; - "set may-call-functions" to control whether subprogram can be called from GDB; - "set print finish [on|off]" to control whether the returned value should be printed when using the "finish" command; - "set print max-depth" to simplify the printing of deeply nested structures; - "set print raw-values [on|off]" to turn on and off pretty printers; - "set logging debugredirect [on|off]" to control whether to redirect debug output to the log file; - Various new "set style" commands; - "set print frame-info [...]" to control what information to print when printing a frame. - "set tui compact-source" to enable the "compact" mode for the TUI source window; - "info modules [...]" to query information about Fortran modules; - The "set/show print raw-frame-arguments" commands replace the "set/show print raw frame-arguments" (now with a dash instead of a space). The latter is now deprecated and may be removed in a future release. * New GDB/MI commands - "-complete" to list possible completions; - "-catch-throw", "-catch-rethrow", and "-catch-catch", the GDB/MI equivalent of the "catch throw", "catch rethrow", and "catch catch" commands (respectively); - "-symbol-info-functions", "-symbol-info-types", and "-symbol-info-variables", the GDB/MI equivalent of the "info functions", "info types", and "info variables" commands (respectively); - "-symbol-info-modules", "-symbol-info-module-functions", and "-symbol-info-module-variables", the GDB/MI equivalent of "info modules", "info module functions" and "info module variables". * Other MI changes - The default version of the MI interpreter is now 3 (-i=mi3); - The output of information about multi-location breakpoints (which is syntactically incorrect in MI 2) has changed in MI 3; - Backtraces and frames include a new optional field "addr_flags". * Several new builtin convenience variables - $_gdb_major and $_gdb_minor; - $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting and $_gdb_maint_setting_str - $_cimag and $_creal - $_shell_exitcode and $_shell_exitsignal * Miscellaneous enhancements: - Support for a new configure option "--with-system-gdbinit-dir", where system gdbinit files are to be loaded from at startup; - 'thread-exited' event is now available in the annotations interface; - The TUI SingleKey keymap is now named "SingleKey" (requires GNU readline >= 8.0). 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-9.1-release -- Joel Brobecker -- If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.