What has changed in GDB?
(Organized release by release)
-*** Changes since GDB-4.17:
+*** Changes since GDB 5.0:
+
+* New native configurations
+
+Alpha FreeBSD alpha*-*-freebsd*
+x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]*
+
+* New targets
+
+* OBSOLETE configurations
+
+x86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*,
+
+* Deleted configurations
+
+* Other news:
+
+* All MIPS configurations are multi-arched.
+
+Multi-arch support is enabled for all MIPS configurations.
+
+
+*** Changes in GDB 5.0:
+
+* Improved support for debugging FP programs on x86 targets
+
+Unified and much-improved support for debugging floating-point
+programs on all x86 targets. In particular, ``info float'' now
+displays the FP registers in the same format on all x86 targets, with
+greater level of detail.
+
+* Improvements and bugfixes in hardware-assisted watchpoints
+
+It is now possible to watch array elements, struct members, and
+bitfields with hardware-assisted watchpoints. Data-read watchpoints
+on x86 targets no longer erroneously trigger when the address is
+written.
+
+* Improvements in the native DJGPP version of GDB
+
+The distribution now includes all the scripts and auxiliary files
+necessary to build the native DJGPP version on MS-DOS/MS-Windows
+machines ``out of the box''.
+
+The DJGPP version can now debug programs that use signals. It is
+possible to catch signals that happened in the debuggee, deliver
+signals to it, interrupt it with Ctrl-C, etc. (Previously, a signal
+would kill the program being debugged.) Programs that hook hardware
+interrupts (keyboard, timer, etc.) can also be debugged.
+
+It is now possible to debug DJGPP programs that redirect their
+standard handles or switch them to raw (as opposed to cooked) mode, or
+even close them. The command ``run < foo > bar'' works as expected,
+and ``info terminal'' reports useful information about the debuggee's
+terminal, including raw/cooked mode, redirection, etc.
+
+The DJGPP version now uses termios functions for console I/O, which
+enables debugging graphics programs. Interrupting GDB with Ctrl-C
+also works.
+
+DOS-style file names with drive letters are now fully supported by
+GDB.
+
+It is now possible to debug DJGPP programs that switch their working
+directory. It is also possible to rerun the debuggee any number of
+times without restarting GDB; thus, you can use the same setup,
+breakpoints, etc. for many debugging sessions.
+
+* New native configurations
+
+ARM GNU/Linux arm*-*-linux*
+PowerPC GNU/Linux powerpc-*-linux*
+
+* New targets
+
+Motorola MCore mcore-*-*
+x86 VxWorks i[3456]86-*-vxworks*
+PowerPC VxWorks powerpc-*-vxworks*
+TI TMS320C80 tic80-*-*
+
+* OBSOLETE configurations
+
+Altos 3068 m68*-altos-*
+Convex c1-*-*, c2-*-*
+Pyramid pyramid-*-*
+ARM RISCix arm-*-* (as host)
+Tahoe tahoe-*-*
+
+Configurations that have been declared obsolete will be commented out,
+but the code will be left in place. If there is no activity to revive
+these configurations before the next release of GDB, the sources will
+be permanently REMOVED.
+
+* Gould support removed
+
+Support for the Gould PowerNode and NP1 has been removed.
+
+* New features for SVR4
+
+On SVR4 native platforms (such as Solaris), if you attach to a process
+without first loading a symbol file, GDB will now attempt to locate and
+load symbols from the running process's executable file.
+
+* Many C++ enhancements
+
+C++ support has been greatly improved. Overload resolution now works properly
+in almost all cases. RTTI support is on the way.
+
+* Remote targets can connect to a sub-program
+
+A popen(3) style serial-device has been added. This device starts a
+sub-process (such as a stand-alone simulator) and then communicates
+with that. The sub-program to run is specified using the syntax
+``|<program> <args>'' vis:
+
+ (gdb) set remotedebug 1
+ (gdb) target extended-remote |mn10300-elf-sim program-args
+
+* MIPS 64 remote protocol
+
+A long standing bug in the mips64 remote protocol where by GDB
+expected certain 32 bit registers (ex SR) to be transfered as 32
+instead of 64 bits has been fixed.
+
+The command ``set remote-mips64-transfers-32bit-regs on'' has been
+added to provide backward compatibility with older versions of GDB.
+
+* ``set remotebinarydownload'' replaced by ``set remote X-packet''
+
+The command ``set remotebinarydownload'' command has been replaced by
+``set remote X-packet''. Other commands in ``set remote'' family
+include ``set remote P-packet''.
+
+* Breakpoint commands accept ranges.
+
+The breakpoint commands ``enable'', ``disable'', and ``delete'' now
+accept a range of breakpoints, e.g. ``5-7''. The tracepoint command
+``tracepoint passcount'' also accepts a range of tracepoints.
+
+* ``apropos'' command added.
+
+The ``apropos'' command searches through command names and
+documentation strings, printing out matches, making it much easier to
+try to find a command that does what you are looking for.
+
+* New MI interface
+
+A new machine oriented interface (MI) has been added to GDB. This
+interface is designed for debug environments running GDB as a separate
+process. This is part of the long term libGDB project. See the
+"GDB/MI" chapter of the GDB manual for further information. It can be
+enabled by configuring with:
+
+ .../configure --enable-gdbmi
+
+*** Changes in GDB-4.18:
* New native configurations
* New targets
Fujitsu FR30 fr30-*-elf*
+Intel StrongARM strongarm-*-*
Mitsubishi D30V d30v-*-*
+* OBSOLETE configurations
+
+Gould PowerNode, NP1 np1-*-*, pn-*-*
+
+Configurations that have been declared obsolete will be commented out,
+but the code will be left in place. If there is no activity to revive
+these configurations before the next release of GDB, the sources will
+be permanently REMOVED.
+
+* ANSI/ISO C
+
+As a compatibility experiment, GDB's source files buildsym.h and
+buildsym.c have been converted to pure standard C, no longer
+containing any K&R compatibility code. We believe that all systems in
+use today either come with a standard C compiler, or have a GCC port
+available. If this is not true, please report the affected
+configuration to bug-gdb@gnu.org immediately. See the README file for
+information about getting a standard C compiler if you don't have one
+already.
+
* Readline 2.2
GDB now uses readline 2.2.
-** The PowerPC and RS6000 targets now have a `set processor' command.
+* set extension-language
+
+You can now control the mapping between filename extensions and source
+languages by using the `set extension-language' command. For instance,
+you can ask GDB to treat .c files as C++ by saying
+ set extension-language .c c++
+The command `info extensions' lists all of the recognized extensions
+and their associated languages.
+
+* Setting processor type for PowerPC and RS/6000
When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
you can use the `set processor' command to specify what variant of the
registers are inaccessible to user-level programs, this command is
only useful for remote debugging in its present form.
-* HP-UX Support
+* HP-UX support
-Thanks to a major code donation from HP, GDB now has much more
-extensive support for HP-UX. Added features include shared library
-support, kernel threads and hardware watchpoints for 11.00, support
-for HP's ANSI C and C++ compilers, and compatibility mode for xdb
-commands.
+Thanks to a major code donation from Hewlett-Packard, GDB now has much
+more extensive support for HP-UX. Added features include shared
+library support, kernel threads and hardware watchpoints for 11.00,
+support for HP's ANSI C and C++ compilers, and a compatibility mode
+for xdb and dbx commands.
* Catchpoints
generalization of the old catch command. On HP-UX, it is now possible
to catch exec, fork, and vfork, as well as library loading.
-* Debugging Across Forks
+This means that the existing catch command has changed; its first
+argument now specifies the type of catch to be set up. See the
+output of "help catch" for a list of catchpoint types.
+
+* Debugging across forks
On HP-UX, you can choose which process to debug when a fork() happens
in the inferior.
* TUI
HP has donated a curses-based terminal user interface (TUI). To get
-it, build with --enable-tui.
+it, build with --enable-tui. Although this can be enabled for any
+configuration, at present it only works for native HP debugging.
-* GDB Remote protocol
+* GDB remote protocol additions
A new protocol packet 'X' that writes binary data is now available.
Default behavior is to try 'X', then drop back to 'M' if the stub
fails to respond. The settable variable `remotebinarydownload'
allows explicit control over the use of 'X'.
-For 64 bit targets, the memory packets ("M" and "m") can now contain a
-full 64 bit address. The class-obscure gdb command:
- set targetaddresssize 32
-can be used to revert to the old behavour. For existing remote stubs
-the change should not be noticed as the additional address information
+For 64-bit targets, the memory packets ('M' and 'm') can now contain a
+full 64-bit address. The command
+
+ set remoteaddresssize 32
+
+can be used to revert to the old behaviour. For existing remote stubs
+the change should not be noticed, as the additional address information
will be discarded.
-* Changes to particular targets
+In order to assist in debugging stubs, you may use the maintenance
+command `packet' to send any text string to the stub. For instance,
+
+ maint packet heythere
+
+sends the packet "$heythere#<checksum>". Note that it is very easy to
+disrupt a debugging session by sending the wrong packet at the wrong
+time.
+
+The compare-sections command allows you to compare section data on the
+target to what is in the executable file without uploading or
+downloading, by comparing CRC checksums.
+
+* Tracing can collect general expressions
+
+You may now collect general expressions at tracepoints. This requires
+further additions to the target-side stub; see tracepoint.c and
+doc/agentexpr.texi for further details.
+
+* mask-address variable for Mips
+
+For Mips targets, you may control the zeroing of the upper 32 bits of
+a 64-bit address by entering `set mask-address on'. This is mainly
+of interest to users of embedded R4xxx and R5xxx processors.
+
+* Higher serial baud rates
+
+GDB's serial code now allows you to specify baud rates 57600, 115200,
+230400, and 460800 baud. (Note that your host system may not be able
+to achieve all of these rates.)
+
+* i960 simulator
+
+The i960 configuration now includes an initial implementation of a
+builtin simulator, contributed by Jim Wilson.
+
*** Changes in GDB-4.17:
format. The choice is automatic, if the symbol file contains DWARF 2
information.
-start-sanitize-java
* Java frontend
GDB now includes basic Java language support. This support is
only useful with Java compilers that produce native machine code.
-end-sanitize-java
* solib-absolute-prefix and solib-search-path
For SunOS and SVR4 shared libraries, you may now set the prefix for