X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=3051c749044075a324e5ce740e4a6d80072c554e;hb=60c9a3c0e3d9119311e943e995342fdc20f72655;hp=1e294e02b8425f88eecf8c9d46be6bbf216046bc;hpb=5a56e9c5e9a817598264d329c0f7936982683cf3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 1e294e02b8..3051c74904 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,110 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.3.1 +*** Changes since GDB 7.4 + +* 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. + +* 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. + +* 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. + +* 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 breakpoint condition-evaluation +show breakpoint condition-evaluation + Controls whether breakpoint conditions are evaluated by GDB ("gdb") or by + GDBserver ("target"). + This option can improve debugger efficiency depending on the speed of the + target. + +* New remote packets + + 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. + +*** 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. * GDB has two new commands: "set remote hardware-watchpoint-length-limit" and "show remote hardware-watchpoint-length-limit". These allows to @@ -15,19 +118,23 @@ * Python scripting + ** The register_pretty_printer function in module gdb.printing now takes + an optional `replace' argument. If True, the new printer replaces any + 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 subsitution hook (prompt_hook) is now available to the + ** A prompt substitution hook (prompt_hook) is now available to the Python API. - ** A new command set/show extended-prompt has been added. - ** A new Python module, gdb.prompt has been added to the GDB Python modules library. This module provides functionality for - escape sequentions in prompts (used by set/show + escape sequences in prompts (used by set/show extended-prompt). These escape sequences are replaced by their corresponding value. @@ -36,11 +143,20 @@ 'data-directory'/python/gdb/function are now automatically loaded on GDB start-up. + ** Blocks now provide four new attributes. global_block and + static_block will return the global and static blocks + respectively. is_static and is_global are boolean attributes + that indicate if the block is one of those two types. + ** Symbols now provide the "type" attribute, the type of the symbol. ** 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 @@ -49,6 +165,22 @@ ** A new event "gdb.new_objfile" has been added, triggered by loading a new object file. + ** A new function, "deep_items" has been added to the gdb.types + module in the GDB Python modules library. This function returns + an iterator over the fields of a struct or union type. Unlike + 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 @@ -81,13 +213,18 @@ the first connection is made. The listening port used by GDBserver will become available after that. -* New commands "info macros", "info definitions", - and "alias" have been added. +* New commands "info macros" and "alias" have been added. * New function parameters suffix @entry specifies value of function parameter 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 @@ -98,6 +235,31 @@ info auto-load-scripts [REGEXP] This command was formerly named "maintenance print section-scripts". It is now generally useful and is no longer a maintenance-only command. +info macro [-all] [--] MACRO + The info macro command has new options `-all' and `--'. The first for + printing all definitions of a macro. The second for explicitly specifying + the end of arguments and the beginning of the macro name in case the macro + name starts with a hyphen. + +collect[/s] EXPRESSIONS + The tracepoint collect command now takes an optional modifier "/s" + that directs it to dereference pointer-to-character types and + collect the bytes of memory up to a zero byte. The behavior is + similar to what you see when you use the regular print command on a + 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 @@ -105,8 +267,20 @@ info auto-load-scripts [REGEXP] begin, assuming that tracepoints will be enabled as needed while the trace is running. +* Fast tracepoints on 32-bit x86-architectures can now be placed at + locations with 4-byte instructions, when they were previously + limited to locations with instructions of 5 bytes or longer. + * New options +set extended-prompt +show extended-prompt + Set the GDB prompt, and allow escape sequences to be inserted to + display miscellaneous information (see 'help set extended-prompt' + for the list of sequences). This prompt (and any information + accessed through the escape sequences) is updated every time the + prompt is displayed. + set print entry-values (both|compact|default|if-needed|no|only|preferred) show print entry-values Set printing of frame argument values at function entry. In some cases @@ -118,6 +292,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 @@ -128,6 +329,19 @@ 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 + be placed. + * Dcache size (number of lines) and line-size are now runtime-configurable via "set dcache line" and "set dcache line-size" commands. @@ -135,6 +349,10 @@ QTDisable 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.