What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 5.1:
+*** Changes since GDB 6.1:
+
+* New ``start'' command.
+
+This command runs the program until the begining of the main procedure.
+
+* Signal trampoline code overhauled
+
+Many generic problems with GDB's signal handling code have been fixed.
+These include: backtraces through non-contiguous stacks; recognition
+of sa_sigaction signal trampolines; backtrace from a NULL pointer
+call; backtrace through a signal trampoline; step into and out of
+signal handlers; and single-stepping in the signal trampoline.
+
+These fixes were tested on i386 GNU/Linux systems that include a 2.4
+kernel.
+
+* Cygwin support for DWARF 2 added.
+
+* Fixed build problem on IRIX 5
+
+Due to header problems with <sys/proc.h>, the file gdb/proc-api.c
+wasn't able to compile compile on an IRIX 5 system.
+
+* Added execute permission to gdb/gdbserver/configure
+
+The shell script gdb/testsuite/gdb.stabs/configure lacked execute
+permission. This bug would cause configure to fail on a number of
+systems (Solaris, IRIX). Ref: server/519.
+
+* New native configurations
+
+OpenBSD/m68k m68*-*-openbsd*
+OpenBSD/m88k m88*-*-openbsd*
+OpenBSD/powerpc powerpc-*-openbsd*
+NetBSD/vax vax-*-netbsd*
+OpenBSD/vax vax-*-openbsd*
+
+* REMOVED configurations and files
+
+Sun 3, running SunOS 3 m68*-*-sunos3*
+Sun 3, running SunOS 4 m68*-*-sunos4*
+Sun 2, running SunOS 3 m68000-*-sunos3*
+Sun 2, running SunOS 4 m68000-*-sunos4*
+Motorola 680x0 running LynxOS m68*-*-lynxos*
+AT&T 3b1/Unix pc m68*-att-*
+Bull DPX2 (68k, System V release 3) m68*-bull-sysv*
+decstation mips-dec-* mips-little-*
+riscos mips-*-riscos* mips-*-sysv*
+sonymips mips-sony-*
+sysv mips*-*-sysv4* (IRIX 5/6 not included)
+
+*** Changes in GDB 6.1:
+
+* Removed --with-mmalloc
+
+Support for the mmalloc memory manager has been removed, as it
+conflicted with the internal gdb byte cache.
+
+* Changes in AMD64 configurations
+
+The AMD64 target now includes the %cs and %ss registers. As a result
+the AMD64 remote protocol has changed; this affects the floating-point
+and SSE registers. If you rely on those registers for your debugging,
+you should upgrade gdbserver on the remote side.
+
+* Revised SPARC target
+
+The SPARC target has been completely revised, incorporating the
+FreeBSD/sparc64 support that was added for GDB 6.0. As a result
+support for LynxOS and SunOS 4 has been dropped. Calling functions
+from within GDB on operating systems with a non-executable stack
+(Solaris, OpenBSD) now works.
+
+* New C++ demangler
+
+GDB has a new C++ demangler which does a better job on the mangled
+names generated by current versions of g++. It also runs faster, so
+with this and other changes gdb should now start faster on large C++
+programs.
+
+* DWARF 2 Location Expressions
+
+GDB support for location expressions has been extended to support function
+arguments and frame bases. Older versions of GDB could crash when they
+encountered these.
+
+* C++ nested types and namespaces
+
+GDB's support for nested types and namespaces in C++ has been
+improved, especially if you use the DWARF 2 debugging format. (This
+is the default for recent versions of GCC on most platforms.)
+Specifically, if you have a class "Inner" defined within a class or
+namespace "Outer", then GDB realizes that the class's name is
+"Outer::Inner", not simply "Inner". This should greatly reduce the
+frequency of complaints about not finding RTTI symbols. In addition,
+if you are stopped at inside of a function defined within a namespace,
+GDB modifies its name lookup accordingly.
+
+* New native configurations
+
+NetBSD/amd64 x86_64-*-netbsd*
+OpenBSD/amd64 x86_64-*-openbsd*
+OpenBSD/alpha alpha*-*-openbsd*
+OpenBSD/sparc sparc-*-openbsd*
+OpenBSD/sparc64 sparc64-*-openbsd*
+
+* New debugging protocols
+
+M32R with SDI protocol m32r-*-elf*
+
+* "set prompt-escape-char" command deleted.
+
+The command "set prompt-escape-char" has been deleted. This command,
+and its very obscure effet on GDB's prompt, was never documented,
+tested, nor mentioned in the NEWS file.
+
+* 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.
+
+Sun 3, running SunOS 3 m68*-*-sunos3*
+Sun 3, running SunOS 4 m68*-*-sunos4*
+Sun 2, running SunOS 3 m68000-*-sunos3*
+Sun 2, running SunOS 4 m68000-*-sunos4*
+Motorola 680x0 running LynxOS m68*-*-lynxos*
+AT&T 3b1/Unix pc m68*-att-*
+Bull DPX2 (68k, System V release 3) m68*-bull-sysv*
+decstation mips-dec-* mips-little-*
+riscos mips-*-riscos* mips-*-sysv*
+sonymips mips-sony-*
+sysv mips*-*-sysv4* (IRIX 5/6 not included)
+
+* REMOVED configurations and files
+
+SGI Irix-4.x mips-sgi-irix4 or iris4
+SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
+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*
+386BSD i[3456]86-*-bsd*
+Sequent family i[3456]86-sequent-sysv4*
+ i[3456]86-sequent-sysv*
+ i[3456]86-sequent-bsd*
+SPARC running LynxOS sparc-*-lynxos*
+SPARC running SunOS 4 sparc-*-sunos4*
+Tsqware Sparclet sparclet-*-*
+Fujitsu SPARClite sparclite-fujitsu-none or sparclite
+
+*** Changes in GDB 6.0:
+
+* Objective-C
+
+Support for debugging the Objective-C programming language has been
+integrated into GDB.
+
+* New backtrace mechanism (includes DWARF 2 Call Frame Information).
+
+DWARF 2's Call Frame Information makes available compiler generated
+information that more exactly describes the program's run-time stack.
+By using this information, GDB is able to provide more robust stack
+backtraces.
+
+The i386, amd64 (nee, x86-64), Alpha, m68hc11, ia64, and m32r targets
+have been updated to use a new backtrace mechanism which includes
+DWARF 2 CFI support.
+
+* Hosted file I/O.
+
+GDB's remote protocol has been extended to include support for hosted
+file I/O (where the remote target uses GDB's file system). See GDB's
+remote protocol documentation for details.
+
+* All targets using the new architecture framework.
+
+All of GDB's targets have been updated to use the new internal
+architecture framework. The way is now open for future GDB releases
+to include cross-architecture native debugging support (i386 on amd64,
+ppc32 on ppc64).
+
+* GNU/Linux's Thread Local Storage (TLS)
+
+GDB now includes support for for the GNU/Linux implementation of
+per-thread variables.
+
+* GNU/Linux's Native POSIX Thread Library (NPTL)
+
+GDB's thread code has been updated to work with either the new
+GNU/Linux NPTL thread library or the older "LinuxThreads" library.
+
+* Separate debug info.
+
+GDB, in conjunction with BINUTILS, now supports a mechanism for
+automatically loading debug information from a separate file. Instead
+of shipping full debug and non-debug versions of system libraries,
+system integrators can now instead ship just the stripped libraries
+and optional debug files.
+
+* DWARF 2 Location Expressions
+
+DWARF 2 Location Expressions allow the compiler to more completely
+describe the location of variables (even in optimized code) to the
+debugger.
+
+GDB now includes preliminary support for location expressions (support
+for DW_OP_piece is still missing).
+
+* Java
+
+A number of long standing bugs that caused GDB to die while starting a
+Java application have been fixed. GDB's Java support is now
+considered "useable".
+
+* GNU/Linux support for fork, vfork, and exec.
+
+The "catch fork", "catch exec", "catch vfork", and "set follow-fork-mode"
+commands are now implemented for GNU/Linux. They require a 2.5.x or later
+kernel.
+
+* GDB supports logging output to a file
+
+There are two new commands, "set logging" and "show logging", which can be
+used to capture GDB's output to a file.
+
+* The meaning of "detach" has changed for gdbserver
+
+The "detach" command will now resume the application, as documented. To
+disconnect from gdbserver and leave it stopped, use the new "disconnect"
+command.
+
+* d10v, m68hc11 `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.
+
+* New native configurations.
+
+FreeBSD/amd64 x86_64-*-freebsd*
+
+* Multi-arched targets.
+
+HP/PA HPUX11 hppa*-*-hpux*
+Renesas M32R/D w/simulator m32r-*-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.
+
+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]".
* 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 Linux and Solaris, but should be relatively easily
-ported to other hosts. Argument is core file name (defaults
-to core.<pid>).
+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 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 Linux x86_64-*-linux-*
+AMD x86-64 running GNU/Linux x86_64-*-linux-*
+Sparc64 running FreeBSD sparc64-*-freebsd*
* New targets
Alpha FreeBSD alpha*-*-freebsd*
x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]*
-MIPS Linux mips*-*-linux*
+MIPS GNU/Linux mips*-*-linux*
MIPS SGI Irix 6.x mips*-sgi-irix6*
ia64 AIX ia64-*-aix*
-s390 and s390x Linux {s390,s390x}-*-linux*
+s390 and s390x GNU/Linux {s390,s390x}-*-linux*
* New targets
Motorola 68HC11 and 68HC12 m68hc11-elf
CRIS cris-axis
-UltraSparc running Linux sparc64-*-linux*
+UltraSparc running GNU/Linux sparc64-*-linux*
* OBSOLETE configurations and files
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