X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=5110b273f52bfc6407d6af5ccacc9471790ce7b7;hb=29453a14557af65ed7a0867722b0145bb9f0e0c2;hp=ceb81a2d35cdd72248d253e0c434cdfb011a83f9;hpb=9a27f2c60d760a95a27e336750f26f69f91dd156;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index ceb81a2d35..5110b273f5 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,292 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.5 +*** Changes since GDB 7.6 + +* 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*". + +* Python scripting + + ** Frame filters and frame decorators have been added. + ** Temporary breakpoints are now supported. + ** Line tables representation has been added. + +* 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. + + ** 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. + + ** 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 + +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 @@ -15,9 +300,16 @@ -nh Disables auto-loading of ~/.gdbinit, but still executes all the other initialization files, unlike -nx which disables all of them. +* Removed command line options + +-epoch This was used by the gdb mode in Epoch, an ancient fork of + Emacs. + * The 'ptype' and 'whatis' commands now accept an argument to control type formatting. +* 'info proc' now works on some core files. + * Python scripting ** Vectors can be created with gdb.Type.vector. @@ -28,6 +320,12 @@ ** Python 3 is now supported (in addition to Python 2.4 or later) + ** New class gdb.Architecture exposes GDB's internal representation + of architecture in the Python API. + + ** New method Frame.architecture returns the gdb.Architecture object + corresponding to the frame's architecture. + * New Python-based convenience functions: ** $_memeq(buf1, buf2, length) @@ -38,8 +336,14 @@ * The 'cd' command now defaults to using '~' (the home directory) if not given an argument. +* The C++ ABI now defaults to the GNU v3 ABI. This has been the + default for GCC since November 2000. + * The command 'forward-search' can now be abbreviated as 'fo'. +* The command 'info tracepoints' can now display 'installed on target' + or 'not installed on target' for each non-pending location of tracepoint. + * New configure options --enable-libmcheck/--disable-libmcheck @@ -48,9 +352,16 @@ 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) +catch signal + Catch signals. This is similar to "handle", but allows commands and + conditions to be attached. + maint info bfds List the BFDs known to GDB. @@ -84,29 +395,90 @@ show print type typedefs Control whether typedef definitions are displayed by "ptype". The default is to show them. +set filename-display basename|relative|absolute +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 "=cmd-param-changed". ** Trace frame changes caused by command "tfind" are now notified using new async record "=traceframe-changed". - ** The creation and deletion of trace state variables are now notified - using new async records "=tsv-created" and "=tsv-deleted". + ** The creation, deletion and modification of trace state variables + are now notified using new async records "=tsv-created", + "=tsv-deleted" and "=tsv-modified". ** The start and stop of process record are now notified using new async record "=record-started" and "=record-stopped". ** 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 + library load/unload events. + ** The response to breakpoint commands and breakpoint async records + includes an "installed" field containing a boolean state about each + non-pending tracepoint location is whether installed on target or not. + ** 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 feature to be enabled. For more information, see: http://fedoraproject.org/wiki/Features/MiniDebugInfo +* New remote packets + +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 @@ -257,7 +629,7 @@ show print type typedefs 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'.