X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=e764e3610ab10b402976e4df7a0ec5321d930f08;hb=73dab896d406ce96df17d78204c84c5a5c477075;hp=c1899655d4b093458ceb39ea9169993603792bb8;hpb=3ddcdc596c0d5c0777b2d9eb9713dfcf4eaf6ad0;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index c1899655d4..e764e3610a 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,5 +1,589 @@ - What has changed since GDB-3.5? - (Organized release by release) + What has changed in GDB? + (Organized release by release) + +*** Changes in GDB-4.14: + +* New native configurations + +x86 FreeBSD i[345]86-*-freebsd +x86 NetBSD i[345]86-*-netbsd +NS32k NetBSD ns32k-*-netbsd +Sparc NetBSD sparc-*-netbsd + +* New targets + +A29K VxWorks a29k-*-vxworks +HP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro* +CPU32 EST-300 emulator m68*-*-est* +PowerPC ELF powerpc-*-elf +WDC 65816 w65-*-* + +* Alpha OSF/1 support for procfs + +GDB now supports procfs under OSF/1-2.x and higher, which makes it +possible to attach to running processes. As the mounting of the /proc +filesystem is optional on the Alpha, GDB automatically determines +the availability of /proc during startup. This can lead to problems +if /proc is unmounted after GDB has been started. + +* Arguments to user-defined commands + +User commands may accept up to 10 arguments separated by whitespace. +Arguments are accessed within the user command via $arg0..$arg9. A +trivial example: +define adder + print $arg0 + $arg1 + $arg2 + +To execute the command use: +adder 1 2 3 + +Defines the command "adder" which prints the sum of its three arguments. +Note the arguments are text substitutions, so they may reference variables, +use complex expressions, or even perform inferior function calls. + +* New `if' and `while' commands + +This makes it possible to write more sophisticated user-defined +commands. Both commands take a single argument, which is the +expression to evaluate, and must be followed by the commands to +execute, one per line, if the expression is nonzero, the list being +terminated by the word `end'. The `if' command list may include an +`else' word, which causes the following commands to be executed only +if the expression is zero. + +* Fortran source language mode + +GDB now includes partial support for Fortran 77. It will recognize +Fortran programs and can evaluate a subset of Fortran expressions, but +variables and functions may not be handled correctly. GDB will work +with G77, but does not yet know much about symbols emitted by other +Fortran compilers. + +* Better HPUX support + +Most debugging facilities now work on dynamic executables for HPPAs +running hpux9 or later. You can attach to running dynamically linked +processes, but by default the dynamic libraries will be read-only, so +for instance you won't be able to put breakpoints in them. To change +that behavior do the following before running the program: + + adb -w a.out + __dld_flags?W 0x5 + control-d + +This will cause the libraries to be mapped private and read-write. +To revert to the normal behavior, do this: + + adb -w a.out + __dld_flags?W 0x4 + control-d + +You cannot set breakpoints or examine data in the library until after +the library is loaded if the function/data symbols do not have +external linkage. + +GDB can now also read debug symbols produced by the HP C compiler on +HPPAs (sorry, no C++, Fortran or 68k support). + +* Target byte order now dynamically selectable + +You can choose which byte order to use with a target system, via the +commands "set endian big" and "set endian little", and you can see the +current setting by using "show endian". You can also give the command +"set endian auto", in which case GDB will use the byte order +associated with the executable. Currently, only embedded MIPS +configurations support dynamic selection of target byte order. + +* New DOS host serial code + +This version uses DPMI interrupts to handle buffered I/O, so you +no longer need to run asynctsr when debugging boards connected to +a PC's serial port. + +*** Changes in GDB-4.13: + +* New "complete" command + +This lists all the possible completions for the rest of the line, if it +were to be given as a command itself. This is intended for use by emacs. + +* Trailing space optional in prompt + +"set prompt" no longer adds a space for you after the prompt you set. This +allows you to set a prompt which ends in a space or one that does not. + +* Breakpoint hit counts + +"info break" now displays a count of the number of times the breakpoint +has been hit. This is especially useful in conjunction with "ignore"; you +can ignore a large number of breakpoint hits, look at the breakpoint info +to see how many times the breakpoint was hit, then run again, ignoring one +less than that number, and this will get you quickly to the last hit of +that breakpoint. + +* Ability to stop printing at NULL character + +"set print null-stop" will cause GDB to stop printing the characters of +an array when the first NULL is encountered. This is useful when large +arrays actually contain only short strings. + +* Shared library breakpoints + +In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set +breakpoints in shared libraries before the executable is run. + +* Hardware watchpoints + +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. + +* Annotations + +Annotations have been added. These are for use with graphical interfaces, +and are still experimental. Currently only gdba.el uses these. + +* Improved Irix 5 support + +GDB now works properly with Irix 5.2. + +* Improved HPPA support + +GDB now works properly with the latest GCC and GAS. + +* New native configurations + +Sequent PTX4 i[34]86-sequent-ptx4 +HPPA running OSF/1 hppa*-*-osf* +Atari TT running SVR4 m68*-*-sysv4* +RS/6000 LynxOS rs6000-*-lynxos* + +* New targets + +OS/9000 i[34]86-*-os9k +MIPS R4000 mips64*{,el}-*-{ecoff,elf} +Sparc64 sparc64-*-* + +* Hitachi SH7000 and E7000-PC ICE support + +There is now support for communicating with the Hitachi E7000-PC ICE. +This is available automatically when GDB is configured for the SH. + +* Fixes + +As usual, a variety of small fixes and improvements, both generic +and configuration-specific. See the ChangeLog for more detail. + +*** Changes in GDB-4.12: + +* Irix 5 is now supported + +* HPPA support + +GDB-4.12 on the HPPA has a number of changes which make it unable +to debug the output from the currently released versions of GCC and +GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36). Until the next major release +of GCC and GAS, versions of these tools designed to work with GDB-4.12 +can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist. + + +*** Changes in GDB-4.11: + +* User visible changes: + +* Remote Debugging + +The "set remotedebug" option is now consistent between the mips remote +target, remote targets using the gdb-specific protocol, UDI (AMD's +debug protocol for the 29k) and the 88k bug monitor. It is now an +integer specifying a debug level (normally 0 or 1, but 2 means more +debugging info for the mips target). + +* DEC Alpha native support + +GDB now works on the DEC Alpha. GCC 2.4.5 does not produce usable +debug info, but GDB works fairly well with the DEC compiler and should +work with a future GCC release. See the README file for a few +Alpha-specific notes. + +* Preliminary thread implementation + +GDB now has preliminary thread support for both SGI/Irix and LynxOS. + +* LynxOS native and target support for 386 + +This release has been hosted on LynxOS 2.2, and also can be configured +to remotely debug programs running under LynxOS (see gdb/gdbserver/README +for details). + +* Improvements in C++ mangling/demangling. + +This release has much better g++ debugging, specifically in name +mangling/demangling, virtual function calls, print virtual table, +call methods, ...etc. + +*** Changes in GDB-4.10: + + * User visible changes: + +Remote debugging using the GDB-specific (`target remote') protocol now +supports the `load' command. This is only useful if you have some +other way of getting the stub to the target system, and you can put it +somewhere in memory where it won't get clobbered by the download. + +Filename completion now works. + +When run under emacs mode, the "info line" command now causes the +arrow to point to the line specified. Also, "info line" prints +addresses in symbolic form (as well as hex). + +All vxworks based targets now support a user settable option, called +vxworks-timeout. This option represents the number of seconds gdb +should wait for responses to rpc's. You might want to use this if +your vxworks target is, perhaps, a slow software simulator or happens +to be on the far side of a thin network line. + + * DEC alpha support + +This release contains support for using a DEC alpha as a GDB host for +cross debugging. Native alpha debugging is not supported yet. + + +*** Changes in GDB-4.9: + + * Testsuite + +This is the first GDB release which is accompanied by a matching testsuite. +The testsuite requires installation of dejagnu, which should be available +via ftp from most sites that carry GNU software. + + * C++ demangling + +'Cfront' style demangling has had its name changed to 'ARM' style, to +emphasize that it was written from the specifications in the C++ Annotated +Reference Manual, not necessarily to be compatible with AT&T cfront. Despite +disclaimers, it still generated too much confusion with users attempting to +use gdb with AT&T cfront. + + * Simulators + +GDB now uses a standard remote interface to a simulator library. +So far, the library contains simulators for the Zilog Z8001/2, the +Hitachi H8/300, H8/500 and Super-H. + + * New targets supported + +H8/300 simulator h8300-hitachi-hms or h8300hms +H8/500 simulator h8500-hitachi-hms or h8500hms +SH simulator sh-hitachi-hms or sh +Z8000 simulator z8k-zilog-none or z8ksim +IDT MIPS board over serial line mips-idt-ecoff + +Cross-debugging to GO32 targets is supported. It requires a custom +version of the i386-stub.c module which is integrated with the +GO32 memory extender. + + * New remote protocols + +MIPS remote debugging protocol. + + * New source languages supported + +This version includes preliminary support for Chill, a Pascal like language +used by telecommunications companies. Chill support is also being integrated +into the GNU compiler, but we don't know when it will be publically available. + + +*** Changes in GDB-4.8: + + * HP Precision Architecture supported + +GDB now supports HP PA-RISC machines running HPUX. A preliminary +version of this support was available as a set of patches from the +University of Utah. GDB does not support debugging of programs +compiled with the HP compiler, because HP will not document their file +format. Instead, you must use GCC (version 2.3.2 or later) and PA-GAS +(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z). + +Many problems in the preliminary version have been fixed. + + * Faster and better demangling + +We have improved template demangling and fixed numerous bugs in the GNU style +demangler. It can now handle type modifiers such as `static' or `const'. Wide +character types (wchar_t) are now supported. Demangling of each symbol is now +only done once, and is cached when the symbol table for a file is read in. +This results in a small increase in memory usage for C programs, a moderate +increase in memory usage for C++ programs, and a fantastic speedup in +symbol lookups. + +`Cfront' style demangling still doesn't work with AT&T cfront. It was written +from the specifications in the Annotated Reference Manual, which AT&T's +compiler does not actually implement. + + * G++ multiple inheritance compiler problem + +In the 2.3.2 release of gcc/g++, how the compiler resolves multiple +inheritance lattices was reworked to properly discover ambiguities. We +recently found an example which causes this new algorithm to fail in a +very subtle way, producing bad debug information for those classes. +The file 'gcc.patch' (in this directory) can be applied to gcc to +circumvent the problem. A future GCC release will contain a complete +fix. + +The previous G++ debug info problem (mentioned below for the gdb-4.7 +release) is fixed in gcc version 2.3.2. + + * Improved configure script + +The `configure' script will now attempt to guess your system type if +you don't supply a host system type. The old scheme of supplying a +host system triplet is preferable over using this. All the magic is +done in the new `config.guess' script. Examine it for details. + +We have also brought our configure script much more in line with the FSF's +version. It now supports the --with-xxx options. In particular, +`--with-minimal-bfd' can be used to make the GDB binary image smaller. +The resulting GDB will not be able to read arbitrary object file formats -- +only the format ``expected'' to be used on the configured target system. +We hope to make this the default in a future release. + + * Documentation improvements + +There's new internal documentation on how to modify GDB, and how to +produce clean changes to the code. We implore people to read it +before submitting changes. + +The GDB manual uses new, sexy Texinfo conditionals, rather than arcane +M4 macros. The new texinfo.tex is provided in this release. Pre-built +`info' files are also provided. To build `info' files from scratch, +you will need the latest `makeinfo' release, which will be available in +a future texinfo-X.Y release. + +*NOTE* The new texinfo.tex can cause old versions of TeX to hang. +We're not sure exactly which versions have this problem, but it has +been seen in 3.0. We highly recommend upgrading to TeX version 3.141 +or better. If that isn't possible, there is a patch in +`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work +around this problem. + + * New features + +GDB now supports array constants that can be used in expressions typed in by +the user. The syntax is `{element, element, ...}'. Ie: you can now type +`print {1, 2, 3}', and it will build up an array in memory malloc'd in +the target program. + +The new directory `gdb/sparclite' contains a program that demonstrates +how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor. + + * New native hosts supported + +HP/PA-RISC under HPUX using GNU tools hppa1.1-hp-hpux +386 CPUs running SCO Unix 3.2v4 i386-unknown-sco3.2v4 + + * New targets supported + +AMD 29k family via UDI a29k-amd-udi or udi29k + + * New file formats supported + +BFD now supports reading HP/PA-RISC executables (SOM file format?), +HPUX core files, and SCO 3.2v2 core files. + + * Major bug fixes + +Attaching to processes now works again; thanks for the many bug reports. + +We have also stomped on a bunch of core dumps caused by +printf_filtered("%s") problems. + +We eliminated a copyright problem on the rpc and ptrace header files +for VxWorks, which was discovered at the last minute during the 4.7 +release. You should now be able to build a VxWorks GDB. + +You can now interrupt gdb while an attached process is running. This +will cause the attached process to stop, and give control back to GDB. + +We fixed problems caused by using too many file descriptors +for reading symbols from object files and libraries. This was +especially a problem for programs that used many (~100) shared +libraries. + +The `step' command now only enters a subroutine if there is line number +information for the subroutine. Otherwise it acts like the `next' +command. Previously, `step' would enter subroutines if there was +any debugging information about the routine. This avoids problems +when using `cc -g1' on MIPS machines. + + * Internal improvements + +GDB's internal interfaces have been improved to make it easier to support +debugging of multiple languages in the future. + +GDB now uses a common structure for symbol information internally. +Minimal symbols (derived from linkage symbols in object files), partial +symbols (from a quick scan of debug information), and full symbols +contain a common subset of information, making it easier to write +shared code that handles any of them. + + * New command line options + +We now accept --silent as an alias for --quiet. + + * Mmalloc licensing + +The memory-mapped-malloc library is now licensed under the GNU Library +General Public License. + +*** Changes in GDB-4.7: + + * Host/native/target split + +GDB has had some major internal surgery to untangle the support for +hosts and remote targets. Now, when you configure GDB for a remote +target, it will no longer load in all of the support for debugging +local programs on the host. When fully completed and tested, this will +ensure that arbitrary host/target combinations are possible. + +The primary conceptual shift is to separate the non-portable code in +GDB into three categories. Host specific code is required any time GDB +is compiled on that host, regardless of the target. Target specific +code relates to the peculiarities of the target, but can be compiled on +any host. Native specific code is everything else: it can only be +built when the host and target are the same system. Child process +handling and core file support are two common `native' examples. + +GDB's use of /proc for controlling Unix child processes is now cleaner. +It has been split out into a single module under the `target_ops' vector, +plus two native-dependent functions for each system that uses /proc. + + * New hosts supported + +HP/Apollo 68k (under the BSD domain) m68k-apollo-bsd or apollo68bsd +386 CPUs running various BSD ports i386-unknown-bsd or 386bsd +386 CPUs running SCO Unix i386-unknown-scosysv322 or i386sco + + * New targets supported + +Fujitsu SPARClite sparclite-fujitsu-none or sparclite +68030 and CPU32 m68030-*-*, m68332-*-* + + * New native hosts supported + +386 CPUs running various BSD ports i386-unknown-bsd or 386bsd + (386bsd is not well tested yet) +386 CPUs running SCO Unix i386-unknown-scosysv322 or sco + + * New file formats supported + +BFD now supports COFF files for the Zilog Z8000 microprocessor. It +supports reading of `a.out.adobe' object files, which are an a.out +format extended with minimal information about multiple sections. + + * New commands + +`show copying' is the same as the old `info copying'. +`show warranty' is the same as `info warrantee'. +These were renamed for consistency. The old commands continue to work. + +`info handle' is a new alias for `info signals'. + +You can now define pre-command hooks, which attach arbitrary command +scripts to any command. The commands in the hook will be executed +prior to the user's command. You can also create a hook which will be +executed whenever the program stops. See gdb.texinfo. + + * C++ improvements + +We now deal with Cfront style name mangling, and can even extract type +info from mangled symbols. GDB can automatically figure out which +symbol mangling style your C++ compiler uses. + +Calling of methods and virtual functions has been improved as well. + + * Major bug fixes + +The crash that occured when debugging Sun Ansi-C compiled binaries is +fixed. This was due to mishandling of the extra N_SO stabs output +by the compiler. + +We also finally got Ultrix 4.2 running in house, and fixed core file +support, with help from a dozen people on the net. + +John M. Farrell discovered that the reason that single-stepping was so +slow on all of the Mips based platforms (primarily SGI and DEC) was +that we were trying to demangle and lookup a symbol used for internal +purposes on every instruction that was being stepped through. Changing +the name of that symbol so that it couldn't be mistaken for a C++ +mangled symbol sped things up a great deal. + +Rich Pixley sped up symbol lookups in general by getting much smarter +about when C++ symbol mangling is necessary. This should make symbol +completion (TAB on the command line) much faster. It's not as fast as +we'd like, but it's significantly faster than gdb-4.6. + + * AMD 29k support + +A new user controllable variable 'call_scratch_address' can +specify the location of a scratch area to be used when GDB +calls a function in the target. This is necessary because the +usual method of putting the scratch area on the stack does not work +in systems that have separate instruction and data spaces. + +We integrated changes to support the 29k UDI (Universal Debugger +Interface), but discovered at the last minute that we didn't have all +of the appropriate copyright paperwork. We are working with AMD to +resolve this, and hope to have it available soon. + + * Remote interfaces + +We have sped up the remote serial line protocol, especially for targets +with lots of registers. It now supports a new `expedited status' ('T') +message which can be used in place of the existing 'S' status message. +This allows the remote stub to send only the registers that GDB +needs to make a quick decision about single-stepping or conditional +breakpoints, eliminating the need to fetch the entire register set for +each instruction being stepped through. + +The GDB remote serial protocol now implements a write-through cache for +registers, only re-reading the registers if the target has run. + +There is also a new remote serial stub for SPARC processors. You can +find it in gdb-4.7/gdb/sparc-stub.c. This was written to support the +Fujitsu SPARClite processor, but will run on any stand-alone SPARC +processor with a serial port. + + * Configuration + +Configure.in files have become much easier to read and modify. A new +`table driven' format makes it more obvious what configurations are +supported, and what files each one uses. + + * Library changes + +There is a new opcodes library which will eventually contain all of the +disassembly routines and opcode tables. At present, it only contains +Sparc and Z8000 routines. This will allow the assembler, debugger, and +disassembler (binutils/objdump) to share these routines. + +The libiberty library is now copylefted under the GNU Library General +Public License. This allows more liberal use, and was done so libg++ +can use it. This makes no difference to GDB, since the Library License +grants all the rights from the General Public License. + + * Documentation + +The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete +reference to the stabs symbol info used by the debugger. It is (as far +as we know) the only published document on this fascinating topic. We +encourage you to read it, compare it to the stabs information on your +system, and send improvements on the document in general (to +bug-gdb@prep.ai.mit.edu). + +And, of course, many bugs have been fixed. + *** Changes in GDB-4.6: