What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 7.2
+*** Changes since GDB 7.3
+
+* 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
+ lives.
+
+ GDB no longer looks in $sdir and $pdir after it has searched the directories
+ mentioned in libthread-db-search-path. If you want to search those
+ directories, they must be specified in libthread-db-search-path.
+ The default value of libthread-db-search-path on GNU/Linux and Solaris
+ systems is now "$sdir:$pdir".
+
+ $pdir is not supported by gdbserver, it is currently ignored.
+ $sdir is supported by gdbserver.
+
+* New configure option --with-iconv-bin.
+ When using the internationalization support like the one in the GNU C
+ library, GDB will invoke the "iconv" program to get a list of supported
+ character sets. If this program lives in a non-standard location, one can
+ use this option to specify where to find it.
+
+* When natively debugging programs on PowerPC BookE processors running
+ a Linux kernel version 2.6.34 or later, GDB supports masked hardware
+ watchpoints, which specify a mask in addition to an address to watch.
+ The mask specifies that some bits of an address (the bits which are
+ reset in the mask) should be ignored when matching the address accessed
+ by the inferior against the watchpoint address. See the "PowerPC Embedded"
+ section in the user manual for more details.
+
+* The new option --once causes GDBserver to stop listening for connections once
+ the first connection is made. The listening port used by GDBserver will
+ become available after that.
+
+* Changed commands
+
+watch EXPRESSION mask MASK_VALUE
+ The watch command now supports the mask argument which allows creation
+ of masked watchpoints, if the current architecture supports this feature.
+
+info auto-load-scripts [REGEXP]
+ This command was formerly named "maintenance print section-scripts".
+ It is now generally useful and is no longer a maintenance-only command.
+
+* 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; GDB will display a warning, but will allow the experiment to
+ begin, assuming that tracepoints will be enabled as needed while the trace
+ is running.
+
+* New remote packets
+
+QTEnable
+
+ Dynamically enable a tracepoint in a started trace experiment.
+
+QTDisable
+
+ Dynamically disable a tracepoint in a started trace experiment.
+
+*** Changes in GDB 7.3
+
+* GDB has a new command: "thread find [REGEXP]".
+ It finds the thread id whose name, target id, or thread extra info
+ matches the given regular expression.
+
+* The "catch syscall" command now works on mips*-linux* targets.
+
+* The -data-disassemble MI command now supports modes 2 and 3 for
+ dumping the instruction opcodes.
* New command line options
-data-directory DIR Specify DIR as the "data-directory".
This is mostly for testing purposes.
+* The "maint set python auto-load on|off" command has been renamed to
+ "set auto-load-scripts on|off".
+
* GDB has a new command: "set directories".
It is like the "dir" command except that it replaces the
source path list instead of augmenting it.
+* GDB now understands thread names.
+
+ On GNU/Linux, "info threads" will display the thread name as set by
+ prctl or pthread_setname_np.
+
+ There is also a new command, "thread name", which can be used to
+ assign a name internally for GDB to display.
+
* OpenCL C
Initial support for the OpenCL C language (http://www.khronos.org/opencl)
has been integrated into GDB.
* Python scripting
+ ** The function gdb.Write now accepts an optional keyword 'stream'.
+ This keyword, when provided, will direct the output to either
+ stdout, stderr, or GDB's logging output.
+
+ ** Parameters can now be be sub-classed in Python, and in particular
+ you may implement the get_set_doc and get_show_doc functions.
+ This improves how Parameter set/show documentation is processed
+ and allows for more dynamic content.
+
+ ** Symbols, Symbol Table, Symbol Table and Line, Object Files,
+ Inferior, Inferior Thread, Blocks, and Block Iterator APIs now
+ have an is_valid method.
+
+ ** Breakpoints can now be sub-classed in Python, and in particular
+ you may implement a 'stop' function that is executed each time
+ the inferior reaches that breakpoint.
+
+ ** New function gdb.lookup_global_symbol looks up a global symbol.
+
** 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
** gdb.parameter("directories") is now available.
+ ** New function gdb.newest_frame returns the newest frame in the
+ selected thread.
+
+ ** The gdb.InferiorThread class has a new "name" attribute. This
+ holds the thread's name.
+
+ ** Python Support for Inferior events.
+ Python scripts can add observers to be notified of events
+ occurring in the process being debugged.
+ The following events are currently supported:
+ - gdb.events.cont Continue event.
+ - gdb.events.exited Inferior exited event.
+ - gdb.events.stop Signal received, and Breakpoint hit events.
+
* C++ Improvements:
** GDB now puts template parameters in scope when debugging in an
feature requires proper debuginfo support from the compiler; it
was added to GCC 4.5.
+ ** The motion commands "next", "finish", "until", and "advance" now
+ work better when exceptions are thrown. In particular, GDB will
+ no longer lose control of the inferior; instead, the GDB will
+ stop the inferior at the point at which the exception is caught.
+ This functionality requires a change in the exception handling
+ code that was introduced in GCC 4.5.
+
* GDB now follows GCC's rules on accessing volatile objects when
reading or writing target state during expression evaluation.
One notable difference to prior behavior is that "print x = 0"
libthread_db library with the "set libthread-db-search-path"
command. See the user manual for more details on this command.
+* When natively debugging programs on PowerPC BookE processors running
+ a Linux kernel version 2.6.34 or later, GDB supports ranged breakpoints,
+ which stop execution of the inferior whenever it executes an instruction
+ at any address within the specified range. See the "PowerPC Embedded"
+ section in the user manual for more details.
+
* New features in the GDB remote stub, GDBserver
** GDBserver is now supported on PowerPC LynxOS (versions 4.x and 5.x),
and i686 LynxOS (version 5.x).
+ ** GDBserver is now supported on Blackfin Linux.
+
+* New native configurations
+
+ia64 HP-UX ia64-*-hpux*
+
+* New targets:
+
+Analog Devices, Inc. Blackfin Processor bfin-*
+
* Ada task switching is now supported on sparc-elf targets when
debugging a program using the Ravenscar Profile. For more information,
see the "Tasking Support when using the Ravenscar Profile" section
* Guile support was removed.
+* New features in the GNU simulator
+
+ ** The --map-info flag lists all known core mappings.
+
+ ** CFI flashes may be simulated via the "cfi" device.
+
*** Changes in GDB 7.2
* Shared library support for remote targets by default