X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=25e67e43c88ab0123a84effba2ae37cef9062a63;hb=3a49427939764f53e196ae10013c72fcffb8c085;hp=9e1462b6bfdbb57e84febc8a597e8f594bcf7908;hpb=1a3da2cd6175e8f25cec95fc685d4f0f43bf6807;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 9e1462b6bf..25e67e43c8 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -16,11 +16,36 @@ 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 @@ -32,9 +57,19 @@ ** 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 @@ -46,6 +81,21 @@ pipe -d DELIM COMMAND DELIM SHELL_COMMAND 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 @@ -84,6 +134,19 @@ set style highlight background COLOR set style highlight intensity VALUE Control the styling of highlightings. +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 @@ -98,11 +161,147 @@ apropos [-v] REGEXP 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 + + These commands replace the similarly-named "set/show print raw + frame-arguments" commands (now with a dash instead of a space). The + old commands are now deprecated and may be removed in a future + release. + +maint test-options require-delimiter +maint test-options unknown-is-error +maint test-options unknown-is-operand +maint show test-options-completion-result + 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 + options ('-OPT'). One benefit is that commands that use it can + easily support completion of command line arguments. Try "CMD + -[TAB]" or "help CMD" to find options supported by a command. Over + time, we intend to migrate most commands to this infrastructure. A + number of commands got support for new command options in this + release: + + ** The "print" and "compile print" commands now support a number of + options that allow overriding relevant global print settings as + set by "set print" subcommands: + + -address [on|off] + -array [on|off] + -array-indexes [on|off] + -elements NUMBER|unlimited + -null-stop [on|off] + -object [on|off] + -pretty [on|off] + -repeats NUMBER|unlimited + -static-members [on|off] + -symbol [on|off] + -union [on|off] + -vtbl [on|off] + + Note that because the "print"/"compile print" commands accept + arbitrary expressions which may look like options (including + abbreviations), if you specify any command option, then you must + use a double dash ("--") to mark the end of argument processing. + + ** The "backtrace" command now supports a number of options that + allow overriding relevant global print settings as set by "set + backtrace" and "set print" subcommands: + + -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] + + In addition, the full/no-filters/hide qualifiers are now also + exposed as command options too: + + -full + -no-filters + -hide + + ** The "frame apply", "tfaas" and "faas" commands similarly now + support the following options: + + -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, + like for example: + + (gdb) p -r -p -o 0 -- *myptr + + The above is equivalent to: + + (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. + + ** GDB can now complete the backtrace command's + "full/no-filters/hide" qualifiers. + +* In settings, you can now abbreviate "unlimited". + + E.g., "set print elements u" is now equivalent to "set print + elements unlimited". * New MI commands @@ -111,6 +310,31 @@ show style 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 @@ -118,6 +342,30 @@ show style 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 @@ -283,8 +531,6 @@ set style address intensity VALUE * 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 @@ -294,18 +540,6 @@ set style address intensity VALUE ** 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*