Unify actions and commands
[deliverable/binutils-gdb.git] / gdb / NEWS
index 03a0c123270a785399e2e1735243228c24afded2..aa88e48436cb4df143deebf062e39aa000414eb6 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,15 +1,66 @@
                What has changed in GDB?
             (Organized release by release)
 
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 7.0
+*** 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-*-*
 
 * New targets
 
 Xilinx MicroBlaze              microblaze-*-*
+Renesas RX                     rx-*-elf
 
 * New Simulators
 
 Xilinx MicroBlaze              microblaze
 
 * New Simulators
 
 Xilinx MicroBlaze              microblaze
+Renesas RX                     rx
 
 * Multi-program debugging.
 
 
 * Multi-program debugging.
 
@@ -22,12 +73,78 @@ Xilinx MicroBlaze           microblaze
   lists inferiors that are not running yet or that have exited
   already.  See also "New commands" and "New options" below.
 
   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.
 
 * 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>]
 * New commands (for set/show, see "New options" below)
 
 record save [<FILENAME>]
@@ -69,6 +186,27 @@ set remotebreak [on | off]
 show remotebreak
 Deprecated.  Use "set/show remote interrupt-sequence" instead.
 
 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
 * New options
 
 set follow-exec-mode new|same
@@ -77,10 +215,101 @@ show follow-exec-mode
   creates a new one.  This is useful to be able to restart the old
   executable after the inferior having done an exec call.
 
   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.
 
 * 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
 *** Changes in GDB 7.0
 
 * GDB now has an interface for JIT compilation.  Applications that
@@ -96,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
 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
 
 
 * Process record and replay
 
This page took 0.026625 seconds and 4 git commands to generate.