What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 7.7
+*** Changes since GDB 7.8
+
+* GDB now supports hardware watchpoints on x86 GNU Hurd.
+
+* Python Scripting
+
+ ** You can now access frame registers from Python scripts.
+ ** New attribute 'producer' for gdb.Symtab objects.
+ ** gdb.Objfile objects have a new attribute "progspace",
+ which is the gdb.Progspace object of the containing program space.
+ ** A new event "gdb.clear_objfiles" has been added, triggered when
+ selecting a new file to debug.
+ ** You can now add attributes to gdb.Objfile and gdb.Progspace objects.
+
+* New Python-based convenience functions:
+
+ ** $_caller_is(name [, number_of_frames])
+ ** $_caller_matches(regexp [, number_of_frames])
+ ** $_any_caller_is(name [, number_of_frames])
+ ** $_any_caller_matches(regexp [, number_of_frames])
+
+* New commands
+
+queue-signal signal-name-or-number
+ Queue a signal to be delivered to the thread when it is resumed.
+
+add-auto-load-scripts-directory directory
+ Add entries to the list of directories from which to load auto-loaded
+ scripts.
+
+* On resume, GDB now always passes the signal the program had stopped
+ for to the thread the signal was sent to, even if the user changed
+ threads before resuming. Previously GDB would often (but not
+ always) deliver the signal to the thread that happens to be current
+ at resume time.
+
+* Conversely, the "signal" command now consistently delivers the
+ requested signal to the current thread. GDB now asks for
+ confirmation if the program had stopped for a signal and the user
+ switched threads meanwhile.
+
+* "breakpoint always-inserted" modes "off" and "auto" merged.
+
+ Now, when 'breakpoint always-inserted mode' is set to "off", GDB
+ won't remove breakpoints from the target until all threads stop,
+ even in non-stop mode. The "auto" mode has been removed, and "off"
+ is now the default mode.
+
+* MI changes
+
+ ** The -list-thread-groups command outputs an exit-code field for
+ inferiors that have exited.
+
+* Removed targets
+
+Support for these obsolete configurations has been removed.
+
+Alpha running OSF/1 (or Tru64) alpha*-*-osf*
+SGI Irix-5.x mips-*-irix5*
+SGI Irix-6.x mips-*-irix6*
+VAX running (4.2 - 4.3 Reno) BSD vax-*-bsd*
+VAX running Ultrix vax-*-ultrix*
+
+*** Changes in GDB 7.8
+
+* New command line options
+
+-D data-directory
+ This is an alias for the --data-directory option.
+
+* GDB supports printing and modifying of variable length automatic arrays
+ as specified in ISO C99.
+
+* The ARM simulator now supports instruction level tracing
+ with or without disassembly.
+
+* Guile scripting
+
+ GDB now has support for scripting using Guile. Whether this is
+ available is determined at configure time.
+ Guile version 2.0 or greater is required.
+ Guile version 2.0.9 is well tested, earlier 2.0 versions are not.
+
+* New commands (for set/show, see "New options" below)
+
+guile [code]
+gu [code]
+ Invoke CODE by passing it to the Guile interpreter.
+
+guile-repl
+gr
+ Start a Guile interactive prompt (or "repl" for "read-eval-print loop").
+
+info auto-load guile-scripts [regexp]
+ Print the list of automatically loaded Guile scripts.
+
+* The source command is now capable of sourcing Guile scripts.
+ This feature is dependent on the debugger being built with Guile support.
* New options
+set print symbol-loading (off|brief|full)
+show print symbol-loading
+ Control whether to print informational messages when loading symbol
+ information for a file. The default is "full", but when debugging
+ programs with large numbers of shared libraries the amount of output
+ becomes less useful.
+
+set guile print-stack (none|message|full)
+show guile print-stack
+ Show a stack trace when an error is encountered in a Guile script.
+
+set auto-load guile-scripts (on|off)
+show auto-load guile-scripts
+ Control auto-loading of Guile script files.
+
maint ada set ignore-descriptive-types (on|off)
maint ada show ignore-descriptive-types
Control whether the debugger should ignore descriptive types in Ada
the user manual for more details on descriptive types and the intended
usage of this option.
+set auto-connect-native-target
+
+ Control whether GDB is allowed to automatically connect to the
+ native target for the run, attach, etc. commands when not connected
+ to any target yet. See also "target native" below.
+
+set record btrace replay-memory-access (read-only|read-write)
+show record btrace replay-memory-access
+ Control what memory accesses are allowed during replay.
+
+maint set target-async (on|off)
+maint show target-async
+ This controls whether GDB targets operate in synchronous or
+ asynchronous mode. Normally the default is asynchronous, if it is
+ available; but this can be changed to more easily debug problems
+ occurring only in synchronous mode.
+
+set mi-async (on|off)
+show mi-async
+ Control whether MI asynchronous mode is preferred. This supersedes
+ "set target-async" of previous GDB versions.
+
+* "set target-async" is deprecated as a CLI option and is now an alias
+ for "set mi-async" (only puts MI into async mode).
+
+* Background execution commands (e.g., "c&", "s&", etc.) are now
+ possible ``out of the box'' if the target supports them. Previously
+ the user would need to explicitly enable the possibility with the
+ "set target-async on" command.
+
* New features in the GDB remote stub, GDBserver
** New option --debug-format=option1[,option2,...] allows one to add
* The "catch syscall" command now works on s390*-linux* targets.
+* The "compare-sections" command is no longer specific to target
+ remote. It now works with all targets.
+
+* All native targets are now consistently called "native".
+ Consequently, the "target child", "target GNU", "target djgpp",
+ "target procfs" (Solaris/Irix/OSF/AIX) and "target darwin-child"
+ commands have been replaced with "target native". The QNX/NTO port
+ leaves the "procfs" target in place and adds a "native" target for
+ consistency with other ports. The impact on users should be minimal
+ as these commands previously either throwed an error, or were
+ no-ops. The target's name is visible in the output of the following
+ commands: "help target", "info target", "info files", "maint print
+ target-stack".
+
+* The "target native" command now connects to the native target. This
+ can be used to launch native programs even when "set
+ auto-connect-native-target" is set to off.
+
+* GDB now supports access to Intel(R) MPX registers on GNU/Linux.
+
+* Support for Intel(R) AVX-512 registers on GNU/Linux.
+ Support displaying and modifying Intel(R) AVX-512 registers
+ $zmm0 - $zmm31 and $k0 - $k7 on GNU/Linux.
+
* New remote packets
qXfer:btrace:read's annex
The qXfer:btrace:read packet supports a new annex 'delta' to read
branch trace incrementally.
+* Python Scripting
+
+ ** Valid Python operations on gdb.Value objects representing
+ structs/classes invoke the corresponding overloaded operators if
+ available.
+ ** New `Xmethods' feature in the Python API. Xmethods are
+ additional methods or replacements for existing methods of a C++
+ class. This feature is useful for those cases where a method
+ defined in C++ source code could be inlined or optimized out by
+ the compiler, making it unavailable to GDB.
+
* New targets
PowerPC64 GNU/Linux little-endian powerpc64le-*-linux*
+* The "dll-symbols" command, and its two aliases ("add-shared-symbol-files"
+ and "assf"), have been deprecated. Use the "sharedlibrary" command, or
+ its alias "share", instead.
+
+* The commands "set remotebaud" and "show remotebaud" are no longer
+ supported. Use "set serial baud" and "show serial baud" (respectively)
+ instead.
+
+* MI changes
+
+ ** A new option "-gdb-set mi-async" replaces "-gdb-set
+ target-async". The latter is left as a deprecated alias of the
+ former for backward compatibility. If the target supports it,
+ CLI background execution commands are now always possible by
+ default, independently of whether the frontend stated a
+ preference for asynchronous execution with "-gdb-set mi-async".
+ Previously "-gdb-set target-async off" affected both MI execution
+ commands and CLI execution commands.
+
*** Changes in GDB 7.7
* Improved support for process record-replay and reverse debugging on
two different machines, type ``./configure host -target=targ''.
Host is the machine where GDB will run; targ is the machine
where the program that you are debugging will run.
-
- * GDB now supports access to Intel(R) MPX registers on GNU/Linux.