X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FNEWS;h=0867bde4c7849434a64507dd1bea7cf6dca1d545;hb=87273c713f0e22999692252d3dcdbb5613ab5729;hp=377ebee0e7d2e186de68a4109e139fbb5636abbb;hpb=c00d8242d41732e975055e336765d897acbd74b2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 377ebee0e7..0867bde4c7 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,5 +1,527 @@ - What has changed since GDB-3.5? - (Organized release by release) + What has changed in GDB? + (Organized release by release) + +*** Changes since GDB-4.15: + +* New native configurations + +Windows 95, Windows NT i[345]86-*-win32 + +* New targets + +ARM via RDP protocol arm-*-* +PowerPC via PPCBUG monitor powerpc{,le}-*-eabi* +PowerPC simulator powerpc{,le}-*-eabi if building with GCC + +* Send break instead of ^C + +The standard remote protocol now includes an option to send a break +rather than a ^C to the target in order to interrupt it. By default, +GDB will send ^C; to send a break, set the variable `remotebreak' to 1. + +* Automatic tracking of dynamic object loading (HPUX only at the moment). + +By default GDB will automatically keep track of objects as they are +loaded and unloaded by the dynamic linker. By using the command +"set stop-on-solib-events 1" you can arrange for GDB to stop the +inferior when shared library events occur, thus allowing you to +set breakpoints in shared libraries which are explicitly loaded by +the inferior. + +Note this feature does not work on hpux8. On hpux9 you must link +/usr/lib/end.o into your program. This feature should work automatically +on hpux10. + +*** Changes in GDB-4.15: + +* Psymtabs for XCOFF + +The symbol reader for AIX GDB now uses partial symbol tables. This +can greatly improve startup time, especially for large executables. + +* Remote targets use caching + +Remote targets now use a data cache to speed up communication with the +remote side. The data cache could lead to incorrect results because +it doesn't know about volatile variables, thus making it impossible to +debug targets which use memory mapped I/O devices. `set remotecache +off' turns the the data cache off. + +* Remote targets may have threads + +The standard remote protocol now includes support for multiple threads +in the target system, using new protocol commands 'H' and 'T'. See +gdb/remote.c for details. + +* NetROM support + +If GDB is configured with `--enable-netrom', then it will include +support for the NetROM ROM emulator from XLNT Designs. The NetROM +acts as though it is a bank of ROM on the target board, but you can +write into it over the network. GDB's support consists only of +support for fast loading into the emulated ROM; to debug, you must use +another protocol, such as standard remote protocol. The usual +sequence is something like + + target nrom + load + target remote :1235 + +* Macintosh host + +GDB now includes support for the Apple Macintosh, as a host only. It +may be run as either an MPW tool or as a standalone application, and +it can debug through the serial port. All the usual GDB commands are +available, but to the target command, you must supply "serial" as the +device type instead of "/dev/ttyXX". See mpw-README in the main +directory for more information on how to build. The MPW configuration +scripts */mpw-config.in support only a few targets, and only the +mips-idt-ecoff target has been tested. + +* Autoconf + +GDB configuration now uses autoconf. This is not user-visible, +but does simplify configuration and building. + +* hpux10 + +GDB now supports hpux10. + +*** 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: