What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 5.0:
+*** Changes since GDB 5.3:
+
+* d10v `regs' command deprecated
+
+The `info registers' command has been updated so that it displays the
+registers using a format identical to the old `regs' command.
+
+* Profiling support
+
+A new command, "maint set profile on/off", has been added. This command can
+be used to enable or disable profiling while running GDB, to profile a
+session or a set of commands. In addition there is a new configure switch,
+"--enable-profiling", which will cause GDB to be compiled with profiling
+data, for more informative profiling results.
+
+* Default MI syntax changed to "mi2".
+
+The default MI (machine interface) syntax, enabled by the command line
+option "-i=mi", has been changed to "mi2". The previous MI syntax,
+"mi1", can be enabled by specifying the option "-i=mi1".
+
+Support for the original "mi0" syntax (included in GDB 5.0) has been
+removed.
+
+Fix for gdb/192: removed extraneous space when displaying frame level.
+Fix for gdb/672: update changelist is now output in mi list format.
+Fix for gdb/702: a -var-assign that updates the value now shows up
+ in a subsequent -var-update.
+
+* Multi-arched targets.
+
+HP/PA HPUX11, 32bit ABI (partial) hppa*-*-hpux* except hppa*64*-*-hpux11*
+
+* OBSOLETE configurations and files
+
+Configurations that have been declared obsolete in this release have
+been commented out. Unless there is activity to revive these
+configurations, the next release of GDB will have their sources
+permanently REMOVED.
+
+Mitsubishi M32R/D w/simulator m32r-*-elf*
+Z8000 simulator z8k-zilog-none or z8ksim
+Matsushita MN10200 w/simulator mn10200-*-*
+H8/500 simulator h8500-hitachi-hms or h8500hms
+HP/PA running BSD hppa*-*-bsd*
+HP/PA running OSF/1 hppa*-*-osf*
+HP/PA Pro target hppa*-*-pro*
+PMAX (MIPS) running Mach 3.0 mips*-*-mach3*
+Sequent family i[3456]86-sequent-sysv4*
+ i[3456]86-sequent-sysv*
+ i[3456]86-sequent-bsd*
+Tsqware Sparclet sparclet-*-*
+Fujitsu SPARClite sparclite-fujitsu-none or sparclite
+
+* REMOVED configurations and files
+
+V850EA ISA
+Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
+IBM AIX PS/2 i[3456]86-*-aix
+i386 running Mach 3.0 i[3456]86-*-mach3*
+i386 running Mach i[3456]86-*-mach*
+i386 running OSF/1 i[3456]86-*osf1mk*
+HP/Apollo 68k Family m68*-apollo*-sysv*,
+ m68*-apollo*-bsd*,
+ m68*-hp-bsd*, m68*-hp-hpux*
+Argonaut Risc Chip (ARC) arc-*-*
+Mitsubishi D30V d30v-*-*
+Fujitsu FR30 fr30-*-elf*
+OS/9000 i[34]86-*-os9k
+I960 with MON960 i960-*-coff
+
+* MIPS $fp behavior changed
+
+The convenience variable $fp, for the MIPS, now consistently returns
+the address of the current frame's base. Previously, depending on the
+context, $fp could refer to either $sp or the current frame's base
+address. See ``8.10 Registers'' in the manual ``Debugging with GDB:
+The GNU Source-Level Debugger''.
+
+*** Changes in GDB 5.3:
+
+* GNU/Linux shared library multi-threaded performance improved.
+
+When debugging a multi-threaded application on GNU/Linux, GDB now uses
+`/proc', in preference to `ptrace' for memory reads. This may result
+in an improvement in the start-up time of multi-threaded, shared
+library applications when run under GDB. One GDB user writes: ``loads
+shared libs like mad''.
+
+* ``gdbserver'' now supports multi-threaded applications on some targets
+
+Support for debugging multi-threaded applications which use
+the GNU/Linux LinuxThreads package has been added for
+arm*-*-linux*-gnu*, i[3456]86-*-linux*-gnu*, mips*-*-linux*-gnu*,
+powerpc*-*-linux*-gnu*, and sh*-*-linux*-gnu*.
+
+* GDB now supports C/C++ preprocessor macros.
+
+GDB now expands preprocessor macro invocations in C/C++ expressions,
+and provides various commands for showing macro definitions and how
+they expand.
+
+The new command `macro expand EXPRESSION' expands any macro
+invocations in expression, and shows the result.
+
+The new command `show macro MACRO-NAME' shows the definition of the
+macro named MACRO-NAME, and where it was defined.
+
+Most compilers don't include information about macros in the debugging
+information by default. In GCC 3.1, for example, you need to compile
+your program with the options `-gdwarf-2 -g3'. If the macro
+information is present in the executable, GDB will read it.
+
+* Multi-arched targets.
+
+DEC Alpha (partial) alpha*-*-*
+DEC VAX (partial) vax-*-*
+NEC V850 v850-*-*
+National Semiconductor NS32000 (partial) ns32k-*-*
+Motorola 68000 (partial) m68k-*-*
+Motorola MCORE mcore-*-*
+
+* New targets.
+
+Fujitsu FRV architecture added by Red Hat frv*-*-*
+
+
+* New native configurations
+
+Alpha NetBSD alpha*-*-netbsd*
+SH NetBSD sh*-*-netbsdelf*
+MIPS NetBSD mips*-*-netbsd*
+UltraSPARC NetBSD sparc64-*-netbsd*
+
+* OBSOLETE configurations and files
+
+Configurations that have been declared obsolete in this release have
+been commented out. Unless there is activity to revive these
+configurations, the next release of GDB will have their sources
+permanently REMOVED.
+
+Mitsubishi D30V d30v-*-*
+OS/9000 i[34]86-*-os9k
+IBM AIX PS/2 i[3456]86-*-aix
+Fujitsu FR30 fr30-*-elf*
+Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
+Argonaut Risc Chip (ARC) arc-*-*
+i386 running Mach 3.0 i[3456]86-*-mach3*
+i386 running Mach i[3456]86-*-mach*
+i386 running OSF/1 i[3456]86-*osf1mk*
+HP/Apollo 68k Family m68*-apollo*-sysv*,
+ m68*-apollo*-bsd*,
+ m68*-hp-bsd*, m68*-hp-hpux*
+I960 with MON960 i960-*-coff
+
+* OBSOLETE languages
+
+CHILL, a Pascal like language used by telecommunications companies.
+
+* REMOVED configurations and files
+
+AMD 29k family via UDI a29k-amd-udi, udi29k
+A29K VxWorks a29k-*-vxworks
+AMD 29000 embedded, using EBMON a29k-none-none
+AMD 29000 embedded with COFF a29k-none-coff
+AMD 29000 embedded with a.out a29k-none-aout
+
+testsuite/gdb.hp/gdb.threads-hp/ directory
+
+* New command "set max-user-call-depth <nnn>"
+
+This command allows the user to limit the call depth of user-defined
+commands. The default is 1024.
+
+* Changes in FreeBSD/i386 native debugging.
+
+Support for the "generate-core-file" has been added.
+
+* New commands "dump", "append", and "restore".
+
+These commands allow data to be copied from target memory
+to a bfd-format or binary file (dump and append), and back
+from a file into memory (restore).
+
+* Improved "next/step" support on multi-processor Alpha Tru64.
+
+The previous single-step mechanism could cause unpredictable problems,
+including the random appearance of SIGSEGV or SIGTRAP signals. The use
+of a software single-step mechanism prevents this.
+
+*** Changes in GDB 5.2.1:
+
+* New targets.
+
+Atmel AVR avr*-*-*
+
+* Bug fixes
+
+gdb/182: gdb/323: gdb/237: On alpha, gdb was reporting:
+mdebugread.c:2443: gdb-internal-error: sect_index_data not initialized
+Fix, by Joel Brobecker imported from mainline.
+
+gdb/439: gdb/291: On some ELF object files, gdb was reporting:
+dwarf2read.c:1072: gdb-internal-error: sect_index_text not initialize
+Fix, by Fred Fish, imported from mainline.
+
+Dwarf2 .debug_frame & .eh_frame handler improved in many ways.
+Surprisingly enough, it works now.
+By Michal Ludvig, imported from mainline.
+
+i386 hardware watchpoint support:
+avoid misses on second run for some targets.
+By Pierre Muller, imported from mainline.
+
+*** Changes in GDB 5.2:
+
+* New command "set trust-readonly-sections on[off]".
+
+This command is a hint that tells gdb that read-only sections
+really are read-only (ie. that their contents will not change).
+In this mode, gdb will go to the object file rather than the
+target to read memory from read-only sections (such as ".text").
+This can be a significant performance improvement on some
+(notably embedded) targets.
+
+* New command "generate-core-file" (or "gcore").
+
+This new gdb command allows the user to drop a core file of the child
+process state at any time. So far it's been implemented only for
+GNU/Linux and Solaris, but should be relatively easily ported to other
+hosts. Argument is core file name (defaults to core.<pid>).
+
+* New command line option
+
+GDB now accepts --pid or -p followed by a process id.
+
+* Change in command line behavior -- corefiles vs. process ids.
+
+There is a subtle behavior in the way in which GDB handles
+command line arguments. The first non-flag argument is always
+a program to debug, but the second non-flag argument may either
+be a corefile or a process id. Previously, GDB would attempt to
+open the second argument as a corefile, and if that failed, would
+issue a superfluous error message and then attempt to attach it as
+a process. Now, if the second argument begins with a non-digit,
+it will be treated as a corefile. If it begins with a digit,
+GDB will attempt to attach it as a process, and if no such process
+is found, will then attempt to open it as a corefile.
+
+* Changes in ARM configurations.
+
+Multi-arch support is enabled for all ARM configurations. The ARM/NetBSD
+configuration is fully multi-arch.
+
+* New native configurations
+
+ARM NetBSD arm*-*-netbsd*
+x86 OpenBSD i[3456]86-*-openbsd*
+AMD x86-64 running GNU/Linux x86_64-*-linux-*
+Sparc64 running FreeBSD sparc64-*-freebsd*
+
+* New targets
+
+Sanyo XStormy16 xstormy16-elf
+
+* OBSOLETE configurations and files
+
+Configurations that have been declared obsolete in this release have
+been commented out. Unless there is activity to revive these
+configurations, the next release of GDB will have their sources
+permanently REMOVED.
+
+AMD 29k family via UDI a29k-amd-udi, udi29k
+A29K VxWorks a29k-*-vxworks
+AMD 29000 embedded, using EBMON a29k-none-none
+AMD 29000 embedded with COFF a29k-none-coff
+AMD 29000 embedded with a.out a29k-none-aout
+
+testsuite/gdb.hp/gdb.threads-hp/ directory
+
+* REMOVED configurations and files
+
+TI TMS320C80 tic80-*-*
+WDC 65816 w65-*-*
+PowerPC Solaris powerpcle-*-solaris*
+PowerPC Windows NT powerpcle-*-cygwin32
+PowerPC Netware powerpc-*-netware*
+Harris/CXUX m88k m88*-harris-cxux*
+Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-*
+ ns32k-utek-sysv* ns32k-utek-*
+SunOS 4.0.Xi on i386 i[3456]86-*-sunos*
+Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern*
+Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news
+ISI Optimum V (3.05) under 4.3bsd. m68*-isi-*
+Apple Macintosh (MPW) host and target N/A host, powerpc-*-macos*
+
+* Changes to command line processing
+
+The new `--args' feature can be used to specify command-line arguments
+for the inferior from gdb's command line.
+
+* Changes to key bindings
+
+There is a new `operate-and-get-next' function bound to `C-o'.
+
+*** Changes in GDB 5.1.1
+
+Fix compile problem on DJGPP.
+
+Fix a problem with floating-point registers on the i386 being
+corrupted.
+
+Fix to stop GDB crashing on .debug_str debug info.
+
+Numerous documentation fixes.
+
+Numerous testsuite fixes.
+
+*** Changes in GDB 5.1:
* New native configurations
Alpha FreeBSD alpha*-*-freebsd*
x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]*
+MIPS GNU/Linux mips*-*-linux*
+MIPS SGI Irix 6.x mips*-sgi-irix6*
+ia64 AIX ia64-*-aix*
+s390 and s390x GNU/Linux {s390,s390x}-*-linux*
* New targets
-* OBSOLETE configurations
+Motorola 68HC11 and 68HC12 m68hc11-elf
+CRIS cris-axis
+UltraSparc running GNU/Linux sparc64-*-linux*
+
+* OBSOLETE configurations and files
x86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*,
+Harris/CXUX m88k m88*-harris-cxux*
+Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-*
+ ns32k-utek-sysv* ns32k-utek-*
+TI TMS320C80 tic80-*-*
+WDC 65816 w65-*-*
+Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern*
+PowerPC Solaris powerpcle-*-solaris*
+PowerPC Windows NT powerpcle-*-cygwin32
+PowerPC Netware powerpc-*-netware*
+SunOS 4.0.Xi on i386 i[3456]86-*-sunos*
+Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news
+ISI Optimum V (3.05) under 4.3bsd. m68*-isi-*
+Apple Macintosh (MPW) host N/A
+
+stuff.c (Program to stuff files into a specially prepared space in kdb)
+kdb-start.c (Main loop for the standalone kernel debugger)
Configurations that have been declared obsolete in this release have
been commented out. Unless there is activity to revive these
configurations, the next release of GDB will have their sources
permanently REMOVED.
-* REMOVED configurations
+* REMOVED configurations and files
Altos 3068 m68*-altos-*
Convex c1-*-*, c2-*-*
Pyramid pyramid-*-*
ARM RISCix arm-*-* (as host)
Tahoe tahoe-*-*
+ser-ocd.c *-*-*
+
+* GDB has been converted to ISO C.
+
+GDB's source code has been converted to ISO C. In particular, the
+sources are fully protoized, and rely on standard headers being
+present.
* Other news:
-* All MIPS configurations are multi-arched.
+* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM.
+
+* The MI enabled by default.
+
+The new machine oriented interface (MI) introduced in GDB 5.0 has been
+revised and enabled by default. Packages which use GDB as a debugging
+engine behind a UI or another front end are encouraged to switch to
+using the GDB/MI interface, instead of the old annotations interface
+which is now deprecated.
+
+* Support for debugging Pascal programs.
+
+GDB now includes support for debugging Pascal programs. The following
+main features are supported:
+
+ - Pascal-specific data types such as sets;
+
+ - automatic recognition of Pascal sources based on file-name
+ extension;
+
+ - Pascal-style display of data types, variables, and functions;
+
+ - a Pascal expression parser.
+
+However, some important features are not yet supported.
+
+ - Pascal string operations are not supported at all;
+
+ - there are some problems with boolean types;
+
+ - Pascal type hexadecimal constants are not supported
+ because they conflict with the internal variables format;
+
+ - support for Pascal objects and classes is not full yet;
+
+ - unlike Pascal, GDB is case-sensitive for symbol names.
+
+* Changes in completion.
+
+Commands such as `shell', `run' and `set args', which pass arguments
+to inferior programs, now complete on file names, similar to what
+users expect at the shell prompt.
+
+Commands which accept locations, such as `disassemble', `print',
+`breakpoint', `until', etc. now complete on filenames as well as
+program symbols. Thus, if you type "break foob TAB", and the source
+files linked into the programs include `foobar.c', that file name will
+be one of the candidates for completion. However, file names are not
+considered for completion after you typed a colon that delimits a file
+name from a name of a function in that file, as in "break foo.c:bar".
+
+`set demangle-style' completes on available demangling styles.
+
+* New platform-independent commands:
+
+It is now possible to define a post-hook for a command as well as a
+hook that runs before the command. For more details, see the
+documentation of `hookpost' in the GDB manual.
+
+* Changes in GNU/Linux native debugging.
+
+Support for debugging multi-threaded programs has been completely
+revised for all platforms except m68k and sparc. You can now debug as
+many threads as your system allows you to have.
+
+Attach/detach is supported for multi-threaded programs.
+
+Support for SSE registers was added for x86. This doesn't work for
+multi-threaded programs though.
+
+* Changes in MIPS configurations.
Multi-arch support is enabled for all MIPS configurations.
+GDB can now be built as native debugger on SGI Irix 6.x systems for
+debugging n32 executables. (Debugging 64-bit executables is not yet
+supported.)
+
+* Unified support for hardware watchpoints in all x86 configurations.
+
+Most (if not all) native x86 configurations support hardware-assisted
+breakpoints and watchpoints in a unified manner. This support
+implements debug register sharing between watchpoints, which allows to
+put a virtually infinite number of watchpoints on the same address,
+and also supports watching regions up to 16 bytes with several debug
+registers.
+
+The new maintenance command `maintenance show-debug-regs' toggles
+debugging print-outs in functions that insert, remove, and test
+watchpoints and hardware breakpoints.
+
+* Changes in the DJGPP native configuration.
+
+New command ``info dos sysinfo'' displays assorted information about
+the CPU, OS, memory, and DPMI server.
+
+New commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt''
+display information about segment descriptors stored in GDT, LDT, and
+IDT.
+
+New commands ``info dos pde'' and ``info dos pte'' display entries
+from Page Directory and Page Tables (for now works with CWSDPMI only).
+New command ``info dos address-pte'' displays the Page Table entry for
+a given linear address.
+
+GDB can now pass command lines longer than 126 characters to the
+program being debugged (requires an update to the libdbg.a library
+which is part of the DJGPP development kit).
+
+DWARF2 debug info is now supported.
+
+It is now possible to `step' and `next' through calls to `longjmp'.
+
+* Changes in documentation.
+
+All GDB documentation was converted to GFDL, the GNU Free
+Documentation License.
+
+Tracepoints-related commands are now fully documented in the GDB
+manual.
+
+TUI, the Text-mode User Interface, is now documented in the manual.
+
+Tracepoints-related commands are now fully documented in the GDB
+manual.
+
+The "GDB Internals" manual now has an index. It also includes
+documentation of `ui_out' functions, GDB coding standards, x86
+hardware watchpoints, and memory region attributes.
+
+* GDB's version number moved to ``version.in''
+
+The Makefile variable VERSION has been replaced by the file
+``version.in''. People creating GDB distributions should update the
+contents of this file.
+
* gdba.el deleted
GUD support is now a standard part of the EMACS distribution.
HP-UX 10.20 hppa*-*-hpux10.20
HP-UX 11.x hppa*-*-hpux11.0*
-M68K Linux m68*-*-linux*
+M68K GNU/Linux m68*-*-linux*
* New targets
There is a new hardware breakpoint for the watch command for sparclite
targets. See gdb/sparclite/hw_breakpoint.note.
-Hardware watchpoints are also now supported under Linux.
+Hardware watchpoints are also now supported under GNU/Linux.
* Annotations
Solaris-2.0 !!! sparc-sun-solaris2 or sun4sol2
-Linux support i386-unknown-linux or linux
+GNU/Linux support i386-unknown-linux or linux
We are also including code to support the HP/PA running BSD and HPUX. This
is almost guaranteed not to work, as we didn't have time to test or build it