X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=b54a414abb51ea1cd7767250db30a25b8c9ad57f;hb=9fb5010805bdfe0eb8fc5db01e7f4c93b04c8f29;hp=99b8addb0335f18ed964d90d0dcf7179d4001437;hpb=f6f899bfc53faa15406ba58f491760ad07563c47;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 99b8addb03..b54a414abb 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,12 +1,393 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.5 +*** 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 + Like "catch throw", but catches a re-thrown exception. +maint check-psymtabs + Renamed from old "maint check-symtabs". +maint check-symtabs + Perform consistency checks on symtabs. +maint expand-symtabs + Expand symtabs matching an optional regexp. + +show configuration + Display the details of GDB configure-time options. + +maint set|show per-command +maint set|show per-command space +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. + +set debug nios2 +show debug nios2 + Control display of debugging messages related to Nios II targets. + +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. + +* The command 'tsave' can now support new option '-ctf' to save trace + buffer in Common Trace Format. + +* Newly installed $prefix/bin/gcore acts as a shell interface for the + GDB command gcore. + +* GDB now implements the the C++ 'typeid' operator. + +* The new convenience variable $_exception holds the exception being + thrown or caught at an exception-related catchpoint. + +* 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: + ** ElinOS + ** Wind River Linux + +* GDB now supports target-assigned range stepping with remote targets. + This improves the performance of stepping source lines by reducing + 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 + + The vCont packet supports a new 'r' action, that tells the remote + stub to step through an address range itself, without GDB + involvemement at each single-step. + +qXfer:libraries-svr4:read's annex + The previously unused annex of the qXfer:libraries-svr4:read packet + is now used to support passing an argument list. The remote stub + reports support for this argument list to GDB's qSupported query. + The defined arguments are "start" and "prev", used to reduce work + necessary for library list updating, resulting in significant + speedup. + +* New features in the GDB remote stub, GDBserver + + ** 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. + Record/replay is now enabled with the "record full" command. + This also affects settings that are associated with full record/replay + that have been moved from "set/show record" to "set/show record full": + +set|show record full insn-number-max +set|show record full stop-at-limit +set|show record full memory-query + +* A new record target "record-btrace" has been added. The new target + uses hardware support to record the control-flow of a process. It + does not support replaying the execution, but it implements the + below new commands for investigating the recorded execution log. + This new recording method can be enabled using: + +record btrace + + The "record-btrace" target is only available on Intel Atom processors + and requires a Linux kernel 2.6.32 or later. + +* Two new commands have been added for record/replay to give information + about the recorded execution without having to replay the execution. + The commands are only supported by "record btrace". + +record instruction-history prints the execution history at + instruction granularity + +record function-call-history prints the execution history at + function granularity * New native configurations ARM AArch64 GNU/Linux aarch64*-*-linux-gnu FreeBSD/powerpc powerpc*-*-freebsd +x86_64/Cygwin x86_64-*-cygwin* +Tilera TILE-Gx GNU/Linux tilegx*-*-linux-gnu * New targets @@ -14,6 +395,7 @@ ARM AArch64 aarch64*-*-elf ARM AArch64 GNU/Linux aarch64*-*-linux Lynx 178 PowerPC powerpc-*-lynx*178 x86_64/Cygwin x86_64-*-cygwin* +Tilera TILE-Gx GNU/Linux tilegx*-*-linux * If the configured location of system.gdbinit file (as given by the --with-system-gdbinit option at configure time) is in the @@ -79,6 +461,9 @@ x86_64/Cygwin x86_64-*-cygwin* Release versions, on the other hand, are built without -lmcheck by default. The --enable-libmcheck/--disable-libmcheck configure options allow the user to override that default. +--with-babeltrace/--with-babeltrace-include/--with-babeltrace-lib + This configure option allows the user to build GDB with + libbabeltrace using which GDB can read Common Trace Format data. * New commands (for set/show, see "New options" below) @@ -101,14 +486,6 @@ enable type-printer [name]... disable type-printer [name]... Enable or disable type printers. -set debug notification -show debug notification - Control display of debugging info for async remote notification. - -set trace-buffer-size -show trace-buffer-size - Request target to change the size of trace buffer. - * Removed commands ** For the Renesas Super-H architecture, the "regs" command has been removed @@ -132,6 +509,33 @@ show filename-display Control the way in which filenames is displayed. The default is "relative", which preserves previous behavior. +set trace-buffer-size +show trace-buffer-size + Request target to change the size of trace buffer. + +set remote trace-buffer-size-packet auto|on|off +show remote trace-buffer-size-packet + Control the use of the remote protocol `QTBuffer:size' packet. + +set debug aarch64 +show debug aarch64 + Control display of debugging messages related to ARM AArch64. + The default is off. + +set debug coff-pe-read +show debug coff-pe-read + Control display of debugging messages related to reading of COFF/PE + exported symbols. + +set debug mach-o +show debug mach-o + Control display of debugging messages related to Mach-O symbols + processing. + +set debug notification +show debug notification + Control display of debugging info for async remote notification. + * MI changes ** Command parameter changes are now notified using new async record @@ -146,8 +550,7 @@ show filename-display ** Memory changes are now notified using new async record "=memory-changed". ** The data-disassemble command response will include a "fullname" field - containing the absolute file name when GDB can determine it and source - has been requested. + containing the absolute file name when source has been requested. ** New optional parameter COUNT added to the "-data-write-memory-bytes" command, to allow pattern filling of memory areas. ** New commands "-catch-load"/"-catch-unload" added for intercepting @@ -158,6 +561,8 @@ show filename-display ** Output of the "-trace-status" command includes a "trace-file" field containing the name of the trace file being examined. This field is optional, and only present when examining a trace file. + ** The "fullname" field is now always present along with the "file" field, + even if the file cannot be found by GDB. * GDB now supports the "mini debuginfo" section, .gnu_debugdata. You must have the LZMA library available when configuring GDB for this @@ -170,6 +575,19 @@ QTBuffer:size Set the size of trace buffer. The remote stub reports support for this packet to gdb's qSupported query. +Qbtrace:bts + Enable Branch Trace Store (BTS)-based branch tracing for the current + thread. The remote stub reports support for this packet to gdb's + qSupported query. + +Qbtrace:off + Disable branch tracing for the current thread. The remote stub reports + support for this packet to gdb's qSupported query. + +qXfer:btrace:read + Read the traced branches for the current thread. The remote stub + reports support for this packet to gdb's qSupported query. + *** Changes in GDB 7.5 * GDB now supports x32 ABI. Visit @@ -320,7 +738,7 @@ QTBuffer:size 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'. @@ -5254,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.