architectures require kernel changes. TLS is not yet supported for
amd64 and i386 process core dumps.
-* Support for Pointer Authentication on AArch64 Linux.
+* Support for Pointer Authentication (PAC) on AArch64 Linux. Return
+ addresses that required unmasking are shown in the backtrace with the
+ postfix [PAC].
* Two new convenience functions $_cimag and $_creal that extract the
imaginary and real parts respectively from complex numbers.
provide the exitcode or exit status of the shell commands launched by
GDB commands such as "shell", "pipe" and "make".
+* The RX port now supports XML target descriptions.
+
+* GDB now shows the Ada task names at more places, e.g. in task switching
+ messages.
+
+* GDB can now be compiled with Python 3 on Windows.
+
+* New convenience variable $_ada_exception holds the address of the
+ Ada exception being thrown. This is set by Ada-related catchpoints.
+
+* GDB can now place breakpoints on nested functions and subroutines in
+ Fortran code. The '::' operator can be used between parent and
+ child scopes when placing breakpoints, for example:
+
+ (gdb) break outer_function::inner_function
+
+ The 'outer_function::' prefix is only needed if 'inner_function' is
+ not visible in the current scope.
+
* Python API
** The gdb.Value type has a new method 'format_string' which returns a
there are no filters, or when the 'backtrace' '-no-filters' option
is given.
+ ** The new function gdb.lookup_static_symbol can be used to look up
+ symbols with static linkage.
+
** gdb.Objfile has new methods 'lookup_global_symbol' and
'lookup_static_symbol' to lookup a symbol from this objfile only.
+ ** gdb.Block now supports the dictionary syntax for accessing symbols in
+ this block (e.g. block['local_variable']).
+
* New commands
| [COMMAND] | SHELL_COMMAND
This allows to do formatted printing of strings without having
a running inferior, or when debugging a core dump.
+info sources [-dirname | -basename] [--] [REGEXP]
+ This command has now optional arguments to only print the files
+ whose names match REGEXP. The arguments -dirname and -basename
+ allow to restrict matching respectively to the dirname and basename
+ parts of the files.
+
show style
The "show style" and its subcommands are now styling
a style name in their output using its own style, to help
Commands used by the testsuite to validate the command options
framework.
+focus, winheight, +, -, >, <
+ These commands are now case-sensitive.
+
* New command options, command completion
GDB now has a standard infrastructure to support dash-style command
-past-main [on|off]
-past-entry [on|off]
+ ** The new "info sources" options -dirname and -basename options
+ are using the standard '-OPT' infrastructure.
+
All options above can also be abbreviated. The argument of boolean
(on/off) options can be 0/1 too, and also the argument is assumed
"on" if omitted. This allows writing compact command invocations,
printing of some header information in a similar fashion to "info
variables" and "info functions".
+ ** The "info variables", "info functions", and "whereis" commands
+ now take a '-n' flag that excludes non-debug symbols (symbols
+ from the symbol table, not from the debug info such as DWARF)
+ from the results.
+
* Completion improvements
** GDB can now complete the options of the "thread apply all" and
These can be used to catch C++ exceptions in a similar fashion to
the CLI commands 'catch throw', 'catch rethrow', and 'catch catch'.
+* Other MI changes
+
+ ** The default version of the MI interpreter is now 3 (-i=mi3).
+
+ ** The output of information about multi-location breakpoints (which is
+ syntactically incorrect in MI 2) has changed in MI 3. This affects
+ the following commands and events:
+
+ - -break-insert
+ - -break-info
+ - =breakpoint-created
+ - =breakpoint-modified
+
+ The -fix-multi-location-breakpoint-output command can be used to enable
+ this behavior with previous MI versions.
+
+ ** Backtraces and frames include a new optional field addr_flags which is
+ given after the addr field. On AArch64 this contains PAC if the address
+ has been masked in the frame. On all other targets the field is not
+ present.
+
* Testsuite
The testsuite now creates the files gdb.cmd (containing the arguments
GDB) in the output directory for each test script. Multiple invocations
are appended with .1, .2, .3 etc.
+* Building GDB and GDBserver now requires GNU make >= 3.82.
+
+ Using another implementation of the make program or an earlier version of
+ GNU make to build GDB or GDBserver is not supported.
+
+* Building GDB now requires GNU readline >= 7.0.
+
+ GDB now bundles GNU readline 8.0, but if you choose to use
+ --with-system-readline, only readline >= 7.0 can be used.
+
+* The TUI SingleKey keymap is now named "SingleKey". This can be used
+ from .inputrc to bind keys in this keymap. This feature is only
+ available when gdb is built against GNU readline 8.0 or later.
+
+* Removed targets and native configurations
+
+ GDB no longer supports debugging the Cell Broadband Engine. This includes
+ both debugging standalone Cell/B.E. SPU applications and integrated debugging
+ of Cell/B.E. applications that use both the PPU and SPU architectures.
+
+* New Simulators
+
+TI PRU pru-*-elf
+
*** Changes in GDB 8.3
* GDB and GDBserver now support access to additional registers on
* MI changes
- ** The default version of the MI interpreter is now 3 (-i=mi3).
-
** The '-data-disassemble' MI command now accepts an '-a' option to
disassemble the whole function surrounding the given program
counter value or function name. Support for this feature can be
** Command responses and notifications that include a frame now include
the frame's architecture in a new "arch" attribute.
- ** The output of information about multi-location breakpoints (which is
- syntactically incorrect in MI 2) has changed in MI 3. This affects
- the following commands and events:
-
- - -break-insert
- - -break-info
- - =breakpoint-created
- - =breakpoint-modified
-
- The -fix-multi-location-breakpoint-output command can be used to enable
- this behavior with previous MI versions.
-
* New native configurations
GNU/Linux/RISC-V riscv*-*-linux*