What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 7.7
+* Python Scripting
+
+ New events which are triggered when GDB modifies the state of the
+ inferior.
+
+ ** gdb.events.inferior_call_pre: Function call is about to be made.
+ ** gdb.events.inferior_call_post: Function call has just been made.
+ ** gdb.events.memory_changed: A memory location has been altered.
+ ** gdb.events.register_changed: A register has been altered.
+
+*** 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
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
+ 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 syncronous mode.
+ occurring only in synchronous mode.
set mi-async (on|off)
show mi-async
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*
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.