What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 6.0:
+*** Changes since GDB 6.3
+* Deprecated commands removed
+
+The following commands, that were deprecated in 2000, have been
+removed:
+
+ Command Replacement
+ set|show arm disassembly-flavor set|show arm disassembler
+ othernames set arm disassembler
+ set|show remotedebug set|show debug remote
+ set|show archdebug set|show debug arch
+ set|show eventdebug set|show debug event
+ regs info registers
+
+* New BSD user-level threads support
+
+It is now possible to debug programs using the user-level threads
+library on OpenBSD and FreeBSD. Currently supported (target)
+configurations are:
+
+FreeBSD/amd64 x86_64-*-freebsd*
+FreeBSD/i386 i386-*-freebsd*
+OpenBSD/i386 i386-*-openbsd*
+
+Note that the new kernel threads libraries introduced in FreeBSD 5.x
+are not yet supported.
+
+* New support for Matsushita MN10300 w/sim added
+(Work in progress). mn10300-elf.
+
+* REMOVED configurations and files
+
+VxWorks and the XDR protocol *-*-vxworks
+Renesas H8/300S h8300*-*-*
+Motorola MCORE mcore-*-*
+Matsushita MN10300 w/simulator mn10300-*-*
+National Semiconductor NS32000 ns32k-*-*
+NEC V850 v850-*-*
+
+*** Changes in GDB 6.3:
+
+* New command line option
+
+GDB now accepts -l followed by a number to set the timeout for remote
+debugging.
+
+* GDB works with GCC -feliminate-dwarf2-dups
+
+GDB now supports a more compact representation of DWARF-2 debug
+information using DW_FORM_ref_addr references. These are produced
+by GCC with the option -feliminate-dwarf2-dups and also by some
+proprietary compilers. With GCC, you must use GCC 3.3.4 or later
+to use -feliminate-dwarf2-dups.
+
+* Internationalization
+
+When supported by the host system, GDB will be built with
+internationalization (libintl). The task of marking up the sources is
+continued, we're looking forward to our first translation.
+
+* Ada
+
+Initial support for debugging programs compiled with the GNAT
+implementation of the Ada programming language has been integrated
+into GDB. In this release, support is limited to expression evaluation.
+
+* New native configurations
+
+GNU/Linux/m32r m32r-*-linux-gnu
+
+* Remote 'p' packet
+
+GDB's remote protocol now includes support for the 'p' packet. This
+packet is used to fetch individual registers from a remote inferior.
+
+* END-OF-LIFE registers[] compatibility module
+
+GDB's internal register infrastructure has been completely rewritten.
+The new infrastructure making possible the implementation of key new
+features including 32x64 (e.g., 64-bit amd64 GDB debugging a 32-bit
+i386 application).
+
+GDB 6.3 will be the last release to include the the registers[]
+compatibility module that allowed out-of-date configurations to
+continue to work. This change directly impacts the following
+configurations:
+
+hppa-*-hpux
+ia64-*-aix
+mips-*-irix*
+*-*-lynx
+mips-*-linux-gnu
+sds protocol
+xdr protocol
+powerpc bdm protocol
+
+Unless there is activity to revive these configurations, they will be
+made OBSOLETE in GDB 6.4, and REMOVED from GDB 6.5.
+
+* 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.
+
+h8300-*-*
+mcore-*-*
+mn10300-*-*
+ns32k-*-*
+sh64-*-*
+v850-*-*
+
+*** Changes in GDB 6.2.1:
+
+* MIPS `break main; run' gave an heuristic-fence-post warning
+
+When attempting to run even a simple program, a warning about
+heuristic-fence-post being hit would be reported. This problem has
+been fixed.
+
+* MIPS IRIX 'long double' crashed GDB
+
+When examining a long double variable, GDB would get a segmentation
+fault. The crash has been fixed (but GDB 6.2 cannot correctly examine
+IRIX long double values).
+
+* VAX and "next"
+
+A bug in the VAX stack code was causing problems with the "next"
+command. This problem has been fixed.
+
+*** Changes in GDB 6.2:
+
+* Fix for ``many threads''
+
+On GNU/Linux systems that use the NPTL threads library, a program
+rapidly creating and deleting threads would confuse GDB leading to the
+error message:
+
+ ptrace: No such process.
+ thread_db_get_info: cannot get thread info: generic error
+
+This problem has been fixed.
+
+* "-async" and "-noasync" options removed.
+
+Support for the broken "-noasync" option has been removed (it caused
+GDB to dump core).
+
+* New ``start'' command.
+
+This command runs the program until the begining of the main procedure.
+
+* New BSD Kernel Data Access Library (libkvm) interface
+
+Using ``target kvm'' it is now possible to debug kernel core dumps and
+live kernel memory images on various FreeBSD, NetBSD and OpenBSD
+platforms. Currently supported (native-only) configurations are:
+
+FreeBSD/amd64 x86_64-*-freebsd*
+FreeBSD/i386 i?86-*-freebsd*
+NetBSD/i386 i?86-*-netbsd*
+NetBSD/m68k m68*-*-netbsd*
+NetBSD/sparc sparc-*-netbsd*
+OpenBSD/amd64 x86_64-*-openbsd*
+OpenBSD/i386 i?86-*-openbsd*
+OpenBSD/m68k m68*-openbsd*
+OpenBSD/sparc sparc-*-openbsd*
+
+* 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.
+
+Please note that kernel bugs are a limiting factor here. These
+features have been shown to work on an s390 GNU/Linux system that
+include a 2.6.8-rc1 kernel. Ref PR breakpoints/1702.
+
+* Cygwin support for DWARF 2 added.
+
+* New native configurations
+
+GNU/Linux/hppa hppa*-*-linux*
+OpenBSD/hppa hppa*-*-openbsd*
+OpenBSD/m68k m68*-*-openbsd*
+OpenBSD/m88k m88*-*-openbsd*
+OpenBSD/powerpc powerpc-*-openbsd*
+NetBSD/vax vax-*-netbsd*
+OpenBSD/vax vax-*-openbsd*
+
+* END-OF-LIFE frame compatibility module
+
+GDB's internal frame infrastructure has been completely rewritten.
+The new infrastructure making it possible to support key new features
+including DWARF 2 Call Frame Information. To aid in the task of
+migrating old configurations to this new infrastructure, a
+compatibility module, that allowed old configurations to continue to
+work, was also included.
+
+GDB 6.2 will be the last release to include this frame compatibility
+module. This change directly impacts the following configurations:
+
+h8300-*-*
+mcore-*-*
+mn10300-*-*
+ns32k-*-*
+sh64-*-*
+v850-*-*
+xstormy16-*-*
+
+Unless there is activity to revive these configurations, they will be
+made OBSOLETE in GDB 6.3, and REMOVED from GDB 6.4.
+
+* 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.1:
+
+* TUI (Text-mode User Interface) built-in (also included in GDB 6.1)
+
+The TUI (Text-mode User Interface) is now built as part of a default
+GDB configuration. It is enabled by either selecting the TUI with the
+command line option "-i=tui" or by running the separate "gdbtui"
+program. For more information on the TUI, see the manual "Debugging
+with GDB".
+
+* Pending breakpoint support (also included in GDB 6.1)
+
+Support has been added to allow you to specify breakpoints in shared
+libraries that have not yet been loaded. If a breakpoint location
+cannot be found, and the "breakpoint pending" option is set to auto,
+GDB queries you if you wish to make the breakpoint pending on a future
+shared-library load. If and when GDB resolves the breakpoint symbol,
+the pending breakpoint is removed as one or more regular breakpoints
+are created.
+
+Pending breakpoints are very useful for GCJ Java debugging.
+
+* Fixed ISO-C build problems
+
+The files bfd/elf-bfd.h, gdb/dictionary.c and gdb/types.c contained
+non ISO-C code that stopped them being built using a more strict ISO-C
+compiler (e.g., IBM's C compiler).
+
+* 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.
+
+* Fixed build problem on hpux2.0w-hp-hpux11.00 using the HP ANSI C compiler
+
+Older HPUX ANSI C compilers did not accept variable array sizes. somsolib.c
+has been updated to use constant array sizes.
+
+* Fixed a panic in the DWARF Call Frame Info code on Solaris 2.7
+
+GCC 3.3.2, on Solaris 2.7, includes the DW_EH_PE_funcrel encoding in
+its generated DWARF Call Frame Info. This encoding was causing GDB to
+panic, that panic has been fixed. Ref: gdb/1628.
+
+* Fixed a problem when examining parameters in shared library code.
+
+When examining parameters in optimized shared library code generated
+by a mainline GCC, GDB would incorrectly report ``Variable "..." is
+not available''. GDB now correctly displays the variable's value.
+
+*** 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 `regs' command deprecated
+* 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.
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, 32bit ABI (partial) hppa*-*-hpux* except hppa*64*-*-hpux11*
+HP/PA HPUX11 hppa*-*-hpux*
+Renesas M32R/D w/simulator m32r-*-elf*
* OBSOLETE configurations and files
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