From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3578 invoked by alias); 6 Oct 2003 18:32:14 -0000 Mailing-List: contact gdb-announce-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-announce-owner@sources.redhat.com Received: (qmail 30359 invoked from network); 6 Oct 2003 18:18:21 -0000 To: gdb-announce@sources.redhat.com Subject: GDB 6.0 Released! Message-Id: From: Andrew Cagney Date: Mon, 06 Oct 2003 18:32:00 -0000 X-SW-Source: 2003/txt/msg00007.txt.bz2 GDB 6.0 released! Version 6.0 of GDB, the GNU Debugger, is now available via anonymous FTP. GDB is a source-level debugger for C, C++, Pascal, Objective-C and many other languages. GDB can target (i.e., debug programs running on) more than a dozen different processor architectures, and GDB itself can run on most popular Unix and Microsoft Windows variants. You can download GDB from Project GNU's FTP server in the directory: ftp://ftp.gnu.org/gnu/gdb The previous version, 5.3, was released roughly 10 months ago; and in that time several new features have been added and many bugs have been fixed. The details are below. In addition, a number of late breaking problems have been identified and they are also mentioned below. The vital stats: Size md5sum Name 15689454 e2314b7c9c7670b5384deb90701446f4 gdb-6.0.tar.gz There is a web page for GDB at: http://www.gnu.org/software/gdb/ That page includes information about GDB mailing lists (an announcement mailing list, developers discussion lists, etc.), details on how to access GDB's CVS repository, locations for development snapshots, preformatted documentation, and links to related information around the net. We will put errata notes and host-specific tips for this release on-line as any problems come up. All mailing lists archives are also browsable via the web. Many people have contributed to this release. Thanks to everybody for the help! Keep those fixes and improvements coming in! (See http://www.gnu.org/software/gdb/bugs/) Andrew Cagney on behalf of the GDB Developers. *** 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* Mitsubishi 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''. Known problems in GDB 6.0 See also: http://www.gnu.org/software/gdb/bugs/ mips*-*-* powerpc*-*-* sparc*-*-* GDB's SPARC, MIPS and PowerPC targets, in 6.0, have not been updated to use the new frame mechanism. People encountering problems with these targets should consult GDB's web pages and mailing lists (http://www.gnu.org/software/gdb/) to see if there is an update. arm-*-* GDB's ARM target, in 6.0, has not been updated to use the new frame mechanism. Fortunatly the ARM target, in the GDB's mainline sources, has been updated so people encountering problems should consider downloading a more current GDB (http://www.gnu.org/software/gdb/current). gdb/1091: Constructor breakpoints ignored gdb/1193: g++ 3.3 creates multiple constructors: gdb 5.3 can't set breakpoints When gcc 3.x compiles a C++ constructor or C++ destructor, it generates 2 or 3 different versions of the object code. These versions have unique mangled names (they have to, in order for linking to work), but they have identical source code names, which leads to a great deal of confusion. Specifically, if you set a breakpoint in a constructor or a destructor, gdb will put a breakpoint in one of the versions, but your program may execute the other version. This makes it impossible to set breakpoints reliably in constructors or destructors. gcc 3.x generates these multiple object code functions in order to implement virtual base classes. gcc 2.x generated just one object code function with a hidden parameter, but gcc 3.x conforms to a multi-vendor ABI for C++ which requires multiple object code functions.