X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FNEWS;h=30ebc30440e5a79b6aba8c35e55a4e1ee756cc5f;hb=666547aa9ebfac79a2f7607e0621f6a55c8c6f30;hp=b0c0625e504476a01254dad99333623945f17fd1;hpb=be9d82b8e5c192f1ea29c48fd685f009abd88927;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index b0c0625e50..30ebc30440 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,8 +1,728 @@ - What has changed since GDB-3.5? - (Organized release by release) + What has changed in GDB? + (Organized release by release) -* New "if" and "while" commands. This makes it possible to write -somewhat more sophisticated user-defined commands. +*** Changes since GDB 5.0: + +* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM. + +* New native configurations + +Alpha FreeBSD alpha*-*-freebsd* +x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]* + +* New targets + +* OBSOLETE configurations and files + +x86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*, +Harris/CXUX m88k m88*-harris-cxux* +Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-* + ns32k-utek-sysv* ns32k-utek-* +TI TMS320C80 tic80-*-* +WDC 65816 w65-*-* +Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern* +PowerPC Solaris powerpcle-*-solaris* +PowerPC Windows NT powerpcle-*-cygwin32 +PowerPC Netware powerpc-*-netware* +SunOS 4.0.Xi on i386 i[3456]86-*-sunos* +Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news +ISI Optimum V (3.05) under 4.3bsd. m68*-isi-* +Apple Macintosh (MPW) host N/A + +stuff.c (Program to stuff files into a specially prepared space in kdb) +kdb-start.c (Main loop for the standalone kernel debugger) + +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. + +* REMOVED configurations + +Altos 3068 m68*-altos-* +Convex c1-*-*, c2-*-* +Pyramid pyramid-*-* +ARM RISCix arm-*-* (as host) +Tahoe tahoe-*-* + +* Other news: + +* All MIPS configurations are multi-arched. + +Multi-arch support is enabled for all MIPS configurations. + +* GDB's version number moved to ``version.in'' + +The Makefile variable VERSION has been replaced by the file +``version.in''. People creating GDB distributions should update the +contents of this file. + +* gdba.el deleted + +GUD support is now a standard part of the EMACS distribution. + +*** Changes in GDB 5.0: + +* Improved support for debugging FP programs on x86 targets + +Unified and much-improved support for debugging floating-point +programs on all x86 targets. In particular, ``info float'' now +displays the FP registers in the same format on all x86 targets, with +greater level of detail. + +* Improvements and bugfixes in hardware-assisted watchpoints + +It is now possible to watch array elements, struct members, and +bitfields with hardware-assisted watchpoints. Data-read watchpoints +on x86 targets no longer erroneously trigger when the address is +written. + +* Improvements in the native DJGPP version of GDB + +The distribution now includes all the scripts and auxiliary files +necessary to build the native DJGPP version on MS-DOS/MS-Windows +machines ``out of the box''. + +The DJGPP version can now debug programs that use signals. It is +possible to catch signals that happened in the debuggee, deliver +signals to it, interrupt it with Ctrl-C, etc. (Previously, a signal +would kill the program being debugged.) Programs that hook hardware +interrupts (keyboard, timer, etc.) can also be debugged. + +It is now possible to debug DJGPP programs that redirect their +standard handles or switch them to raw (as opposed to cooked) mode, or +even close them. The command ``run < foo > bar'' works as expected, +and ``info terminal'' reports useful information about the debuggee's +terminal, including raw/cooked mode, redirection, etc. + +The DJGPP version now uses termios functions for console I/O, which +enables debugging graphics programs. Interrupting GDB with Ctrl-C +also works. + +DOS-style file names with drive letters are now fully supported by +GDB. + +It is now possible to debug DJGPP programs that switch their working +directory. It is also possible to rerun the debuggee any number of +times without restarting GDB; thus, you can use the same setup, +breakpoints, etc. for many debugging sessions. + +* New native configurations + +ARM GNU/Linux arm*-*-linux* +PowerPC GNU/Linux powerpc-*-linux* + +* New targets + +Motorola MCore mcore-*-* +x86 VxWorks i[3456]86-*-vxworks* +PowerPC VxWorks powerpc-*-vxworks* +TI TMS320C80 tic80-*-* + +* OBSOLETE configurations + +Altos 3068 m68*-altos-* +Convex c1-*-*, c2-*-* +Pyramid pyramid-*-* +ARM RISCix arm-*-* (as host) +Tahoe tahoe-*-* + +Configurations that have been declared obsolete will be commented out, +but the code will be left in place. If there is no activity to revive +these configurations before the next release of GDB, the sources will +be permanently REMOVED. + +* Gould support removed + +Support for the Gould PowerNode and NP1 has been removed. + +* New features for SVR4 + +On SVR4 native platforms (such as Solaris), if you attach to a process +without first loading a symbol file, GDB will now attempt to locate and +load symbols from the running process's executable file. + +* Many C++ enhancements + +C++ support has been greatly improved. Overload resolution now works properly +in almost all cases. RTTI support is on the way. + +* Remote targets can connect to a sub-program + +A popen(3) style serial-device has been added. This device starts a +sub-process (such as a stand-alone simulator) and then communicates +with that. The sub-program to run is specified using the syntax +``| '' vis: + + (gdb) set remotedebug 1 + (gdb) target extended-remote |mn10300-elf-sim program-args + +* MIPS 64 remote protocol + +A long standing bug in the mips64 remote protocol where by GDB +expected certain 32 bit registers (ex SR) to be transfered as 32 +instead of 64 bits has been fixed. + +The command ``set remote-mips64-transfers-32bit-regs on'' has been +added to provide backward compatibility with older versions of GDB. + +* ``set remotebinarydownload'' replaced by ``set remote X-packet'' + +The command ``set remotebinarydownload'' command has been replaced by +``set remote X-packet''. Other commands in ``set remote'' family +include ``set remote P-packet''. + +* Breakpoint commands accept ranges. + +The breakpoint commands ``enable'', ``disable'', and ``delete'' now +accept a range of breakpoints, e.g. ``5-7''. The tracepoint command +``tracepoint passcount'' also accepts a range of tracepoints. + +* ``apropos'' command added. + +The ``apropos'' command searches through command names and +documentation strings, printing out matches, making it much easier to +try to find a command that does what you are looking for. + +* New MI interface + +A new machine oriented interface (MI) has been added to GDB. This +interface is designed for debug environments running GDB as a separate +process. This is part of the long term libGDB project. See the +"GDB/MI" chapter of the GDB manual for further information. It can be +enabled by configuring with: + + .../configure --enable-gdbmi + +*** Changes in GDB-4.18: + +* New native configurations + +HP-UX 10.20 hppa*-*-hpux10.20 +HP-UX 11.x hppa*-*-hpux11.0* +M68K Linux m68*-*-linux* + +* New targets + +Fujitsu FR30 fr30-*-elf* +Intel StrongARM strongarm-*-* +Mitsubishi D30V d30v-*-* + +* OBSOLETE configurations + +Gould PowerNode, NP1 np1-*-*, pn-*-* + +Configurations that have been declared obsolete will be commented out, +but the code will be left in place. If there is no activity to revive +these configurations before the next release of GDB, the sources will +be permanently REMOVED. + +* ANSI/ISO C + +As a compatibility experiment, GDB's source files buildsym.h and +buildsym.c have been converted to pure standard C, no longer +containing any K&R compatibility code. We believe that all systems in +use today either come with a standard C compiler, or have a GCC port +available. If this is not true, please report the affected +configuration to bug-gdb@gnu.org immediately. See the README file for +information about getting a standard C compiler if you don't have one +already. + +* Readline 2.2 + +GDB now uses readline 2.2. + +* set extension-language + +You can now control the mapping between filename extensions and source +languages by using the `set extension-language' command. For instance, +you can ask GDB to treat .c files as C++ by saying + set extension-language .c c++ +The command `info extensions' lists all of the recognized extensions +and their associated languages. + +* Setting processor type for PowerPC and RS/6000 + +When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target, +you can use the `set processor' command to specify what variant of the +PowerPC family you are debugging. The command + + set processor NAME + +sets the PowerPC/RS6000 variant to NAME. GDB knows about the +following PowerPC and RS6000 variants: + + ppc-uisa PowerPC UISA - a PPC processor as viewed by user-level code + rs6000 IBM RS6000 ("POWER") architecture, user-level view + 403 IBM PowerPC 403 + 403GC IBM PowerPC 403GC + 505 Motorola PowerPC 505 + 860 Motorola PowerPC 860 or 850 + 601 Motorola PowerPC 601 + 602 Motorola PowerPC 602 + 603 Motorola/IBM PowerPC 603 or 603e + 604 Motorola PowerPC 604 or 604e + 750 Motorola/IBM PowerPC 750 or 750 + +At the moment, this command just tells GDB what to name the +special-purpose processor registers. Since almost all the affected +registers are inaccessible to user-level programs, this command is +only useful for remote debugging in its present form. + +* HP-UX support + +Thanks to a major code donation from Hewlett-Packard, GDB now has much +more extensive support for HP-UX. Added features include shared +library support, kernel threads and hardware watchpoints for 11.00, +support for HP's ANSI C and C++ compilers, and a compatibility mode +for xdb and dbx commands. + +* Catchpoints + +HP's donation includes the new concept of catchpoints, which is a +generalization of the old catch command. On HP-UX, it is now possible +to catch exec, fork, and vfork, as well as library loading. + +This means that the existing catch command has changed; its first +argument now specifies the type of catch to be set up. See the +output of "help catch" for a list of catchpoint types. + +* Debugging across forks + +On HP-UX, you can choose which process to debug when a fork() happens +in the inferior. + +* TUI + +HP has donated a curses-based terminal user interface (TUI). To get +it, build with --enable-tui. Although this can be enabled for any +configuration, at present it only works for native HP debugging. + +* GDB remote protocol additions + +A new protocol packet 'X' that writes binary data is now available. +Default behavior is to try 'X', then drop back to 'M' if the stub +fails to respond. The settable variable `remotebinarydownload' +allows explicit control over the use of 'X'. + +For 64-bit targets, the memory packets ('M' and 'm') can now contain a +full 64-bit address. The command + + set remoteaddresssize 32 + +can be used to revert to the old behaviour. For existing remote stubs +the change should not be noticed, as the additional address information +will be discarded. + +In order to assist in debugging stubs, you may use the maintenance +command `packet' to send any text string to the stub. For instance, + + maint packet heythere + +sends the packet "$heythere#". Note that it is very easy to +disrupt a debugging session by sending the wrong packet at the wrong +time. + +The compare-sections command allows you to compare section data on the +target to what is in the executable file without uploading or +downloading, by comparing CRC checksums. + +* Tracing can collect general expressions + +You may now collect general expressions at tracepoints. This requires +further additions to the target-side stub; see tracepoint.c and +doc/agentexpr.texi for further details. + +* mask-address variable for Mips + +For Mips targets, you may control the zeroing of the upper 32 bits of +a 64-bit address by entering `set mask-address on'. This is mainly +of interest to users of embedded R4xxx and R5xxx processors. + +* Higher serial baud rates + +GDB's serial code now allows you to specify baud rates 57600, 115200, +230400, and 460800 baud. (Note that your host system may not be able +to achieve all of these rates.) + +* i960 simulator + +The i960 configuration now includes an initial implementation of a +builtin simulator, contributed by Jim Wilson. + + +*** Changes in GDB-4.17: + +* New native configurations + +Alpha GNU/Linux alpha*-*-linux* +Unixware 2.x i[3456]86-unixware2* +Irix 6.x mips*-sgi-irix6* +PowerPC GNU/Linux powerpc-*-linux* +PowerPC Solaris powerpcle-*-solaris* +Sparc GNU/Linux sparc-*-linux* +Motorola sysV68 R3V7.1 m68k-motorola-sysv + +* New targets + +Argonaut Risc Chip (ARC) arc-*-* +Hitachi H8/300S h8300*-*-* +Matsushita MN10200 w/simulator mn10200-*-* +Matsushita MN10300 w/simulator mn10300-*-* +MIPS NEC VR4100 mips64*vr4100*{,el}-*-elf* +MIPS NEC VR5000 mips64*vr5000*{,el}-*-elf* +MIPS Toshiba TX39 mips64*tx39*{,el}-*-elf* +Mitsubishi D10V w/simulator d10v-*-* +Mitsubishi M32R/D w/simulator m32r-*-elf* +Tsqware Sparclet sparclet-*-* +NEC V850 w/simulator v850-*-* + +* New debugging protocols + +ARM with RDI protocol arm*-*-* +M68K with dBUG monitor m68*-*-{aout,coff,elf} +DDB and LSI variants of PMON protocol mips*-*-* +PowerPC with DINK32 monitor powerpc{,le}-*-eabi +PowerPC with SDS protocol powerpc{,le}-*-eabi +Macraigor OCD (Wiggler) devices powerpc{,le}-*-eabi + +* DWARF 2 + +All configurations can now understand and use the DWARF 2 debugging +format. The choice is automatic, if the symbol file contains DWARF 2 +information. + +* Java frontend + +GDB now includes basic Java language support. This support is +only useful with Java compilers that produce native machine code. + +* solib-absolute-prefix and solib-search-path + +For SunOS and SVR4 shared libraries, you may now set the prefix for +loading absolute shared library symbol files, and the search path for +locating non-absolute shared library symbol files. + +* Live range splitting + +GDB can now effectively debug code for which GCC has performed live +range splitting as part of its optimization. See gdb/doc/LRS for +more details on the expected format of the stabs information. + +* Hurd support + +GDB's support for the GNU Hurd, including thread debugging, has been +updated to work with current versions of the Hurd. + +* ARM Thumb support + +GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit +instruction set. ARM GDB automatically detects when Thumb +instructions are in use, and adjusts disassembly and backtracing +accordingly. + +* MIPS16 support + +GDB's MIPS target configurations now handle the MIP16 16-bit +instruction set. + +* Overlay support + +GDB now includes support for overlays; if an executable has been +linked such that multiple sections are based at the same address, GDB +will decide which section to use for symbolic info. You can choose to +control the decision manually, using overlay commands, or implement +additional target-side support and use "overlay load-target" to bring +in the overlay mapping. Do "help overlay" for more detail. + +* info symbol + +The command "info symbol
" displays information about +the symbol at the specified address. + +* Trace support + +The standard remote protocol now includes an extension that allows +asynchronous collection and display of trace data. This requires +extensive support in the target-side debugging stub. Tracing mode +includes a new interaction mode in GDB and new commands: see the +file tracepoint.c for more details. + +* MIPS simulator + +Configurations for embedded MIPS now include a simulator contributed +by Cygnus Solutions. The simulator supports the instruction sets +of most MIPS variants. + +* Sparc simulator + +Sparc configurations may now include the ERC32 simulator contributed +by the European Space Agency. The simulator is not built into +Sparc targets by default; configure with --enable-sim to include it. + +* set architecture + +For target configurations that may include multiple variants of a +basic architecture (such as MIPS and SH), you may now set the +architecture explicitly. "set arch" sets, "info arch" lists +the possible architectures. + +*** Changes in GDB-4.16: + +* New native configurations + +Windows 95, x86 Windows NT i[345]86-*-cygwin32 +M68K NetBSD m68k-*-netbsd* +PowerPC AIX 4.x powerpc-*-aix* +PowerPC MacOS powerpc-*-macos* +PowerPC Windows NT powerpcle-*-cygwin32 +RS/6000 AIX 4.x rs6000-*-aix4* + +* New targets + +ARM with RDP protocol arm-*-* +I960 with MON960 i960-*-coff +MIPS VxWorks mips*-*-vxworks* +MIPS VR4300 with PMON mips64*vr4300{,el}-*-elf* +PowerPC with PPCBUG monitor powerpc{,le}-*-eabi* +Hitachi SH3 sh-*-* +Matra Sparclet sparclet-*-* + +* PowerPC simulator + +The powerpc-eabi configuration now includes the PSIM simulator, +contributed by Andrew Cagney, with assistance from Mike Meissner. +PSIM is a very elaborate model of the PowerPC, including not only +basic instruction set execution, but also details of execution unit +performance and I/O hardware. See sim/ppc/README for more details. + +* Solaris 2.5 + +GDB now works with Solaris 2.5. + +* Windows 95/NT native + +GDB will now work as a native debugger on Windows 95 and Windows NT. +To build it from source, you must use the "gnu-win32" environment, +which uses a DLL to emulate enough of Unix to run the GNU tools. +Further information, binaries, and sources are available at +ftp.cygnus.com, under pub/gnu-win32. + +* dont-repeat command + +If a user-defined command includes the command `dont-repeat', then the +command will not be repeated if the user just types return. This is +useful if the command is time-consuming to run, so that accidental +extra keystrokes don't run the same command many times. + +* 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. + +* Remote protocol timeout + +The standard remote protocol includes a new variable `remotetimeout' +that allows you to set the number of seconds before GDB gives up trying +to read from the target. The default value is 2. + +* Automatic tracking of dynamic object loading (HPUX and Solaris only) + +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. + +* Irix 5.x hardware watchpoint support + +Irix 5 configurations now support the use of hardware watchpoints. + +* Mips protocol "SYN garbage limit" + +When debugging a Mips target using the `target mips' protocol, you +may set the number of characters that GDB will ignore by setting +the `syn-garbage-limit'. A value of -1 means that GDB will ignore +every character. The default value is 1050. + +* Recording and replaying remote debug sessions + +If you set `remotelogfile' to the name of a file, gdb will write to it +a recording of a remote debug session. This recording may then be +replayed back to gdb using "gdbreplay". See gdbserver/README for +details. This is useful when you have a problem with GDB while doing +remote debugging; you can make a recording of the session and send it +to someone else, who can then recreate the problem. + +* Speedups for remote debugging + +GDB includes speedups for downloading and stepping MIPS systems using +the IDT monitor, fast downloads to the Hitachi SH E7000 emulator, +and more efficient S-record downloading. + +* Memory use reductions and statistics collection + +GDB now uses less memory and reports statistics about memory usage. +Try the `maint print statistics' command, for example. + +*** 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: