What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 8.0
+*** Changes since GDB 8.1
+
+* 'info proc' now works on running processes on FreeBSD systems and core
+ files created on FreeBSD systems.
+
+*** Changes in GDB 8.1
+
+* GDB now supports dynamically creating arbitrary register groups specified
+ in XML target descriptions. This allows for finer grain grouping of
+ registers on systems with a large amount of registers.
+
+* The 'ptype' command now accepts a '/o' flag, which prints the
+ offsets and sizes of fields in a struct, like the pahole(1) tool.
+
+* New "--readnever" command line option instructs GDB to not read each
+ symbol file's symbolic debug information. This makes startup faster
+ but at the expense of not being able to perform symbolic debugging.
+ This option is intended for use cases where symbolic debugging will
+ not be used, e.g., when you only need to dump the debuggee's core.
* GDB now uses the GNU MPFR library, if available, to emulate target
floating-point arithmetic during expression evaluation when the target
** The "complete" command now mimics TAB completion accurately.
+* New command line options (gcore)
+
+-a
+ Dump all memory mappings.
+
+* Breakpoints on C++ functions are now set on all scopes by default
+
+ By default, breakpoints on functions/methods are now interpreted as
+ specifying all functions with the given name ignoring missing
+ leading scopes (namespaces and classes).
+
+ For example, assuming a C++ program with symbols named:
+
+ A::B::func()
+ B::func()
+
+ both commands "break func()" and "break B::func()" set a breakpoint
+ on both symbols.
+
+ You can use the new flag "-qualified" to override this. This makes
+ GDB interpret the specified function name as a complete
+ fully-qualified name instead. For example, using the same C++
+ program, the "break -q B::func" command sets a breakpoint on
+ "B::func", only. A parameter has been added to the Python
+ gdb.Breakpoint constructor to achieve the same result when creating
+ a breakpoint from Python.
+
+* Breakpoints on functions marked with C++ ABI tags
+
+ GDB can now set breakpoints on functions marked with C++ ABI tags
+ (e.g., [abi:cxx11]). See here for a description of ABI tags:
+ https://developers.redhat.com/blog/2015/02/05/gcc5-and-the-c11-abi/
+
+ Functions with a C++11 abi tag are demangled/displayed like this:
+
+ function[abi:cxx11](int)
+ ^^^^^^^^^^^
+
+ You can now set a breakpoint on such functions simply as if they had
+ no tag, like:
+
+ (gdb) b function(int)
+
+ Or if you need to disambiguate between tags, like:
+
+ (gdb) b function[abi:other_tag](int)
+
+ Tab completion was adjusted accordingly as well.
+
* Python Scripting
** New events gdb.new_inferior, gdb.inferior_deleted, and
command allows the setting of a large number of breakpoints via a
regex pattern in Python. See the manual for further details.
+ ** Python breakpoints can now accept explicit locations. See the
+ manual for a further description of this feature.
+
+
* New features in the GDB remote stub, GDBserver
** GDBserver is now able to start inferior processes with a
information is provided as an extra field named "exception-message"
in the *stopped notification.
+* Trait objects can now be inspected When debugging Rust code. This
+ requires compiler support which will appear in Rust 1.24.
+
* New remote packets
QEnvironmentHexEncoded
show debug separate-debug-file
Control the display of debug output about separate debug file search.
+set dump-excluded-mappings
+show dump-excluded-mappings
+ Control whether mappings marked with the VM_DONTDUMP flag should be
+ dumped when generating a core file.
+
maint info selftests
List the registered selftests.
starti
Start the debugged program stopping at the first instruction.
+set|show debug or1k
+ Control display of debugging messages related to OpenRISC targets.
+
+set|show print type nested-type-limit
+ Set and show the limit of nesting level for nested types that the
+ type printer will show.
+
* TUI Single-Key mode now supports two new shortcut keys: `i' for stepi and
`o' for nexti.
FreeBSD/aarch64 aarch64*-*-freebsd*
FreeBSD/arm arm*-*-freebsd*
+OpenRISC ELF or1k*-*-elf
* Removed targets and native configurations
* Support for reading/writing memory and extracting values on architectures
whose memory is addressable in units of any integral multiple of 8 bits.
+catch handlers
+ Allows to break when an Ada exception is handled.
+
* New remote packets
exec stop reason