X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=b54a414abb51ea1cd7767250db30a25b8c9ad57f;hb=9fb5010805bdfe0eb8fc5db01e7f4c93b04c8f29;hp=eea99173f7dccb92d0d6f7842dd9db4ba26698bb;hpb=7f91dbec548e78c1a0d4f83dbb1527571bf7cf55;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index eea99173f7..b54a414abb 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,16 +1,157 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.6 +*** Changes since GDB 7.7 + +* Guile scripting + + GDB now has support for scripting using Guile. Whether this is + available is determined at configure time. + Guile version 2.0 or greater is required. + Guile version 2.0.9 is well tested, earlier 2.0 versions are not. + +* New commands (for set/show, see "New options" below) + +guile [code] +gu [code] + Invoke CODE by passing it to the Guile interpreter. + +guile-repl +gr + Start a Guile interactive prompt (or "repl" for "read-eval-print loop"). + +info auto-load guile-scripts [regexp] + Print the list of automatically loaded Guile scripts. + +* The source command is now capable of sourcing Guile scripts. + This feature is dependent on the debugger being built with Guile support. + +* New options + +set guile print-stack (none|message|full) +show guile print-stack + Show a stack trace when an error is encountered in a Guile script. + +set auto-load guile-scripts (on|off) +show auto-load guile-scripts + Control auto-loading of Guile script files. + +maint ada set ignore-descriptive-types (on|off) +maint ada show ignore-descriptive-types + Control whether the debugger should ignore descriptive types in Ada + programs. The default is not to ignore the descriptive types. See + the user manual for more details on descriptive types and the intended + usage of this option. + +* New features in the GDB remote stub, GDBserver + + ** New option --debug-format=option1[,option2,...] allows one to add + additional text to each output. At present only timestamps + are supported: --debug-format=timestamps. + Timestamps can also be turned on with the + "monitor set debug-format timestamps" command from GDB. + +* The 'record instruction-history' command now starts counting instructions + at one. This also affects the instruction ranges reported by the + 'record function-call-history' command when given the /i modifier. + +* The command 'record function-call-history' supports a new modifier '/c' to + indent the function names based on their call stack depth. + The fields for the '/i' and '/l' modifier have been reordered. + The source line range is now prefixed with 'at'. + The instruction range is now prefixed with 'inst'. + Both ranges are now printed as ', ' to allow copy&paste to the + "record instruction-history" and "list" commands. + +* The ranges given as arguments to the 'record function-call-history' and + 'record instruction-history' commands are now inclusive. + +* The btrace record target now supports the 'record goto' command. + For locations inside the execution trace, the back trace is computed + based on the information stored in the execution trace. + +* The btrace record target supports limited reverse execution and replay. + The target does not record data and therefore does not allow reading + memory or registers. + +* The "catch syscall" command now works on s390*-linux* targets. + +* New remote packets + +qXfer:btrace:read's annex + The qXfer:btrace:read packet supports a new annex 'delta' to read + branch trace incrementally. + +* New targets +PowerPC64 GNU/Linux little-endian powerpc64le-*-linux* + +*** Changes in GDB 7.7 + +* Improved support for process record-replay and reverse debugging on + arm*-linux* targets. Support for thumb32 and syscall instruction + recording has been added. + +* GDB now supports SystemTap SDT probes on AArch64 GNU/Linux. + +* GDB now supports Fission DWP file format version 2. + http://gcc.gnu.org/wiki/DebugFission + +* New convenience function "$_isvoid", to check whether an expression + is void. A void expression is an expression where the type of the + result is "void". For example, some convenience variables may be + "void" when evaluated (e.g., "$_exitcode" before the execution of + the program being debugged; or an undefined convenience variable). + Another example, when calling a function whose return type is + "void". + +* The "maintenance print objfiles" command now takes an optional regexp. + +* The "catch syscall" command now works on arm*-linux* targets. + +* GDB now consistently shows "" when printing values of + registers the debug info indicates have not been saved in the frame + and there's nowhere to retrieve them from + (callee-saved/call-clobbered registers): + + (gdb) p $rax + $1 = + + (gdb) info registers rax + rax + + Before, the former would print "", and the latter + "*value not available*". + +* New script contrib/gdb-add-index.sh for adding .gdb_index sections + to binaries. * Python scripting ** Frame filters and frame decorators have been added. + ** Temporary breakpoints are now supported. + ** Line tables representation has been added. + ** New attribute 'parent_type' for gdb.Field objects. + ** gdb.Field objects can be used as subscripts on gdb.Value objects. + ** New attribute 'name' for gdb.Type objects. * New targets Nios II ELF nios2*-*-elf Nios II GNU/Linux nios2*-*-linux +Texas Instruments MSP430 msp430*-*-elf + +* Removed native configurations + +Support for these a.out NetBSD and OpenBSD obsolete configurations has +been removed. ELF variants of these configurations are kept supported. + +arm*-*-netbsd* but arm*-*-netbsdelf* is kept supported. +i[34567]86-*-netbsd* but i[34567]86-*-netbsdelf* is kept supported. +i[34567]86-*-openbsd[0-2].* but i[34567]86-*-openbsd* is kept supported. +i[34567]86-*-openbsd3.[0-3] +m68*-*-netbsd* but m68*-*-netbsdelf* is kept supported. +sparc-*-netbsd* but sparc-*-netbsdelf* is kept supported. +vax-*-netbsd* but vax-*-netbsdelf* is kept supported. * New commands: catch rethrow @@ -31,8 +172,30 @@ maint set|show per-command time maint set|show per-command symtab Enable display of per-command gdb resource usage. +remove-symbol-file FILENAME +remove-symbol-file -a ADDRESS + Remove a symbol file added via add-symbol-file. The file to remove + can be identified by its filename or by an address that lies within + the boundaries of this symbol file in memory. + +info exceptions +info exceptions REGEXP + Display the list of Ada exceptions defined in the program being + debugged. If provided, only the exceptions whose names match REGEXP + are listed. + * New options +set debug symfile off|on +show debug symfile + Control display of debugging info regarding reading symbol files and + symbol tables within those files + +set print raw frame-arguments +show print raw frame-arguments + Set/show whether to print frame arguments in raw mode, + disregarding any defined pretty-printers. + set remote trace-status-packet show remote trace-status-packet Set/show the use of remote protocol qTStatus packet. @@ -45,12 +208,26 @@ set range-stepping show range-stepping Control whether target-assisted range stepping is enabled. +set startup-with-shell +show startup-with-shell + Specifies whether Unix child processes are started via a shell or + directly. + +set code-cache +show code-cache + Use the target memory cache for accesses to the code segment. This + improves performance of remote debugging (particularly disassembly). + * You can now use a literal value 'unlimited' for options that interpret 0 or -1 as meaning "unlimited". E.g., "set trace-buffer-size unlimited" is now an alias for "set trace-buffer-size -1" and "set height unlimited" is now an alias for "set height 0". +* The "set debug symtab-create" debugging option of GDB has been changed to + accept a verbosity level. 0 means "off", 1 provides basic debugging + output, and values of 2 or greater provides more verbose output. + * New command-line options --configuration Display the details of GDB configure-time options. @@ -69,13 +246,54 @@ show range-stepping * The exception-related catchpoints, like "catch throw", now accept a regular expression which can be used to filter exceptions by type. +* The new convenience variable $_exitsignal is automatically set to + the terminating signal number when the program being debugged dies + due to an uncaught signal. + * MI changes + ** All MI commands now accept an optional "--language" option. + Support for this feature can be verified by using the "-list-features" + command, which should contain "language-option". + + ** The new command -info-gdb-mi-command allows the user to determine + whether a GDB/MI command is supported or not. + + ** The "^error" result record returned when trying to execute an undefined + GDB/MI command now provides a variable named "code" whose content is the + "undefined-command" error code. Support for this feature can be verified + by using the "-list-features" command, which should contain + "undefined-command-error-code". + ** The -trace-save MI command can optionally save trace buffer in Common Trace Format now. ** The new command -dprintf-insert sets a dynamic printf breakpoint. + ** The command -data-list-register-values now accepts an optional + "--skip-unavailable" option. When used, only the available registers + are displayed. + + ** The new command -trace-frame-collected dumps collected variables, + computed expressions, tvars, memory and registers in a traceframe. + + ** The commands -stack-list-locals, -stack-list-arguments and + -stack-list-variables now accept an option "--skip-unavailable". + When used, only the available locals or arguments are displayed. + + ** The -exec-run command now accepts an optional "--start" option. + When used, the command follows the same semantics as the "start" + command, stopping the program's execution at the start of its + main subprogram. Support for this feature can be verified using + the "-list-features" command, which should contain + "exec-run-start-option". + + ** The new commands -catch-assert and -catch-exceptions insert + catchpoints stopping the program when Ada exceptions are raised. + + ** The new command -info-ada-exceptions provides the equivalent of + the new "info exceptions" command. + * New system-wide configuration scripts A GDB installation now provides scripts suitable for use as system-wide configuration scripts for the following systems: @@ -87,6 +305,13 @@ show range-stepping the number of control packets from/to GDB. See "New remote packets" below. +* GDB now understands the element 'tvar' in the XML traceframe info. + It has the id of the collected trace state variables. + +* On S/390 targets that provide the transactional-execution feature, + the program interruption transaction diagnostic block (TDB) is now + represented as a number of additional "registers" in GDB. + * New remote packets vCont;r @@ -108,6 +333,23 @@ qXfer:libraries-svr4:read's annex ** GDBserver now supports target-assisted range stepping. Currently enabled on x86/x86_64 GNU/Linux targets. + ** GDBserver now adds element 'tvar' in the XML in the reply to + 'qXfer:traceframe-info:read'. It has the id of the collected + trace state variables. + + ** GDBserver now supports hardware watchpoints on the MIPS GNU/Linux + target. + +* New 'z' formatter for printing and examining memory, this displays the + value as hexadecimal zero padded on the left to the size of the type. + +* GDB can now use Windows x64 unwinding data. + +* The "set remotebaud" command has been replaced by "set serial baud". + Similarly, "show remotebaud" has been replaced by "show serial baud". + The "set remotebaud" and "show remotebaud" commands are still available + to provide backward compatibility with older versions of GDB. + *** Changes in GDB 7.6 * Target record has been renamed to record-full. @@ -496,7 +738,7 @@ qXfer:btrace:read C++ and Java objects. ** "explore" and its sub commands "explore value" and "explore type" - can be used to reccursively explore values and types of + can be used to recursively explore values and types of expressions. These commands are available only if GDB is configured with '--with-python'. @@ -5430,3 +5672,5 @@ GDB now handles cross debugging. If you are remotely debugging between two different machines, type ``./configure host -target=targ''. Host is the machine where GDB will run; targ is the machine where the program that you are debugging will run. + + * GDB now supports access to Intel(R) MPX registers on GNU/Linux.