X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=ee10914fd870696288e3e6b75bbbbc86fa2b35de;hb=aa989b27d0bad451455416953c0e5026e229863a;hp=f382e887c0c203ac51765c0f04c81d7011021ed6;hpb=4acfdd20c9ef3c0368868b4221554f0abef04196;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index f382e887c0..ee10914fd8 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,9 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 8.3 +*** Changes since GDB 9 + +*** Changes in GDB 9 * 'thread-exited' event is now available in the annotations interface. @@ -11,6 +13,12 @@ scripts that should work error-free with many different versions, such as in system-wide init files. +* New built-in convenience functions $_gdb_setting, $_gdb_setting_str, + $_gdb_maint_setting and $_gdb_maint_setting_str provide access to values + of the GDB settings and the GDB maintenance settings. They are handy + for changing the logic of user defined commands depending on the + current GDB settings. + * GDB now supports Thread Local Storage (TLS) variables on several FreeBSD architectures (amd64, i386, powerpc, riscv). Other architectures require kernel changes. TLS is not yet supported for @@ -27,8 +35,41 @@ provide the exitcode or exit status of the shell commands launched by GDB commands such as "shell", "pipe" and "make". +* The command define-prefix can now define user defined prefix commands. + User defined commands can now be defined using these user defined prefix + commands. + +* Command names can now use the . character. + * 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. + +* In addition to the system-wide gdbinit file, if configured with + --with-system-gdbinit-dir, GDB will now also load files in that directory + as system gdbinit files, unless the -nx or -n flag is provided. Files + with extensions .gdb, .py and .scm are supported as long as GDB was + compiled with support for that language. + +* GDB now supports multithreaded symbol loading for higher performance. + This feature is still in testing, so it is disabled by default. You + can turn it on using 'maint set worker-threads unlimited'. + * Python API ** The gdb.Value type has a new method 'format_string' which returns a @@ -48,6 +89,9 @@ ** The new function gdb.lookup_static_symbol can be used to look up symbols with static linkage. + ** The new function gdb.lookup_static_symbols can be used to look up + all static symbols with static linkage. + ** gdb.Objfile has new methods 'lookup_global_symbol' and 'lookup_static_symbol' to lookup a symbol from this objfile only. @@ -64,6 +108,9 @@ pipe -d DELIM COMMAND DELIM SHELL_COMMAND With no COMMAND, repeat the last executed command and send its output to SHELL_COMMAND. +define-prefix COMMAND + Define or mark a command as a user-defined prefix command. + with SETTING [VALUE] [-- COMMAND] w SETTING [VALUE] [-- COMMAND] Temporarily set SETTING, run COMMAND, and restore SETTING. @@ -103,6 +150,12 @@ show print max-depth The default max-depth is 20, but this can be set to unlimited to get the old behavior back. +set print raw-values [on|off] +show print raw-values + By default, GDB applies the enabled pretty printers when printing a + value. This allows to ignore the enabled pretty printers for a series + of commands. The default is 'off'. + set logging debugredirect [on|off] By default, GDB debug output will go to both the terminal and the logfile. Set if you want debug output to go only to the log file. @@ -117,11 +170,32 @@ set style highlight background COLOR set style highlight intensity VALUE Control the styling of highlightings. +maint set worker-threads +maint show worker-threads + Control the number of worker threads that can be used by GDB. The + default is 0. "unlimited" lets GDB choose a number that is + reasonable. Currently worker threads are only used when demangling + the names of linker symbols. + +set style tui-border foreground COLOR +set style tui-border background COLOR + Control the styling of TUI borders. + +set style tui-active-border foreground COLOR +set style tui-active-border background COLOR + Control the styling of the active TUI border. + maint set test-settings KIND maint show test-settings KIND A set of commands used by the testsuite for exercising the settings infrastructure. +maint set tui-resize-message [on|off] +maint show tui-resize-message + Control whether GDB prints a message each time the terminal is + resized when in TUI mode. This is primarily useful for testing the + TUI. + set print frame-info [short-location|location|location-and-address |source-and-location|source-line|auto] show print frame-info @@ -130,6 +204,38 @@ show print frame-info 'frame', 'stepi'. The python frame filtering also respect this setting. The 'backtrace' '-frame-info' option can override this global setting. +set tui compact-source +show tui compact-source + + Enable the "compact" display mode for the TUI source window. The + compact display uses only as much space as is needed for the line + numbers in the current file, and only a single space to separate the + line numbers from the source. + +info modules [-q] [REGEXP] + Return a list of Fortran modules matching REGEXP, or all modules if + no REGEXP is given. + +info module functions [-q] [-m MODULE_REGEXP] [-t TYPE_REGEXP] [REGEXP] + Return a list of functions within all modules, grouped by module. + The list of functions can be restricted with the optional regular + expressions. MODULE_REGEXP matches against the module name, + TYPE_REGEXP matches against the function type signature, and REGEXP + matches against the function name. + +info module variables [-q] [-m MODULE_REGEXP] [-t TYPE_REGEXP] [REGEXP] + Return a list of variables within all modules, grouped by module. + The list of variables can be restricted with the optional regular + expressions. MODULE_REGEXP matches against the module name, + TYPE_REGEXP matches against the variable type, and REGEXP matches + against the variable name. + +set debug remote-packet-max-chars +show debug remote-packet-max-chars + Controls the number of characters to output in a remote packet when using + "set debug remote". + The default is 512 bytes. + * Changed commands help @@ -181,6 +287,9 @@ 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 @@ -202,6 +311,7 @@ maint show test-options-completion-result -null-stop [on|off] -object [on|off] -pretty [on|off] + -raw-values [on|off] -repeats NUMBER|unlimited -static-members [on|off] -symbol [on|off] @@ -246,11 +356,11 @@ maint show test-options-completion-result "on" if omitted. This allows writing compact command invocations, like for example: - (gdb) p -r -p -o 0 -- *myptr + (gdb) p -ra -p -o 0 -- *myptr The above is equivalent to: - (gdb) print -raw -pretty -object off -- *myptr + (gdb) print -raw-values -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 @@ -294,8 +404,33 @@ maint show test-options-completion-result These can be used to catch C++ exceptions in a similar fashion to the CLI commands 'catch throw', 'catch rethrow', and 'catch catch'. +-symbol-info-functions, -symbol-info-types, and -symbol-info-variables + These commands are the MI equivalent of the CLI commands 'info + functions', 'info types', and 'info variables' respectively. + +-symbol-info-modules, this is the MI equivalent of the CLI 'info + modules' command. + +-symbol-info-module-functions and -symbol-info-module-variables. + These commands are the MI equivalent of the CLI commands 'info + module functions' and 'info module variables'. + * 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 @@ -318,6 +453,25 @@ maint show test-options-completion-result 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 + +* Removed targets and native configurations + +Solaris 10 i?86-*-solaris2.10, x86_64-*-solaris2.10, + sparc*-*-solaris2.10 + *** Changes in GDB 8.3 * GDB and GDBserver now support access to additional registers on @@ -483,8 +637,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 @@ -494,18 +646,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*