tweak previous entry to keep chronology right
[deliverable/binutils-gdb.git] / gdb / NEWS
index b12c5dc874f389618900bc9513d339de51d06182..657d0a2db2a3db132e69195e388395bb851b3881 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,210 @@
                What has changed in GDB?
             (Organized release by release)
 
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 6.8
+*** Changes since GDB 7.0
+
+* 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.
+
+* 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.
+
+* 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.
+
+* 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.
+
+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.
+
+*** 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,
+or the "condition" command is available.  GDB sends the condition to
+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."
 
 * Process record and replay
 
 
 * Process record and replay
 
@@ -33,6 +236,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.
 
 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.
 
 * Commands `set debug-file-directory', `set solib-search-path' and `set args'
 now complete on file names.
 
@@ -55,8 +261,13 @@ operators when expanding macros.  It also supports variable-arity
 macros.
 
 * GDB now supports inspecting extra signal information, exported by
 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
 
 
 * New remote packets
 
@@ -175,8 +386,66 @@ GDB will now correctly handle all of:
 * Support for user-defined prefixed commands.  The "define" command can
 add new commands to existing prefixes, e.g. "target".
 
 * Support for user-defined prefixed commands.  The "define" command can
 add new commands to existing prefixes, e.g. "target".
 
+* Multi-inferior, multi-process debugging.
+
+  GDB now has generalized support for multi-inferior debugging.  See
+  "Debugging Multiple Inferiors" in the manual for more information.
+  Although availability still depends on target support, the command
+  set is more uniform now.  The GNU/Linux specific multi-forks support
+  has been migrated to this new framework.  This implied some user
+  visible changes; see "New commands" and also "Removed commands"
+  below.
+
+* Target descriptions can now describe the target OS ABI.  See the
+"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)
 
 * 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.
 find [/size-char] [/max-count] start-address, end-address|+search-space-size,
     val1 [, val2, ...]
   Search memory for a sequence of bytes.
@@ -197,16 +466,33 @@ macro undef
 info os processes
   Show operating system information about processes.
 
 info os processes
   Show operating system information about processes.
 
+info inferiors
+  List the inferiors currently under GDB's control.
+
+inferior NUM
+  Switch focus to inferior number NUM.
+
+detach inferior NUM
+  Detach from inferior number NUM.
+
+kill inferior NUM
+  Kill inferior number NUM.
+
 * New options
 
 * 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 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.
 set debug timestamp
 show debug timestamp
   Control display of timestamps with GDB debugging output.
@@ -235,6 +521,14 @@ show remote write-siginfo-object
   Control use of remote protocol `qXfer:siginfo:write' (write-siginfo-object)
   packet.
 
   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
 set displaced-stepping
 show displaced-stepping
   Control displaced stepping mode.  Displaced stepping is a way to
@@ -320,6 +614,50 @@ show schedule-multiple
   Allow GDB to resume all threads of all processes or only threads of
   the current process.
 
   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
+  For program forks, this is replaced by the new more generic `info
+  inferiors' command.  To list checkpoints, you can still use the
+  `info checkpoints' command, which was an alias for the `info forks'
+  command.
+
+fork NUM
+  Replaced by the new `inferior' command.  To switch between
+  checkpoints, you can still use the `restart' command, which was an
+  alias for the `fork' command.
+
+process PID
+  This is removed, since some targets don't have a notion of
+  processes.  To switch between processes, you can still use the
+  `inferior' command using GDB's own inferior number.
+
+delete fork NUM
+  For program forks, this is replaced by the new more generic `kill
+  inferior' command.  To delete a checkpoint, you can still use the
+  `delete checkpoint' command, which was an alias for the `delete
+  fork' command.
+
+detach fork NUM
+  For program forks, this is replaced by the new more generic `detach
+  inferior' command.  To detach a checkpoint, you can still use the
+  `detach checkpoint' command, which was an alias for the `detach
+  fork' command.
+
 * New native configurations
 
 x86/x86_64 Darwin              i[34567]86-*-darwin*
 * New native configurations
 
 x86/x86_64 Darwin              i[34567]86-*-darwin*
@@ -331,6 +669,7 @@ x86_64 MinGW                        x86_64-*-mingw*
 Lattice Mico32                  lm32-*
 x86 DICOS                      i[34567]86-*-dicos*
 x86_64 DICOS                   x86_64-*-dicos*
 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.
 
 * The GDB remote stub, gdbserver, now supports x86 Windows CE
   (mingw32ce) debugging.
This page took 0.028499 seconds and 4 git commands to generate.