2006-12-05 Markus Deuling <deuling@de.ibm.com>
[deliverable/binutils-gdb.git] / gdb / NEWS
index bd107f6ae63bfefcfacc622501480acc4233cfb3..b2502578e93496cf523f9fef5a8cb3a778e56a7e 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,528 @@
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 6.0:
+*** Changes since GDB 6.6
+
+* The GDB remote stub, gdbserver, now has lower overhead for high 
+frequency signals (e.g. SIGALRM) via the QPassSignals packet.
+
+* New remote packets
+
+QPassSignals:
+  Ignore the specified signals; pass them directly to the debugged program
+  without stopping other threads or reporting them to GDB.
+
+
+*** Changes in GDB 6.6
+
+* New targets
+
+Xtensa                         xtensa-elf
+Cell Broadband Engine SPU      spu-elf
+
+* GDB can now be configured as a cross-debugger targeting native Windows
+(mingw32) or Cygwin.  It can communicate with a remote debugging stub
+running on a Windows system over TCP/IP to debug Windows programs.
+
+* The GDB remote stub, gdbserver, has been updated to support Windows and
+Cygwin debugging.  Both single-threaded and multi-threaded programs are
+supported.
+
+* The "set trust-readonly-sections" command works again.  This command was
+broken in GDB 6.3, 6.4, and 6.5.
+
+* Support for GNU/Linux Thread Local Storage (TLS, per-thread variables) no
+longer requires symbolic debug information (e.g. DWARF-2).
+
+* New commands
+
+set substitute-path
+unset substitute-path
+show substitute-path
+  Manage a list of substitution rules that GDB uses to rewrite the name
+  of the directories where the sources are located. This can be useful
+  for instance when the sources were moved to a different location
+  between compilation and debugging.
+
+set trace-commands
+show trace-commands
+  Print each CLI command as it is executed.  Each command is prefixed with
+  a number of `+' symbols representing the nesting depth.
+  The source command now has a `-v' option to enable the same feature.
+
+* REMOVED features
+
+The ARM Demon monitor support (RDP protocol, "target rdp").
+
+Kernel Object Display, an embedded debugging feature which only worked with
+an obsolete version of Cisco IOS.
+
+The 'set download-write-size' and 'show download-write-size' commands.
+
+* New remote packets
+
+qSupported:
+  Tell a stub about GDB client features, and request remote target features.
+  The first feature implemented is PacketSize, which allows the target to
+  specify the size of packets it can handle - to minimize the number of
+  packets required and improve performance when connected to a remote
+  target.
+
+qXfer:auxv:read:
+  Fetch an OS auxilliary vector from the remote stub.  This packet is a
+  more efficient replacement for qPart:auxv:read.
+
+* Removed remote packets
+
+qPart:auxv:read:
+  This packet has been replaced by qXfer:auxv:read.  Only GDB 6.4 and 6.5
+  used it, and only gdbserver implemented it.
+
+*** Changes in GDB 6.5
+
+* New targets
+
+Renesas M32C/M16C              m32c-elf
+
+Morpho Technologies ms1                ms1-elf
+
+* New commands
+
+init-if-undefined              Initialize a convenience variable, but
+                               only if it doesn't already have a value.
+
+The following commands are presently only implemented for native GNU/Linux:
+
+checkpoint                     Save a snapshot of the program state.
+
+restart        <n>                     Return the program state to a 
+                               previously saved state.
+
+info checkpoints               List currently saved checkpoints.
+
+delete-checkpoint <n>          Delete a previously saved checkpoint.
+
+set|show detach-on-fork                Tell gdb whether to detach from a newly
+                               forked process, or to keep debugging it.
+
+info forks                     List forks of the user program that
+                               are available to be debugged.
+
+fork <n>                       Switch to debugging one of several
+                               forks of the user program that are
+                               available to be debugged.
+
+delete-fork <n>                        Delete a fork from the list of forks
+                               that are available to be debugged (and
+                               kill the forked process).
+
+detach-fork <n>                        Delete a fork from the list of forks
+                               that are available to be debugged (and
+                               allow the process to continue).
+
+* New architecture
+
+Morpho Technologies ms2                ms1-elf
+
+* Improved Windows host support
+
+GDB now builds as a cross debugger hosted on i686-mingw32, including
+native console support, and remote communications using either
+network sockets or serial ports.
+
+* Improved Modula-2 language support
+
+GDB can now print most types in the Modula-2 syntax.  This includes:
+basic types, set types, record types, enumerated types, range types,
+pointer types and ARRAY types.  Procedure var parameters are correctly
+printed and hexadecimal addresses and character constants are also
+written in the Modula-2 syntax.  Best results can be obtained by using
+GNU Modula-2 together with the -gdwarf-2 command line option.
+
+* REMOVED features
+
+The ARM rdi-share module.
+
+The Netware NLM debug server.
+
+*** Changes in GDB 6.4
+
+* New native configurations
+
+OpenBSD/arm                    arm*-*-openbsd*
+OpenBSD/mips64                 mips64-*-openbsd*
+
+* New targets
+
+Morpho Technologies ms1                ms1-elf
+
+* New command line options
+
+--batch-silent                 As for --batch, but totally silent.
+--return-child-result          The debugger will exist with the same value
+                               the child (debugged) program exited with.
+--eval-command COMMAND, -ex COMMAND
+                               Execute a single GDB CLI command. This may be
+                               specified multiple times and in conjunction
+                               with the --command (-x) option.
+
+* 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
+Motorola MCORE                                  mcore-*-*
+National Semiconductor NS32000                 ns32k-*-*
+
+* New "set print array-indexes" command
+
+After turning this setting "on", GDB prints the index of each element
+when displaying arrays.  The default is "off" to preserve the previous
+behavior.
+
+* VAX floating point support
+
+GDB now supports the not-quite-ieee VAX F and D floating point formats.
+
+* User-defined command support
+
+In addition to using $arg0..$arg9 for argument passing, it is now possible
+to use $argc to determine now many arguments have been passed.  See the
+section on user-defined commands in the user manual for more information.
+
+*** 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.
 
@@ -9,8 +530,109 @@ 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"
@@ -62,7 +684,7 @@ FreeBSD/amd64                                        x86_64-*-freebsd*
 * Multi-arched targets.
 
 HP/PA HPUX11                                    hppa*-*-hpux*
-Mitsubishi M32R/D w/simulator                  m32r-*-elf*
+Renesas M32R/D w/simulator                     m32r-*-elf*
 
 * OBSOLETE configurations and files
 
This page took 0.029744 seconds and 4 git commands to generate.