Unify actions and commands
[deliverable/binutils-gdb.git] / gdb / NEWS
index 7dcc8fc7d3fffdd9e63cf8093c175b3b0ddd7c7b..aa88e48436cb4df143deebf062e39aa000414eb6 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,322 @@
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 6.8
+*** Changes since GDB 7.1
+
+* The --batch flag now disables pagination and queries.
+
+* X86 general purpose registers
+
+  GDB now supports reading/writing byte, word and double-word x86
+  general purpose registers directly.  This means you can use, say,
+  $ah or $ax to refer, respectively, to the byte register AH and
+  16-bit word register AX that are actually portions of the 32-bit
+  register EAX or 64-bit register RAX.
+
+* Python scripting
+
+** The GDB Python API now has access to symbols, symbol tables, and
+   frame's code blocks.
+
+** New methods gdb.target_charset and gdb.target_wide_charset.
+
+* Tracepoint actions were unified with breakpoint commands. In particular,
+there are no longer differences in "info break" output for breakpoints and
+tracepoints and the "commands" command can be used for both tracepoints and
+regular breakpoints.
+
+* New targets
+
+ARM Symbian                    arm*-*-symbianelf*
+
+*** Changes in GDB 7.1
+
+* C++ Improvements
+
+  ** Namespace Support
+
+  GDB now supports importing of namespaces in C++.  This enables the
+  user to inspect variables from imported namespaces.  Support for
+  namepace aliasing has also been added.  So, if a namespace is 
+  aliased in the current scope (e.g. namepace C=A; ) the user can 
+  print variables using the alias (e.g. (gdb) print C::x).
+
+  ** Bug Fixes
+
+  All known bugs relating to the printing of virtual base class were
+  fixed.  It is now possible to call overloaded static methods using a
+  qualified name.
+
+  ** Cast Operators
+
+  The C++ cast operators static_cast<>, dynamic_cast<>, const_cast<>,
+  and reinterpret_cast<> are now handled by the C++ expression parser.
+
+* New targets
+
+Xilinx MicroBlaze              microblaze-*-*
+Renesas RX                     rx-*-elf
+
+* New Simulators
+
+Xilinx MicroBlaze              microblaze
+Renesas RX                     rx
+
+* Multi-program debugging.
+
+  GDB now has support for multi-program (a.k.a. multi-executable or
+  multi-exec) debugging.  This allows for debugging multiple inferiors
+  simultaneously each running a different program under the same GDB
+  session.  See "Debugging Multiple Inferiors and Programs" in the
+  manual for more information.  This implied some user visible changes
+  in the multi-inferior support.  For example, "info inferiors" now
+  lists inferiors that are not running yet or that have exited
+  already.  See also "New commands" and "New options" below.
+
+* New tracing features
+
+  GDB's tracepoint facility now includes several new features:
+
+  ** Trace state variables
+
+  GDB tracepoints now include support for trace state variables, which
+  are variables managed by the target agent during a tracing
+  experiment.  They are useful for tracepoints that trigger each
+  other, so for instance one tracepoint can count hits in a variable,
+  and then a second tracepoint has a condition that is true when the
+  count reaches a particular value.  Trace state variables share the
+  $-syntax of GDB convenience variables, and can appear in both
+  tracepoint actions and condition expressions.  Use the "tvariable"
+  command to create, and "info tvariables" to view; see "Trace State
+  Variables" in the manual for more detail.
+
+  ** Fast tracepoints
+
+  GDB now includes an option for defining fast tracepoints, which
+  targets may implement more efficiently, such as by installing a jump
+  into the target agent rather than a trap instruction.  The resulting
+  speedup can be by two orders of magnitude or more, although the
+  tradeoff is that some program locations on some target architectures
+  might not allow fast tracepoint installation, for instance if the
+  instruction to be replaced is shorter than the jump.  To request a
+  fast tracepoint, use the "ftrace" command, with syntax identical to
+  the regular trace command.
+
+  ** Disconnected tracing
+
+  It is now possible to detach GDB from the target while it is running
+  a trace experiment, then reconnect later to see how the experiment
+  is going.  In addition, a new variable disconnected-tracing lets you
+  tell the target agent whether to continue running a trace if the
+  connection is lost unexpectedly.
+
+  ** Trace files
+
+  GDB now has the ability to save the trace buffer into a file, and
+  then use that file as a target, similarly to you can do with
+  corefiles.  You can select trace frames, print data that was
+  collected in them, and use tstatus to display the state of the
+  tracing run at the moment that it was saved.  To create a trace
+  file, use "tsave <filename>", and to use it, do "target tfile
+  <name>".
+
+  ** Circular trace buffer
+
+  You can ask the target agent to handle the trace buffer as a
+  circular buffer, discarding the oldest trace frames to make room for
+  newer ones, by setting circular-trace-buffer to on.  This feature may
+  not be available for all target agents.
+
+* Changed commands
+
+disassemble
+  The disassemble command, when invoked with two arguments, now requires
+  the arguments to be comma-separated.
+
+info variables
+  The info variables command now displays variable definitions.  Files
+  which only declare a variable are not shown.
+
+source
+  The source command is now capable of sourcing Python scripts.
+  This feature is dependent on the debugger being build with Python
+  support.
+
+  Related to this enhancement is also the introduction of a new command
+  "set script-extension" (see below).
+
+* New commands (for set/show, see "New options" below)
+
+record save [<FILENAME>]
+  Save a file (in core file format) containing the process record 
+  execution log for replay debugging at a later time.
+
+record restore <FILENAME>
+  Restore the process record execution log that was saved at an
+  earlier time, for replay debugging.
+
+add-inferior [-copies <N>] [-exec <FILENAME>]
+  Add a new inferior.
+
+clone-inferior [-copies <N>] [ID]
+  Make a new inferior ready to execute the same program another
+  inferior has loaded.
+
+remove-inferior ID
+  Remove an inferior.
+
+maint info program-spaces
+  List the program spaces loaded into GDB.
+
+set remote interrupt-sequence [Ctrl-C | BREAK | BREAK-g]
+show remote interrupt-sequence
+  Allow the user to select one of ^C, a BREAK signal or BREAK-g
+  as the sequence to the remote target in order to interrupt the execution.
+  Ctrl-C is a default.  Some system prefers BREAK which is high level of
+  serial line for some certain time.  Linux kernel prefers BREAK-g, a.k.a
+  Magic SysRq g.  It is BREAK signal and character 'g'.
+
+set remote interrupt-on-connect [on | off]
+show remote interrupt-on-connect
+  When interrupt-on-connect is ON, gdb sends interrupt-sequence to
+  remote target when gdb connects to it.  This is needed when you debug
+  Linux kernel.
+
+set remotebreak [on | off]
+show remotebreak
+Deprecated.  Use "set/show remote interrupt-sequence" instead.
+
+tvariable $NAME [ = EXP ]
+  Create or modify a trace state variable.
+
+info tvariables
+  List trace state variables and their values.
+
+delete tvariable $NAME ...
+  Delete one or more trace state variables.
+
+teval EXPR, ...
+  Evaluate the given expressions without collecting anything into the
+  trace buffer. (Valid in tracepoint actions only.)
+
+ftrace FN / FILE:LINE / *ADDR
+  Define a fast tracepoint at the given function, line, or address.
+
+* New expression syntax
+
+  GDB now parses the 0b prefix of binary numbers the same way as GCC does.
+  GDB now parses 0b101010 identically with 42.
+
+* New options
+
+set follow-exec-mode new|same
+show follow-exec-mode
+  Control whether GDB reuses the same inferior across an exec call or
+  creates a new one.  This is useful to be able to restart the old
+  executable after the inferior having done an exec call.
+
+set default-collect EXPR, ...
+show default-collect
+   Define a list of expressions to be collected at each tracepoint.
+   This is a useful way to ensure essential items are not overlooked,
+   such as registers or a critical global variable.
+
+set disconnected-tracing
+show disconnected-tracing
+   If set to 1, the target is instructed to continue tracing if it
+   loses its connection to GDB.  If 0, the target is to stop tracing
+   upon disconnection.
+
+set circular-trace-buffer
+show circular-trace-buffer
+   If set to on, the target is instructed to use a circular trace buffer
+   and discard the oldest trace frames instead of stopping the trace due
+   to a full trace buffer.  If set to off, the trace stops when the buffer
+   fills up.  Some targets may not support this.
+
+set script-extension off|soft|strict
+show script-extension
+   If set to "off", the debugger does not perform any script language
+   recognition, and all sourced files are assumed to be GDB scripts.
+   If set to "soft" (the default), files are sourced according to
+   filename extension, falling back to GDB scripts if the first
+   evaluation failed.
+   If set to "strict", files are sourced according to filename extension.
+
+set ada trust-PAD-over-XVS on|off
+show ada trust-PAD-over-XVS
+   If off, activate a workaround against a bug in the debugging information
+   generated by the compiler for PAD types (see gcc/exp_dbug.ads in
+   the GCC sources for more information about the GNAT encoding and
+   PAD types in particular).  It is always safe to set this option to
+   off, but this introduces a slight performance penalty.  The default
+   is on.
+
+* Python API Improvements
+
+  ** GDB provides the new class gdb.LazyString.  This is useful in
+     some pretty-printing cases.  The new method gdb.Value.lazy_string
+     provides a simple way to create objects of this type.
+
+  ** The fields returned by gdb.Type.fields now have an
+     `is_base_class' attribute.
+
+  ** The new method gdb.Type.range returns the range of an array type.
+
+  ** The new method gdb.parse_and_eval can be used to parse and
+     evaluate an expression.
+
+* New remote packets
+
+QTDV
+   Define a trace state variable.
+
+qTV
+   Get the current value of a trace state variable.
+
+QTDisconnected
+   Set desired tracing behavior upon disconnection.
+
+QTBuffer:circular
+   Set the trace buffer to be linear or circular.
+
+qTfP, qTsP
+   Get data about the tracepoints currently in use.
+
+* Bug fixes
+
+Process record now works correctly with hardware watchpoints.
+
+Multiple bug fixes have been made to the mips-irix port, making it
+much more reliable. In particular:
+  - Debugging threaded applications is now possible again.  Previously,
+    GDB would hang while starting the program, or while waiting for
+    the program to stop at a breakpoint.
+  - Attaching to a running process no longer hangs.
+  - An error occurring while loading a core file has been fixed.
+  - Changing the value of the PC register now works again.  This fixes
+    problems observed when using the "jump" command, or when calling
+    a function from GDB, or even when assigning a new value to $pc.
+  - With the "finish" and "return" commands, the return value for functions
+    returning a small array is now correctly printed.
+  - It is now possible to break on shared library code which gets executed
+    during a shared library init phase (code executed while executing
+    their .init section).  Previously, the breakpoint would have no effect.
+  - GDB is now able to backtrace through the signal handler for
+    non-threaded programs.
+
+PIE (Position Independent Executable) programs debugging is now supported.
+This includes debugging execution of PIC (Position Independent Code) shared
+libraries although for that, it should be possible to run such libraries as an
+executable program.
+
+*** Changes in GDB 7.0
+
+* GDB now has an interface for JIT compilation.  Applications that
+dynamically generate code can create symbol files in memory and register
+them with GDB.  For users, the feature should work transparently, and
+for JIT developers, the interface is documented in the GDB manual in the
+"JIT Compilation Interface" chapter.
 
 * Tracepoints may now be conditional.  The syntax is as for
 breakpoints; either an "if" clause appended to the "trace" command,
@@ -10,7 +325,7 @@ the target for evaluation using the same bytecode format as is used
 for tracepoint actions.
 
 * "disassemble" command with a /r modifier, print the raw instructions
-in hex as well as in symbolic form."
+in hex as well as in symbolic form.
 
 * Process record and replay
 
@@ -42,6 +357,9 @@ remote targets.  To use this feature, specify a system root that begins
 with the `remote:' prefix, either via the `set sysroot' command or via
 the `--with-sysroot' configure-time option.
 
+* "info sharedlibrary" now takes an optional regex of libraries to show,
+and it now reports if a shared library has no debugging information.
+
 * Commands `set debug-file-directory', `set solib-search-path' and `set args'
 now complete on file names.
 
@@ -64,8 +382,13 @@ operators when expanding macros.  It also supports variable-arity
 macros.
 
 * GDB now supports inspecting extra signal information, exported by
-  the new $_siginfo convenience variable.  The feature is currently
-  implemented on linux ARM, i386 and amd64.
+the new $_siginfo convenience variable.  The feature is currently
+implemented on linux ARM, i386 and amd64.
+
+* GDB can now display the VFP floating point registers and NEON vector
+registers on ARM targets.  Both ARM GNU/Linux native GDB and gdbserver
+can provide these registers (requires Linux 2.6.30 or later).  Remote
+and simulator targets may also provide them.
 
 * New remote packets
 
@@ -198,8 +521,52 @@ add new commands to existing prefixes, e.g. "target".
 "Target Description Format" section in the user manual for more
 information.
 
+* Target descriptions can now describe "compatible" architectures
+to indicate that the target can execute applications for a different
+architecture in addition to those for the main target architecture.
+See the "Target Description Format" section in the user manual for
+more information.
+
+* Multi-architecture debugging.
+
+  GDB now includes general supports for debugging applications on
+  hybrid systems that use more than one single processor architecture
+  at the same time.  Each such hybrid architecture still requires
+  specific support to be added.  The only hybrid architecture supported
+  in this version of GDB is the Cell Broadband Engine.
+
+* GDB now supports integrated debugging of Cell/B.E. applications that
+use both the PPU and SPU architectures.  To enable support for hybrid
+Cell/B.E. debugging, you need to configure GDB to support both the
+powerpc-linux or powerpc64-linux and the spu-elf targets, using the
+--enable-targets configure option.
+
+* Non-stop mode debugging.
+
+  For some targets, GDB now supports an optional mode of operation in
+  which you can examine stopped threads while other threads continue
+  to execute freely.  This is referred to as non-stop mode, with the
+  old mode referred to as all-stop mode.  See the "Non-Stop Mode"
+  section in the user manual for more information.
+
+  To be able to support remote non-stop debugging, a remote stub needs
+  to implement the non-stop mode remote protocol extensions, as
+  described in the "Remote Non-Stop" section of the user manual.  The
+  GDB remote stub, gdbserver, has been adjusted to support these
+  extensions on linux targets.
+
 * New commands (for set/show, see "New options" below)
 
+catch syscall [NAME(S) | NUMBER(S)]
+  Catch system calls.  Arguments, which should be names of system
+  calls or their numbers, mean catch only those syscalls.  Without
+  arguments, every syscall will be caught.  When the inferior issues
+  any of the specified syscalls, GDB will stop and announce the system
+  call, both when it is called and when its call returns.  This
+  feature is currently available with a native GDB running on the
+  Linux Kernel, under the following architectures: x86, x86_64,
+  PowerPC and PowerPC64.
+
 find [/size-char] [/max-count] start-address, end-address|+search-space-size,
     val1 [, val2, ...]
   Search memory for a sequence of bytes.
@@ -234,14 +601,19 @@ kill inferior NUM
 
 * New options
 
+set spu stop-on-load
+show spu stop-on-load
+  Control whether to stop for new SPE threads during Cell/B.E. debugging.
+
+set spu auto-flush-cache
+show spu auto-flush-cache
+  Control whether to automatically flush the software-managed cache
+  during Cell/B.E. debugging.
+
 set sh calling-convention
 show sh calling-convention
   Control the calling convention used when calling SH target functions.
 
-set print symbol-loading
-show print symbol-loading
-  Control printing of symbol loading messages.
-
 set debug timestamp
 show debug timestamp
   Control display of timestamps with GDB debugging output.
@@ -270,6 +642,14 @@ show remote write-siginfo-object
   Control use of remote protocol `qXfer:siginfo:write' (write-siginfo-object)
   packet.
 
