2012-05-23 Stan Shebs <stan@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / NEWS
index dc16a4bc07ad6ba676fed226b15daae27e914f41..476e5a086d440f2d7330aa8e6397273b2b0f7fd8 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,291 @@
                What has changed in GDB?
             (Organized release by release)
 
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 7.3.1
+*** Changes since GDB 7.4
+
+* 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 (<sys/sdt.h>).  You
+  can set a breakpoint using the new "-probe, "-pstap" or "-probe-stap"
+  options and inspect the probe arguments using the new $_probe_arg family
+  of convenience variables.  You can obtain more information about SystemTap
+  in <http://sourceware.org/systemtap/>.
+
+* GDB now supports reversible debugging on ARM, it allows you to
+  debug basic ARM and THUMB instructions, and provides 
+  record/replay support.  
+
+* The option "symbol-reloading" has been deleted as it is no longer used.
+
+* Python scripting
+
+  ** GDB commands implemented in Python can now be put in command class
+     "gdb.COMMAND_USER".
+
+  ** The "maint set python print-stack on|off" is now deleted.
+
+  ** A new class, gdb.printing.FlagEnumerationPrinter, can be used to
+     apply "flag enum"-style pretty-printing to any enum.
+
+  ** gdb.lookup_symbol can now work when there is no current frame.
+
+  ** gdb.Symbol now has a 'line' attribute, holding the line number in
+     the source at which the symbol was defined.
+
+  ** gdb.Symbol now has the new attribute 'needs_frame' and the new
+     method 'value'.  The former indicates whether the symbol needs a
+     frame in order to compute its value, and the latter computes the
+     symbol's value.
+
+  ** A new method 'referenced_value' on gdb.Value objects which can
+     dereference pointer as well as C++ reference values.
+
+  ** New methods 'global_block' and 'static_block' on gdb.Symtab objects
+     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.
+
+* Go language support.
+  GDB now supports debugging programs written in the Go programming
+  language.
+
+* GDBserver now supports stdio connections.
+  E.g. (gdb) target remote | ssh myhost gdbserver - hello
+
+* The binary "gdbtui" can no longer be built or installed.
+  Use "gdb -tui" instead.
+
+* GDB will now print "flag" enums specially.  A flag enum is one where
+  all the enumerator values have no bits in common when pairwise
+  "and"ed.  When printing a value whose type is a flag enum, GDB will
+  show all the constants, e.g., for enum E { ONE = 1, TWO = 2}:
+  (gdb) print (enum E) 3
+  $1 = (ONE | TWO)
+
+* The filename part of a linespec will now match trailing components
+  of a source file name.  For example, "break gcc/expr.c:1000" will
+  now set a breakpoint in build/gcc/expr.c, but not
+  build/libcpp/expr.c.
+
+* The "info proc" and "generate-core-file" commands will now also
+  work on remote targets connected to GDBserver on Linux.
+
+* The command "info catch" has been removed.  It has been disabled
+  since December 2007.
+
+* The "catch exception" and "catch assert" commands now accept
+  a condition at the end of the command, much like the "break"
+  command does. For instance:
+
+        (gdb) catch exception Constraint_Error if Barrier = True
+
+  Previously, it was possible to add a condition to such catchpoints,
+  but it had to be done as a second step, after the catchpoint had been
+  created, using the "condition" command.
+
+* The "info static-tracepoint-marker" command will now also work on
+  native Linux targets with in-process agent.
+
+* GDB can now set breakpoints on inlined functions.
+
+* 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.
+
+* 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".
+
+* New commands
+
+  ** "catch load" and "catch unload" can be used to stop when a shared
+     library is loaded or unloaded, respectively.
+
+  ** "enable count" can be used to auto-disable a breakpoint after
+     several hits.
+
+  ** "info vtbl" can be used to show the virtual method tables for
+     C++ and Java objects.
+
+  ** "explore" and its sub commands "explore value" and "explore type"
+     can be used to reccursively explore values and types of
+     expressions.  These commands are available only if GDB is
+     configured with '--with-python'.
+
+  ** "info auto-load" shows status of all kinds of auto-loaded files,
+     "info auto-load gdb-scripts" shows status of auto-loading GDB canned
+     sequences of commands files, "info auto-load python-scripts"
+     shows status of auto-loading Python script files,
+     "info auto-load local-gdbinit" shows status of loading init file
+     (.gdbinit) from current directory and "info auto-load libthread-db" shows
+     status of inferior specific thread debugging shared library loading.
+
+  ** "info auto-load-scripts", "set auto-load-scripts on|off"
+     and "show auto-load-scripts" commands have been deprecated, use their
+     "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.
+
+* New targets
+
+Renesas RL78                   rl78-*-elf
+HP OpenVMS ia64                        ia64-hp-openvms*
+
+* GDBserver supports evaluation of breakpoint conditions.  When
+  support is advertised by GDBserver, GDB may be told to send the
+  breakpoint conditions in bytecode form to GDBserver.  GDBserver
+  will only report the breakpoint trigger to GDB when its condition
+  evaluates to true.
+
+* 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
+  GDBserver ("target").  Default option "auto" chooses the most efficient
+  available mode.
+  This option can improve debugger efficiency depending on the speed of the
+  target.
+
+set auto-load off
+  Disable auto-loading globally.
+
+show auto-load
+  Show auto-loading setting of all kinds of auto-loaded files.
+
+set auto-load gdb-scripts on|off
+show auto-load gdb-scripts
+  Control auto-loading of GDB canned sequences of commands files.
+
+set auto-load python-scripts on|off
+show auto-load python-scripts
+  Control auto-loading of Python script files.
+
+set auto-load local-gdbinit on|off
+show auto-load local-gdbinit
+  Control loading of init file (.gdbinit) from current directory.
+
+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 <dir1>[:<dir2>...]
+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 <dir1>[:<dir2>...]
+show auto-load safe-path
+  Set a list of directories from which it is safe to auto-load files.
+  The delimiter (':' above) may differ according to the host platform.
+
+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
+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.
+
+set dprintf-function <expr>
+show dprintf-function
+set dprintf-channel <expr>
+show dprintf-channel
+  Set the function and optional first argument to the call when using
+  the "call" style of dynamic printf.
+
+* 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
+
+  The z0/z1 breakpoint insertion packets have been extended to carry
+  a list of conditional expressions over to the remote stub depending on the
+  condition evaluation mode.  The use of this extension can be controlled
+  via the "set remote conditional-breakpoints-packet" command.
+
+QProgramSignals:
+
+  Specify the signals which the remote stub may pass to the debugged
+  program without GDB involvement.
+
+* New command line options
+
+--init-command=FILE, -ix          Like --command, -x but execute it
+                                  before loading inferior.
+--init-eval-command=COMMAND, -iex Like --eval-command=COMMAND, -ex but
+                                  execute it before loading inferior.
+
+*** Changes in GDB 7.4
+
+* GDB now handles ambiguous linespecs more consistently; the existing
+  FILE:LINE support has been expanded to other types of linespecs.  A
+  breakpoint will now be set on all matching locations in all
+  inferiors, and locations will be added or removed according to
+  inferior changes.
 
 * GDB now allows you to skip uninteresting functions and files when
   stepping with the "skip function" and "skip file" commands.
 
 * GDB now allows you to skip uninteresting functions and files when
   stepping with the "skip function" and "skip file" commands.
      existing one.
 
   ** The "maint set python print-stack on|off" command has been
      existing one.
 
   ** The "maint set python print-stack on|off" command has been
