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.
+
+* 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.
+
+* 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*-*-osf*
+mips-sgi-irix5*
+mips-sgi-irix6*
+
+*** 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 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 syncronous or
+ asyncronous mode. Normally the default is asyncronous, if it is
+ available; but this can be changed to more easily debug problems
+ occurring only in syncronous 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
** 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*
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.
-
- * 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.