X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=8405bd06320aa70e438e182820aaabfae9fccb63;hb=5018ce90c1205d79f29adf954b0fd5e613d08430;hp=947b743533744a30e11bc0cb38921ca5077455ae;hpb=6a062a93d70e08ddc23c0a940a8c20eea48e6904;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 947b743533..8405bd0632 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,16 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 8.3 +*** Changes since GDB 9 + +* Debugging MS-Windows processes now sets $_exitsignal when the + inferior is terminated by a signal, instead of setting $_exitcode. + +* Multithreaded symbol loading has now been enabled by default on systems + that support it (see entry for GDB 9, below), providing faster + performance for programs with many symbols. + +*** Changes in GDB 9 * 'thread-exited' event is now available in the annotations interface. @@ -11,6 +20,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,6 +42,12 @@ 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 @@ -34,6 +55,28 @@ * 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 @@ -53,6 +96,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. @@ -69,6 +115,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. @@ -108,6 +157,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. @@ -122,11 +177,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 @@ -135,6 +211,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 @@ -186,6 +294,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 @@ -207,6 +318,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] @@ -251,11 +363,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 @@ -299,8 +411,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 @@ -323,6 +460,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 @@ -488,8 +644,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 @@ -499,18 +653,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*