*** Changes since GDB 7.2
+* 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
+ ** 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
result = some_value (10,20)
+ ** Module gdb.types has been added.
+ It contains a collection of utilities for working with gdb.Types objects:
+ get_basic_type, has_field, make_enum_dict.
+
+ ** Module gdb.printing has been added.
+ It contains utilities for writing and registering pretty-printers.
+ New classes: PrettyPrinter, SubPrettyPrinter,
+ RegexpCollectionPrettyPrinter.
+ New function: register_pretty_printer.
+
+ ** New commands "info pretty-printers", "enable pretty-printer" and
+ "disable pretty-printer" have been added.
+
+ ** 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"
+ no longer generates a read of x; the value of the assignment is
+ now always taken directly from the value being assigned.
+
* 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.
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.
+
+* 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
+ in the GDB user manual.
+
+* Guile support was removed.
+
+* New features in the GNU simulator
+
+ ** The --map-info flag lists all known core mappings.
+
*** Changes in GDB 7.2
* Shared library support for remote targets by default
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
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.
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