-     deprecated, and a new command: "set python print-stack on|off" has
-     replaced it.  Additionally, the default for "print-stack" is now
-     "off".
+     deprecated and will be deleted in GDB 7.5.
+     A new command: "set python print-stack none|full|message" has
+     replaced it.  Additionally, the default for "print-stack" is
+     now "message", which just prints the error message without
+     the stack trace.
    
   ** A prompt substitution hook (prompt_hook) is now available to the
      Python API.
    
   ** A prompt substitution hook (prompt_hook) is now available to the
      Python API.
   ** The "gdb.breakpoint" function has been deprecated in favor of
      "gdb.breakpoints".
 
   ** The "gdb.breakpoint" function has been deprecated in favor of
      "gdb.breakpoints".
 
+  ** A new class "gdb.FinishBreakpoint" is provided to catch the return
+     of a function.  This class is based on the "finish" command
+     available in the CLI. 
+
   ** Type objects for struct and union types now allow access to
      the fields using standard Python dictionary (mapping) methods.
      For example, "some_type['myfield']" now works, as does
   ** Type objects for struct and union types now allow access to
      the fields using standard Python dictionary (mapping) methods.
      For example, "some_type['myfield']" now works, as does
      the standard Python "iteritems" method, it will recursively traverse
      any anonymous fields.
 
      the standard Python "iteritems" method, it will recursively traverse
      any anonymous fields.
 
