*** empty log message ***
[binutils-gdb.git] / gdb / NEWS
index 77c55de0ce937a59aaa8e19eb52059bcca272c49..b38399894d20edbf00cb674c4bf91f2977e2fda2 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,76 @@
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 7.1
+*** Changes since GDB 7.2
+
+* Python scripting
+
+  ** GDB values in Python are now callable if the value represents a
+     function.  For example, if 'some_value' represents a function that
+     takes two integer parameters and returns a value, you can call
+     that function like so:
+
+     result = some_value (10,20)
+
+* C++ Improvements:
+
+  ** GDB now puts template parameters in scope when debugging in an
+     instantiation.  For example, if you have:
+
+     template<int X> int func (void) { return X; }
+
+     then if you step into func<5>, "print X" will show "5".  This
+     feature requires proper debuginfo support from the compiler; it
+     was added to GCC 4.5.
+
+* GDB now has some support for using labels in the program's source in
+  linespecs.  For instance, you can use "advance label" to continue
+  execution to a label.
+
+* GDB now has support for reading and writing a new .gdb_index
+  section.  This section holds a fast index of DWARF debugging
+  information and can be used to greatly speed up GDB startup and
+  operation.  See the documentation for `save gdb-index' for details.
+
+* The "watch" command now accepts an optional "-location" argument.
+  When used, this causes GDB to watch the memory referred to by the
+  expression.  Such a watchpoint is never deleted due to it going out
+  of scope.
+
+* GDB now supports thread debugging of core dumps on GNU/Linux.
+
+  GDB now activates thread debugging using the libthread_db library
+  when debugging GNU/Linux core dumps, similarly to when debugging
+  live processes.  As a result, when debugging a core dump file, GDB
+  is now able to display pthread_t ids of threads.  For example, "info
+  threads" shows the same output as when debugging the process when it
+  was live.  In earlier releases, you'd see something like this:
+
+  (gdb) info threads
+   * 1 LWP 6780  main () at main.c:10
+
+  While now you see this:
+
+  (gdb) info threads
+   * 1 Thread 0x7f0f5712a700 (LWP 6780)  main () at main.c:10
+
+  It is also now possible to inspect TLS variables when debugging core
+  dumps.
+
+  When debugging a core dump generated on a machine other than the one
+  used to run GDB, you may need to point GDB at the correct
+  libthread_db library with the "set libthread-db-search-path"
+  command.  See the user manual for more details on this command.
+
+*** Changes in GDB 7.2
+
+* Shared library support for remote targets by default
+
+  When GDB is configured for a generic, non-OS specific target, like
+  for example, --target=arm-eabi or one of the many *-*-elf targets,
+  GDB now queries remote stubs for loaded shared libraries using the
+  `qXfer:libraries:read' packet.  Previously, shared library support
+  was always disabled for such configurations.
 
 * C++ Improvements:
 
   remote packets have been defined to support static tracepoints, see
   the "New remote packets" section below.
 
+* Better reconstruction of tracepoints after disconnected tracing
+
+  GDB will attempt to download the original source form of tracepoint
+  definitions when starting a trace run, and then will upload these
+  upon reconnection to the target, resulting in a more accurate
+  reconstruction of the tracepoints that are in use on the target.
+
+* Observer mode
+
+  You can now exercise direct control over the ways that GDB can
+  affect your program.  For instance, you can disallow the setting of
+  breakpoints, so that the program can run continuously (assuming
+  non-stop mode).  In addition, the "observer" variable is available
+  to switch all of the different controls; in observer mode, GDB
+  cannot affect the target's behavior at all, which is useful for
+  tasks like diagnosing live systems in the field.
+
+* The new convenience variable $_thread holds the number of the
+  current thread.
+
 * New remote packets
 
 qGetTIBAddr
@@ -97,6 +186,15 @@ qXfer:statictrace:read
   tracepoint action).  The remote stub reports support for this packet
   to gdb's qSupported query.
 
+QAllow
+
+  Send the current settings of GDB's permission flags.
+
+QTDPsrc
+
+  Send part of the source (textual) form of a tracepoint definition,
+  which includes location, conditional, and action list.
+
 * The source command now accepts a -s option to force searching for the
   script in the source search path even if the script name specifies
   a directory.
@@ -182,6 +280,34 @@ strace FN | FILE:LINE | *ADDR | -m MARKER_ID
   Define a static tracepoint by probing a marker at the given
   function, line, address, or marker ID.
 
+set observer on|off
+show observer
+  Enable and disable observer mode.
+
+set may-write-registers on|off
+set may-write-memory on|off
+set may-insert-breakpoints on|off
+set may-insert-tracepoints on|off
+set may-insert-fast-tracepoints on|off
+set may-interrupt on|off
+  Set individual permissions for GDB effects on the target.  Note that
+  some of these settings can have undesirable or surprising
+  consequences, particularly when changed in the middle of a session.
+  For instance, disabling the writing of memory can prevent
+  breakpoints from being inserted, cause single-stepping to fail, or
+  even crash your program, if you disable after breakpoints have been
+  inserted.  However, GDB should not crash.
+
+set record memory-query on|off
+show record memory-query
+  Control whether to stop the inferior if memory changes caused
+  by an instruction cannot be recorded.
+
+* Changed commands
+
+disassemble
+  The disassemble command now supports "start,+length" form of two arguments.
+
 * Python scripting
 
 ** GDB now provides a new directory location, called the python directory,
@@ -221,6 +347,21 @@ ARM Symbian                        arm*-*-symbianelf*
   GDB now supports debugging programs written in the D programming
   language.
 
+* GDB now supports the extended ptrace interface for PowerPC which is
+  available since Linux kernel version 2.6.34.  This automatically enables
+  any hardware breakpoints and additional hardware watchpoints available in
+  the processor.  The old ptrace interface exposes just one hardware
+  watchpoint and no hardware breakpoints.
+
+* GDB is now able to use the Data Value Compare (DVC) register available on
+  embedded PowerPC processors to implement in hardware simple watchpoint
+  conditions of the form:
+
+  watch ADDRESS|VARIABLE if ADDRESS|VARIABLE == CONSTANT EXPRESSION
+
+  This works in native GDB running on Linux kernels with the extended ptrace
+  interface mentioned above.
+
 *** Changes in GDB 7.1
 
 * C++ Improvements
@@ -516,8 +657,9 @@ 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.
+* The disassemble command now supports: an optional /r modifier, print the
+raw instructions in hex as well as in symbolic form, and an optional /m
+modifier to print mixed source+assembly.
 
 * Process record and replay
 
@@ -609,9 +751,6 @@ qXfer:siginfo:write
   packet that permited the stub to pass a process id was removed.
   Remote servers should use the `T' stop reply packet instead.
 
-* The "disassemble" command now supports an optional /m modifier to print mixed
-source+assembly.
-
 * GDB now supports multiple function calling conventions according to the
 DWARF-2 DW_AT_calling_convention function attribute.