| Index: gdb/NEWS
|
| diff --git a/gdb/NEWS b/gdb/NEWS
|
| index b28182417541e8c14cc0041741061682b70af466..eff057f32f0e1dc5b9d8daf6752bdccc7f7770ba 100644
|
| --- a/gdb/NEWS
|
| +++ b/gdb/NEWS
|
| @@ -1,6 +1,500 @@
|
| What has changed in GDB?
|
| (Organized release by release)
|
|
|
| +*** 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 "<not saved>" 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 = <not saved>
|
| +
|
| + (gdb) info registers rax
|
| + rax <not saved>
|
| +
|
| + Before, the former would print "<optimized out>", 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 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
|
| +
|
| +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 <http://sites.google.com/site/x32abi/>
|
| @@ -151,7 +645,7 @@
|
| 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'.
|
|
|
| @@ -5085,3 +5579,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.
|
|
|