+* MI changes
+
+  ** "*stopped" events can report several new "reason"s, such as
+     "solib-event".
+
+  ** Breakpoint changes are now notified using new async records, like
+     "=breakpoint-modified".
+
+  ** New command -ada-task-info.
+
 * libthread-db-search-path now supports two special values: $sdir and $pdir.
   $sdir specifies the default system locations of shared libraries.
   $pdir specifies the directory where the libpthread used by the application
 * libthread-db-search-path now supports two special values: $sdir and $pdir.
   $sdir specifies the default system locations of shared libraries.
   $pdir specifies the directory where the libpthread used by the application
   at the time the function got called.  Entry values are available only since
   gcc version 4.7.
 
   at the time the function got called.  Entry values are available only since
   gcc version 4.7.
 
+* New commands
+
+!SHELL COMMAND
+  "!" is now an alias of the "shell" command.
+  Note that no space is needed between "!" and SHELL COMMAND.
+
 * Changed commands
 
 watch EXPRESSION mask MASK_VALUE
 * Changed commands
 
 watch EXPRESSION mask MASK_VALUE
@@ -127,6 +433,17 @@ collect[/s] EXPRESSIONS
   string.  An optional integer following the "/s" sets a bound on the
   number of bytes that will be collected.
 
   string.  An optional integer following the "/s" sets a bound on the
   number of bytes that will be collected.
 
+tstart [NOTES]
+  The trace start command now interprets any supplied arguments as a
+  note to be recorded with the trace run, with an effect similar to
+  setting the variable trace-notes.
+
+tstop [NOTES]
+  The trace stop command now interprets any arguments as a note to be
+  mentioned along with the tstatus report that the trace was stopped
+  with a command.  The effect is similar to setting the variable
+  trace-stop-notes.
+
 * Tracepoints can now be enabled and disabled at any time after a trace
   experiment has been started using the standard "enable" and "disable"
   commands.  It is now possible to start a trace experiment with no enabled
 * Tracepoints can now be enabled and disabled at any time after a trace
   experiment has been started using the standard "enable" and "disable"
   commands.  It is now possible to start a trace experiment with no enabled
@@ -159,6 +476,33 @@ show debug entry-values
   Control display of debugging info for determining frame argument values at
   function entry and virtual tail call frames.
 
   Control display of debugging info for determining frame argument values at
   function entry and virtual tail call frames.
 
+set basenames-may-differ
+show basenames-may-differ
+  Set whether a source file may have multiple base names.
+  (A "base name" is the name of a file with the directory part removed.
+  Example: The base name of "/home/user/hello.c" is "hello.c".)
+  If set, GDB will canonicalize file names (e.g., expand symlinks)
+  before comparing them.  Canonicalization is an expensive operation,
+  but it allows the same file be known by more than one base name.
+  If not set (the default), all source files are assumed to have just
+  one base name, and gdb will do file name comparisons more efficiently.
+
+set trace-user
+show trace-user
+set trace-notes
+show trace-notes
+  Set a user name and notes for the current and any future trace runs.
+  This is useful for long-running and/or disconnected traces, to
+  inform others (or yourself) as to who is running the trace, supply
+  contact information, or otherwise explain what is going on.
+
+set trace-stop-notes
+show trace-stop-notes
+  Set a note attached to the trace run, that is displayed when the
+  trace has been stopped by a tstop command.  This is useful for
+  instance as an explanation, if you are stopping a trace run that was
+  started by someone else.
+
 * New remote packets
 
 QTEnable
 * New remote packets
 
 QTEnable
@@ -169,6 +513,14 @@ QTDisable
 
   Dynamically disable a tracepoint in a started trace experiment.
 
 
   Dynamically disable a tracepoint in a started trace experiment.
 
+QTNotes
+
+  Set the user and notes of the trace run.
+
+qTP
+
+  Query the current status of a tracepoint.
+
 qTMinFTPILen
 
   Query the minimum length of instruction at which a fast tracepoint may
 qTMinFTPILen
 
   Query the minimum length of instruction at which a fast tracepoint may
@@ -181,6 +533,10 @@ qTMinFTPILen
 
 Texas Instruments TMS320C6x            tic6x-*-*
 
 
 Texas Instruments TMS320C6x            tic6x-*-*
 
+* New Simulators
+
+Renesas RL78                           rl78-*-elf
+
 *** Changes in GDB 7.3.1
 
 * The build failure for NetBSD and OpenBSD targets have now been fixed.
 *** Changes in GDB 7.3.1
 
 * The build failure for NetBSD and OpenBSD targets have now been fixed.
This page took 0.083172 seconds and 4 git commands to generate.