New commands "mt set per-command {space,time,symtab} {on,off}".
[deliverable/binutils-gdb.git] / gdb / NEWS
index 820587bca2642525c2455abfb0a5077d3392e347..77a27f78dca00d3e83c6181bd0eb9eba78d97ba2 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,247 @@
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 7.4
+*** Changes since GDB 7.6
+
+* New commands:
+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.
+
+* The command 'tsave' can now support new option '-ctf' to save trace
+  buffer in Common Trace Format.
+
+* MI changes
+
+  ** The -trace-save MI command can optionally save trace buffer in Common
+     Trace Format now.
+
+*** 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
+
+* New targets
+
+ARM AArch64                    aarch64*-*-elf
+ARM AArch64 GNU/Linux          aarch64*-*-linux
+Lynx 178 PowerPC               powerpc-*-lynx*178
+x86_64/Cygwin                  x86_64-*-cygwin*
+
+* 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.
+
+* 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.
+
+set debug notification
+show debug notification
+  Control display of debugging info for async remote notification.
+
+set trace-buffer-size
+show trace-buffer-size
+  Request target to change the size of trace buffer.
+
+* 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.
+
+* 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 GDB can determine it and 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.
+
+* 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.
+
+*** Changes in GDB 7.5
+
+* GDB now supports x32 ABI.  Visit <http://sites.google.com/site/x32abi/>
+  for more x32 ABI info.
+
+* 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 
   ** 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.
+
+  ** gdb.Symtab_and_line has new attribute 'last' which holds the end
+     of the address range occupied by code for the current source line.
+
+* 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 .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.
+  until their .gdb_index sections can be recreated.  The new command
+  "set use-deprecated-index-sections on" 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.
+
+  The .gdb_index section has also been updated to record more information
+  about each symbol.  This speeds up the "info variables", "info functions"
+  and "info types" commands when used with programs having the .gdb_index
+  section, as well as speeding up debugging with shared libraries using
+  the .gdb_index section.
 
 * 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".
+
+  ** Output logs ("set logging" and related) now include MI output.
+
 * New commands
 
+  ** "set use-deprecated-index-sections on|off"
+     "show use-deprecated-index-sections on|off"
+     Controls the use of deprecated .gdb_index sections.
+
   ** "catch load" and "catch unload" can be used to stop when a shared
      library is loaded or unloaded, respectively.
 
      "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.
+
+* Deprecated commands
+
+  ** For the Renesas Super-H architecture, the "regs" command has been
+     deprecated, and "info all-registers" should be used instead.
+
 * New targets
 
 Renesas RL78                   rl78-*-elf
@@ -124,6 +413,14 @@ HP OpenVMS ia64                    ia64-hp-openvms*
 
 * 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
@@ -154,6 +451,58 @@ 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|agent
+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.  "agent" requests that the target agent
+  (such as GDBserver) do the printing.
+
+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.
+
+set disconnected-dprintf on|off
+show disconnected-dprintf
+  Control whether agent-style dynamic printfs continue to be in effect
+  after GDB disconnects.
+
+* 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
@@ -353,6 +702,16 @@ tstop [NOTES]
 
 * New options
 
+set debug dwarf2-read
+show debug dwarf2-read
+  Turns on or off display of debugging messages related to reading
+  DWARF debug info.  The default is off.
+
+set debug symtab-create
+show debug symtab-create
+  Turns on or off display of debugging messages related to symbol table
+  creation.  The default is off.
+
 set extended-prompt
 show extended-prompt
   Set the GDB prompt, and allow escape sequences to be inserted to
This page took 0.029745 seconds and 4 git commands to generate.