+set remote reverse-continue
+show remote reverse-continue
+  Control use of remote protocol 'bc' (reverse-continue) packet.
+
+set remote reverse-step
+show remote reverse-step
+  Control use of remote protocol 'bs' (reverse-step) packet.
+
 set displaced-stepping
 show displaced-stepping
   Control displaced stepping mode.  Displaced stepping is a way to
@@ -355,6 +735,20 @@ show schedule-multiple
   Allow GDB to resume all threads of all processes or only threads of
   the current process.
 
+set stack-cache
+show stack-cache
+  Use more aggressive caching for accesses to the stack.  This improves
+  performance of remote debugging (particularly backtraces) without
+  affecting correctness.
+
+set interactive-mode (on|off|auto)
+show interactive-mode
+  Control whether GDB runs in interactive mode (on) or not (off).
+  When in interactive mode, GDB waits for the user to answer all
+  queries.  Otherwise, GDB does not wait and assumes the default
+  answer.  When set to auto (the default), GDB determines which
+  mode to use based on the stdin settings.
+
 * Removed commands
 
 info forks
@@ -396,6 +790,7 @@ x86_64 MinGW                        x86_64-*-mingw*
 Lattice Mico32                  lm32-*
 x86 DICOS                      i[34567]86-*-dicos*
 x86_64 DICOS                   x86_64-*-dicos*
+S+core 3                       score-*-*
 
 * The GDB remote stub, gdbserver, now supports x86 Windows CE
   (mingw32ce) debugging.
This page took 0.028679 seconds and 4 git commands to generate.