X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2FNEWS;h=476e5a086d440f2d7330aa8e6397273b2b0f7fd8;hb=f3e0e9604d2bbdbcd4ed17fa35b6ebc3c9360afb;hp=dc16a4bc07ad6ba676fed226b15daae27e914f41;hpb=405f8e949968faadc137cf5d4244fc68a7f6c586;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index dc16a4bc07..476e5a086d 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,291 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.3.1 +*** Changes since GDB 7.4 + +* GDB now supports access to MIPS DSP registers on Linux targets. + +* GDB now supports debugging microMIPS binaries. + +* The "info os" command on GNU/Linux can now display information on + several new classes of objects managed by the operating system: + "info os procgroups" lists process groups + "info os files" lists file descriptors + "info os sockets" lists internet-domain sockets + "info os shm" lists shared-memory regions + "info os semaphores" lists semaphores + "info os msg" lists message queues + "info os modules" lists loaded kernel modules + +* GDB now has support for SDT (Static Defined Tracing) probes. Currently, + the only implemented backend is for SystemTap probes (). You + can set a breakpoint using the new "-probe, "-pstap" or "-probe-stap" + options and inspect the probe arguments using the new $_probe_arg family + of convenience variables. You can obtain more information about SystemTap + in . + +* GDB now supports reversible debugging on ARM, it allows you to + debug basic ARM and THUMB instructions, and provides + record/replay support. + +* The option "symbol-reloading" has been deleted as it is no longer used. + +* Python scripting + + ** GDB commands implemented in Python can now be put in command class + "gdb.COMMAND_USER". + + ** The "maint set python print-stack on|off" is now deleted. + + ** A new class, gdb.printing.FlagEnumerationPrinter, can be used to + apply "flag enum"-style pretty-printing to any enum. + + ** gdb.lookup_symbol can now work when there is no current frame. + + ** gdb.Symbol now has a 'line' attribute, holding the line number in + the source at which the symbol was defined. + + ** gdb.Symbol now has the new attribute 'needs_frame' and the new + method 'value'. The former indicates whether the symbol needs a + frame in order to compute its value, and the latter computes the + symbol's value. + + ** A new method 'referenced_value' on gdb.Value objects which can + dereference pointer as well as C++ reference values. + + ** New methods 'global_block' and 'static_block' on gdb.Symtab objects + which return the global and static blocks (as gdb.Block objects), + of the underlying symbol table, respectively. + + ** New function gdb.find_pc_line which returns the gdb.Symtab_and_line + object associated with a PC value. + +* Go language support. + GDB now supports debugging programs written in the Go programming + language. + +* GDBserver now supports stdio connections. + E.g. (gdb) target remote | ssh myhost gdbserver - hello + +* The binary "gdbtui" can no longer be built or installed. + Use "gdb -tui" instead. + +* GDB will now print "flag" enums specially. A flag enum is one where + all the enumerator values have no bits in common when pairwise + "and"ed. When printing a value whose type is a flag enum, GDB will + show all the constants, e.g., for enum E { ONE = 1, TWO = 2}: + (gdb) print (enum E) 3 + $1 = (ONE | TWO) + +* The filename part of a linespec will now match trailing components + of a source file name. For example, "break gcc/expr.c:1000" will + now set a breakpoint in build/gcc/expr.c, but not + build/libcpp/expr.c. + +* The "info proc" and "generate-core-file" commands will now also + work on remote targets connected to GDBserver on Linux. + +* The command "info catch" has been removed. It has been disabled + since December 2007. + +* The "catch exception" and "catch assert" commands now accept + a condition at the end of the command, much like the "break" + command does. For instance: + + (gdb) catch exception Constraint_Error if Barrier = True + + Previously, it was possible to add a condition to such catchpoints, + but it had to be done as a second step, after the catchpoint had been + created, using the "condition" command. + +* The "info static-tracepoint-marker" command will now also work on + native Linux targets with in-process agent. + +* GDB can now set breakpoints on inlined functions. + +* The .gdb_index section has been updated to include symbols for + inlined functions. GDB will ignore older .gdb_index sections by + default, which could cause symbol files to be loaded more slowly + until their .gdb_index sections can be recreated. The new option + --use-deprecated-index-sections will cause GDB to use any older + .gdb_index sections it finds. This will restore performance, but + the ability to set breakpoints on inlined functions will be lost + in symbol files with older .gdb_index sections. + +* Ada support for GDB/MI Variable Objects has been added. + +* GDB can now support 'breakpoint always-inserted mode' in 'record' + target. + +* MI changes + + ** New command -info-os is the MI equivalent of "info os". + +* New commands + + ** "catch load" and "catch unload" can be used to stop when a shared + library is loaded or unloaded, respectively. + + ** "enable count" can be used to auto-disable a breakpoint after + several hits. + + ** "info vtbl" can be used to show the virtual method tables for + C++ and Java objects. + + ** "explore" and its sub commands "explore value" and "explore type" + can be used to reccursively explore values and types of + expressions. These commands are available only if GDB is + configured with '--with-python'. + + ** "info auto-load" shows status of all kinds of auto-loaded files, + "info auto-load gdb-scripts" shows status of auto-loading GDB canned + sequences of commands files, "info auto-load python-scripts" + shows status of auto-loading Python script files, + "info auto-load local-gdbinit" shows status of loading init file + (.gdbinit) from current directory and "info auto-load libthread-db" shows + status of inferior specific thread debugging shared library loading. + + ** "info auto-load-scripts", "set auto-load-scripts on|off" + and "show auto-load-scripts" commands have been deprecated, use their + "info auto-load python-scripts", "set auto-load python-scripts on|off" + and "show auto-load python-scripts" counterparts instead. + + ** "dprintf location,format,args..." creates a dynamic printf, which + is basically a breakpoint that does a printf and immediately + resumes your program's execution, so it is like a printf that you + can insert dynamically at runtime instead of at compiletime. + + ** "set print symbol" + "show print symbol" + Controls whether GDB attempts to display the symbol, if any, + corresponding to addresses it prints. This defaults to "on", but + you can set it to "off" to restore GDB's previous behavior. + +* New targets + +Renesas RL78 rl78-*-elf +HP OpenVMS ia64 ia64-hp-openvms* + +* GDBserver supports evaluation of breakpoint conditions. When + support is advertised by GDBserver, GDB may be told to send the + breakpoint conditions in bytecode form to GDBserver. GDBserver + will only report the breakpoint trigger to GDB when its condition + evaluates to true. + +* New options + +set mips compression +show mips compression + Select the compressed ISA encoding used in functions that have no symbol + information available. The encoding can be set to either of: + mips16 + micromips + and is updated automatically from ELF file flags if available. + +set breakpoint condition-evaluation +show breakpoint condition-evaluation + Control whether breakpoint conditions are evaluated by GDB ("host") or by + GDBserver ("target"). Default option "auto" chooses the most efficient + available mode. + This option can improve debugger efficiency depending on the speed of the + target. + +set auto-load off + Disable auto-loading globally. + +show auto-load + Show auto-loading setting of all kinds of auto-loaded files. + +set auto-load gdb-scripts on|off +show auto-load gdb-scripts + Control auto-loading of GDB canned sequences of commands files. + +set auto-load python-scripts on|off +show auto-load python-scripts + Control auto-loading of Python script files. + +set auto-load local-gdbinit on|off +show auto-load local-gdbinit + Control loading of init file (.gdbinit) from current directory. + +set auto-load libthread-db on|off +show auto-load libthread-db + Control auto-loading of inferior specific thread debugging shared library. + +set auto-load scripts-directory [:...] +show auto-load scripts-directory + Set a list of directories from which to load auto-loaded scripts. + Automatically loaded Python scripts and GDB scripts are located in one + of the directories listed by this option. + The delimiter (':' above) may differ according to the host platform. + +set auto-load safe-path [:...] +show auto-load safe-path + Set a list of directories from which it is safe to auto-load files. + The delimiter (':' above) may differ according to the host platform. + +set debug auto-load on|off +show debug auto-load + Control display of debugging info for auto-loading the files above. + +set dprintf-style gdb|call +show dprintf-style + Control the way in which a dynamic printf is performed; "gdb" requests + a GDB printf command, while "call" causes dprintf to call a function + in the inferior. + +set dprintf-function +show dprintf-function +set dprintf-channel +show dprintf-channel + Set the function and optional first argument to the call when using + the "call" style of dynamic printf. + +* New configure options + +--with-auto-load-dir + Configure default value for the 'set auto-load scripts-directory' + setting above. It defaults to '$debugdir:$datadir/auto-load', + $debugdir representing global debugging info directories (available + via 'show debug-file-directory') and $datadir representing GDB's data + directory (available via 'show data-directory'). + +--with-auto-load-safe-path + Configure default value for the 'set auto-load safe-path' setting + above. It defaults to the --with-auto-load-dir setting. + +--without-auto-load-safe-path + Set 'set auto-load safe-path' to '/', effectively disabling this + security feature. + +* New remote packets + +z0/z1 conditional breakpoints extension + + The z0/z1 breakpoint insertion packets have been extended to carry + a list of conditional expressions over to the remote stub depending on the + condition evaluation mode. The use of this extension can be controlled + via the "set remote conditional-breakpoints-packet" command. + +QProgramSignals: + + Specify the signals which the remote stub may pass to the debugged + program without GDB involvement. + +* New command line options + +--init-command=FILE, -ix Like --command, -x but execute it + before loading inferior. +--init-eval-command=COMMAND, -iex Like --eval-command=COMMAND, -ex but + execute it before loading inferior. + +*** Changes in GDB 7.4 + +* GDB now handles ambiguous linespecs more consistently; the existing + FILE:LINE support has been expanded to other types of linespecs. A + breakpoint will now be set on all matching locations in all + inferiors, and locations will be added or removed according to + inferior changes. * GDB now allows you to skip uninteresting functions and files when stepping with the "skip function" and "skip file" commands. @@ -23,9 +307,11 @@ existing one. ** The "maint set python print-stack on|off" command has been - deprecated, and a new command: "set python print-stack on|off" has - replaced it. Additionally, the default for "print-stack" is now - "off". + deprecated and will be deleted in GDB 7.5. + A new command: "set python print-stack none|full|message" has + replaced it. Additionally, the default for "print-stack" is + now "message", which just prints the error message without + the stack trace. ** A prompt substitution hook (prompt_hook) is now available to the Python API. @@ -51,6 +337,10 @@ ** The "gdb.breakpoint" function has been deprecated in favor of "gdb.breakpoints". + ** A new class "gdb.FinishBreakpoint" is provided to catch the return + of a function. This class is based on the "finish" command + available in the CLI. + ** Type objects for struct and union types now allow access to the fields using standard Python dictionary (mapping) methods. For example, "some_type['myfield']" now works, as does @@ -65,6 +355,16 @@ the standard Python "iteritems" method, it will recursively traverse any anonymous fields. +* MI changes + + ** "*stopped" events can report several new "reason"s, such as + "solib-event". + + ** Breakpoint changes are now notified using new async records, like + "=breakpoint-modified". + + ** New command -ada-task-info. + * libthread-db-search-path now supports two special values: $sdir and $pdir. $sdir specifies the default system locations of shared libraries. $pdir specifies the directory where the libpthread used by the application @@ -103,6 +403,12 @@ at the time the function got called. Entry values are available only since gcc version 4.7. +* New commands + +!SHELL COMMAND + "!" is now an alias of the "shell" command. + Note that no space is needed between "!" and SHELL COMMAND. + * Changed commands watch EXPRESSION mask MASK_VALUE @@ -127,6 +433,17 @@ collect[/s] EXPRESSIONS string. An optional integer following the "/s" sets a bound on the number of bytes that will be collected. +tstart [NOTES] + The trace start command now interprets any supplied arguments as a + note to be recorded with the trace run, with an effect similar to + setting the variable trace-notes. + +tstop [NOTES] + The trace stop command now interprets any arguments as a note to be + mentioned along with the tstatus report that the trace was stopped + with a command. The effect is similar to setting the variable + trace-stop-notes. + * Tracepoints can now be enabled and disabled at any time after a trace experiment has been started using the standard "enable" and "disable" commands. It is now possible to start a trace experiment with no enabled @@ -159,6 +476,33 @@ show debug entry-values Control display of debugging info for determining frame argument values at function entry and virtual tail call frames. +set basenames-may-differ +show basenames-may-differ + Set whether a source file may have multiple base names. + (A "base name" is the name of a file with the directory part removed. + Example: The base name of "/home/user/hello.c" is "hello.c".) + If set, GDB will canonicalize file names (e.g., expand symlinks) + before comparing them. Canonicalization is an expensive operation, + but it allows the same file be known by more than one base name. + If not set (the default), all source files are assumed to have just + one base name, and gdb will do file name comparisons more efficiently. + +set trace-user +show trace-user +set trace-notes +show trace-notes + Set a user name and notes for the current and any future trace runs. + This is useful for long-running and/or disconnected traces, to + inform others (or yourself) as to who is running the trace, supply + contact information, or otherwise explain what is going on. + +set trace-stop-notes +show trace-stop-notes + Set a note attached to the trace run, that is displayed when the + trace has been stopped by a tstop command. This is useful for + instance as an explanation, if you are stopping a trace run that was + started by someone else. + * New remote packets QTEnable @@ -169,6 +513,14 @@ QTDisable Dynamically disable a tracepoint in a started trace experiment. +QTNotes + + Set the user and notes of the trace run. + +qTP + + Query the current status of a tracepoint. + qTMinFTPILen Query the minimum length of instruction at which a fast tracepoint may @@ -181,6 +533,10 @@ qTMinFTPILen Texas Instruments TMS320C6x tic6x-*-* +* New Simulators + +Renesas RL78 rl78-*-elf + *** Changes in GDB 7.3.1 * The build failure for NetBSD and OpenBSD targets have now been fixed.