X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FNEWS;h=6ee82f7b63181ba9406ca246a5168702cf6b96f4;hb=7a60ad401761a2fc7d95ba164b90e4b58052ca86;hp=8b620c1716c8880100d023205bdd5b9112998071;hpb=a20ee7a4a9d43404d9c566453ba6c9578adc3596;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 8b620c1716..6ee82f7b63 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,395 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 7.4 +*** Changes since GDB 7.6 + +* Python scripting + + ** Frame filters and frame decorators have been added. + +* New targets + +Nios II ELF nios2*-*-elf +Nios II GNU/Linux nios2*-*-linux +Texas Instruments MSP430 msp430*-*-elf + +* 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. + +* New options + +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. + +* 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". + +* 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. + +* MI changes + + ** 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. + +* 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. + +* 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. + +*** 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 + data-directory (as specified by --with-gdb-datadir at configure + time) or in one of its subdirectories, then GDB will look for the + system-wide init file in the directory specified by the + --data-directory command-line option. + +* New command line options: + +-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. + + ** Python's atexit.register now works in GDB. + + ** Types can be pretty-printed via a Python API. + + ** 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) + ** $_streq(str1, str2) + ** $_strlen(str) + ** $_regex(str, regex) + +* 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 + By default, development versions are built with -lmcheck on hosts + that support it, in order to help track memory corruption issues. + 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. + +python-interactive [command] +pi [command] + Start a Python interactive prompt, or evaluate the optional command + and print the result of expressions. + +py [command] + "py" is a new alias for "python". + +enable type-printer [name]... +disable type-printer [name]... + Enable or disable type printers. + +* Removed commands + + ** For the Renesas Super-H architecture, the "regs" command has been removed + (has been deprecated in GDB 7.5), and "info all-registers" should be used + instead. + +* New options + +set print type methods (on|off) +show print type methods + Control whether method declarations are displayed by "ptype". + The default is to show them. + +set print type typedefs (on|off) +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, 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 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 + for more x32 ABI info. + +* 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 @@ -43,6 +431,12 @@ 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. + + ** gdb.Symtab_and_line has new attribute 'last' which holds the end + of the address range occupied by code for the current source line. + * Go language support. GDB now supports debugging programs written in the Go programming language. @@ -89,19 +483,35 @@ * 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. + until their .gdb_index sections can be recreated. The new command + "set use-deprecated-index-sections on" 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. + + The .gdb_index section has also been updated to record more information + about each symbol. This speeds up the "info variables", "info functions" + and "info types" commands when used with programs having the .gdb_index + section, as well as speeding up debugging with shared libraries using + the .gdb_index section. * 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". + + ** Output logs ("set logging" and related) now include MI output. + * New commands + ** "set use-deprecated-index-sections on|off" + "show use-deprecated-index-sections on|off" + Controls the use of deprecated .gdb_index sections. + ** "catch load" and "catch unload" can be used to stop when a shared library is loaded or unloaded, respectively. @@ -129,6 +539,22 @@ "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. + +* Deprecated commands + + ** For the Renesas Super-H architecture, the "regs" command has been + deprecated, and "info all-registers" should be used instead. + * New targets Renesas RL78 rl78-*-elf @@ -142,6 +568,14 @@ HP OpenVMS ia64 ia64-hp-openvms* * 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 @@ -172,6 +606,13 @@ 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. @@ -181,6 +622,42 @@ 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|agent +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. "agent" requests that the target agent + (such as GDBserver) do the printing. + +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. + +set disconnected-dprintf on|off +show disconnected-dprintf + Control whether agent-style dynamic printfs continue to be in effect + after GDB disconnects. + +* 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 @@ -380,6 +857,16 @@ tstop [NOTES] * New options +set debug dwarf2-read +show debug dwarf2-read + Turns on or off display of debugging messages related to reading + DWARF debug info. The default is off. + +set debug symtab-create +show debug symtab-create + Turns on or off display of debugging messages related to symbol table + creation. The default is off. + set extended-prompt show extended-prompt Set the GDB prompt, and allow escape sequences to be inserted to