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.
+* New built-in convenience variables $_shell_exitcode and $_shell_exitsignal
+ 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
** gdb.Type has a new property 'objfile' which returns the objfile the
type was defined in.
-* New built-in convenience variables $_shell_exitcode and $_shell_exitsignal
- provide the exitcode or exit status of the shell commands launched by
- GDB commands such as "shell", "pipe" and "make".
+ ** The frame information printed by the python frame filtering code
+ is now consistent with what the 'backtrace' command prints when
+ 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
With no COMMAND, repeat the last executed command
and send its output to SHELL_COMMAND.
+with SETTING [VALUE] [-- COMMAND]
+w SETTING [VALUE] [-- COMMAND]
+ Temporarily set SETTING, run COMMAND, and restore SETTING.
+ Usage: with SETTING -- COMMAND
+ With no COMMAND, repeats the last executed command.
+ SETTING is any GDB setting you can change with the "set"
+ subcommands. For example, 'with language c -- print someobj'
+ temporarily switches to the C language in order to print someobj.
+ Settings can be combined: 'w lang c -- w print elements unlimited --
+ usercmd' switches to the C language and runs usercmd with no limit
+ of array elements to print.
+
+maint with SETTING [VALUE] [-- COMMAND]
+ Like "with", but works with "maintenance set" settings.
+
set may-call-functions [on|off]
show may-call-functions
This controls whether GDB will attempt to call functions in
set style highlight intensity VALUE
Control the styling of highlightings.
-maint test-settings KIND
+maint set test-settings KIND
+maint show test-settings KIND
A set of commands used by the testsuite for exercising the settings
infrastructure.
+set print frame-info [short-location|location|location-and-address
+ |source-and-location|source-line|auto]
+show print frame-info
+ This controls what frame information is printed by the commands printing
+ a frame. This setting will e.g. influence the behaviour of 'backtrace',
+ 'frame', 'stepi'. The python frame filtering also respect this setting.
+ The 'backtrace' '-frame-info' option can override this global setting.
+
* Changed commands
help
of matching commands and to use the highlight style to mark
the documentation parts matching REGEXP.
+printf
+eval
+ The GDB printf and eval commands can now print C-style and Ada-style
+ string convenience variables without calling functions in the program.
+ 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
the user visualize the different styles.
+set print frame-arguments
+ The new value 'presence' indicates to only indicate the presence of
+ arguments using ..., instead of printing argument names and values.
+
set print raw-frame-arguments
show print raw-frame-arguments
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
-entry-values no|only|preferred|if-needed|both|compact|default
-frame-arguments all|scalars|none
-raw-frame-arguments [on|off]
+ -frame-info auto|source-line|location|source-and-location
+ |location-and-address|short-location
-past-main [on|off]
-past-entry [on|off]
-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,
(gdb) print -raw -pretty -object off -- *myptr
+ ** The "info types" command now supports the '-q' flag to disable
+ 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
"taas" commands, and their "-ascending" option can now be
abbreviated.
+ ** GDB can now complete the options of the "info threads", "info
+ functions", "info variables", "info locals", and "info args"
+ commands.
+
** GDB can now complete the options of the "compile file" and
"compile code" commands. The "compile file" command now
completes on filenames.
were to be given as a command itself. This is intended for use by MI
frontends in cases when separate CLI and MI channels cannot be used.
+-catch-throw, -catch-rethrow, and -catch-catch
+ 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*