GDB 15.2 released! Release 15.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 83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d gdb-15.2.tar.xz 40MiB 9d16bc2539a2a20dc3ef99b48b8414d51c51305c8577eb7a1da00996f6dea223 gdb-15.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 15.2 brings the following fixes and enhancements over GDB 14.1: * PR gdb/31727 (-exec-next fails in mingw (infrun.c:2794: internal-error: resume_1: Assertion `pc_in_thread_step_range (pc, tp)' failed)) * PR c++/31900 (libstdc++-prettyprinters/debug.cc print redirected fails since gdb-14-branchpoint-2123-g4e417d7bb1c) * PR python/31946 (sys.exit from Python no longer exits the GDB process) * PR record/31971 (Loading a saved record file asserts if we try to execute the inferior) * PR gdb/32005 (frv_current_sos doesn't set solib::lm_info) * PR exp/32015 (GDB crashes while printing large D array) * PR gdb/32025 (Fatal error when the disassemble command is interrupted with SIGINT) * PR gdb/32143 ([15 Regression] arch/amd64.c:71: internal-error: amd64_create_target_description: Assertion `!is_x32' failed) * PR symtab/32158 ([gdb/symtab] enum class enumerator has incorrect parent in cooked index) * PR symtab/32160 ([gdb/symtab] Parent map: die parent or scope parent?) GDB 15.1 includes the following changes and enhancements: * Building GDB and GDBserver now requires a C++17 compiler (for instance, GCC 9 or later). * Enhanced Python support ** New function gdb.notify_mi(NAME, DATA), that emits custom GDB/MI async notification. ** New read/write attribute gdb.Value.bytes that contains a bytes object holding the contents of this value. ** New module gdb.missing_debug that facilitates dealing with objfiles that are missing any debug information. ** New function gdb.missing_debug.register_handler that can register an instance of a sub-class of gdb.missing_debug.MissingDebugInfo as a handler for objfiles that are missing debug information. ** New class gdb.missing_debug.MissingDebugInfo which can be sub-classed to create handlers for objfiles with missing debug information. ** Stop events now have a "details" attribute that holds a dictionary that carries the same information as an MI "*stopped" event. ** New function gdb.interrupt(), that interrupts GDB as if the user typed control-c. ** New gdb.InferiorThread.ptid_string attribute. This read-only attribute contains the string that appears in the 'Target Id' column of the 'info threads' command output. ** It is no longer possible to create new gdb.Progspace object using 'gdb.Progspace()', this will result in a TypeError. Progspace objects can still be obtained through calling other API functions, for example 'gdb.current_progspace()'. ** User defined attributes can be added to a gdb.Inferior object, these will be stored in the object's new Inferior.__dict__ attribute. ** User defined attributes can be added to a gdb.InferiorThread object, these will be stored in the object's new InferiorThread.__dict__ attribute. ** New constants gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN, and gdb.SEARCH_*_DOMAIN * Debugger Adapter Protocol changes ** GDB now emits the "process" event. ** GDB now supports the "cancel" request. ** The "attach" request now supports specifying the program. ** New command "set debug dap-log-level" controls DAP logging. * Remote protocol ** New stop reason: clone ** QThreadOptions in qSupported ** New remote packets: QThreadOptions, qIsAddressTagged ** New "set/show remote thread-options-packet" commands * GDBserver ** The --remote-debug and --event-loop-debug command line options have been removed. ** The --debug command line option now takes an optional comma separated list of components to emit debug for. The currently supported components are: all, threads, event-loop, and remote. If no components are given then threads is assumed. ** The 'monitor set remote-debug' and 'monitor set event-loop-debug' command have been removed. ** The 'monitor set debug 0|1' command has been extended to take a component name, e.g.: 'monitor set debug COMPONENT off|on'. Possible component names are: all, threads, event-loop, and remote. * Deprecated or removed ** The MPX commands "show/set mpx bound" have been deprecated, as Intel listed MPX as removed in 2019. * Miscellaneous ** Guile API: New constants SYMBOL_TYPE_DOMAIN, SYMBOL_FUNCTION_DOMAIN, and SEARCH_*_DOMAIN ** New "set/show direct-call-timeout" commands. ** New "set/show indirect-call-timeout" commands. ** New "set/show unwind-on-timeout on|off" commands. ** New "set/show unwind-on-signal on|off" commands, renaming the old "set/show unwindonsignal" commands. The old commands are maintained as an alias. ** The "gcore" and "generate-core-file" commands now generates sparse core files, on systems that support it. ** The "maintenance info line-table" command now includes a new EPILOGUE-BEGIN column indicating the start of the function's epilogue. ** Simultaneous use of the 'r' and 'b' flags in the "disassemble" command now triggers an error. 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-15.2-release