X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=gdb%2FNEWS;h=678019017067369e5f4fbd4d56e6c5d91d6ca232;hb=91740388ce1669862e8c869bd423f4af53c6a49c;hp=abbb6ff00ba7fd79775001621b1b8bd6a39cb662;hpb=dfbb701a949941aa1bcd3370748448236b51eb47;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index abbb6ff00b..6780190170 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,16 +1,506 @@ What has changed in GDB? (Organized release by release) +*** Changes since GDB 5.0: + +* New native configurations + +Alpha FreeBSD alpha*-*-freebsd* +x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]* +MIPS Linux mips*-*-linux* +MIPS SGI Irix 6.x mips*-sgi-irix6* +ia64 AIX ia64-*-aix* +s390 and s390x Linux {s390,s390x}-*-linux* + +* New targets + +Motorola 68HC11 and 68HC12 m68hc11-elf +CRIS cris-axis +UltraSparc running Linux sparc64-*-linux* + +* 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 and files + +Altos 3068 m68*-altos-* +Convex c1-*-*, c2-*-* +Pyramid pyramid-*-* +ARM RISCix arm-*-* (as host) +Tahoe tahoe-*-* +ser-ocd.c *-*-* + +* GDB has been converted to ISO C. + +GDB's source code has been converted to ISO C. In particular, the +sources are fully protoized, and rely on standard headers being +present. + +* Other news: + +* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM. + +* The MI enabled by default. + +The new machine oriented interface (MI) introduced in GDB 5.0 has been +revised and enabled by default. Packages which use GDB as a debugging +engine behind a UI or another front end are encouraged to switch to +using the GDB/MI interface, instead of the old annotations interface +which is now deprecated. + +* Support for debugging Pascal programs. + +GDB now includes support for debugging Pascal programs. The following +main features are supported: + + - Pascal-specific data types such as sets; + + - automatic recognition of Pascal sources based on file-name + extension; + + - Pascal-style display of data types, variables, and functions; + + - a Pascal expression parser. + +However, some important features are not yet supported. + + - Pascal string operations are not supported at all; + + - there are some problems with boolean types; + + - Pascal type hexadecimal constants are not supported + because they conflict with the internal variables format; + + - support for Pascal objects and classes is not full yet; + + - unlike Pascal, GDB is case-sensitive for symbol names. + +* Changes in completion. + +Commands such as `shell', `run' and `set args', which pass arguments +to inferior programs, now complete on file names, similar to what +users expect at the shell prompt. + +Commands which accept locations, such as `disassemble', `print', +`breakpoint', `until', etc. now complete on filenames as well as +program symbols. Thus, if you type "break foob TAB", and the source +files linked into the programs include `foobar.c', that file name will +be one of the candidates for completion. However, file names are not +considered for completion after you typed a colon that delimits a file +name from a name of a function in that file, as in "break foo.c:bar". + +`set demangle-style' completes on available demangling styles. + +* New platform-independent commands: + +It is now possible to define a post-hook for a command as well as a +hook that runs before the command. For more details, see the +documentation of `hookpost' in the GDB manual. + +* Changes in GNU/Linux native debugging. + +Support for debugging multi-threaded programs has been completely +revised for all platforms except m68k and sparc. You can now debug as +many threads as your system allows you to have. + +Attach/detach is supported for multi-threaded programs. + +Support for SSE registers was added for x86. This doesn't work for +multi-threaded programs though. + +* Changes in MIPS configurations. + +Multi-arch support is enabled for all MIPS configurations. + +GDB can now be built as native debugger on SGI Irix 6.x systems for +debugging n32 executables. (Debugging 64-bit executables is not yet +supported.) + +* Unified support for hardware watchpoints in all x86 configurations. + +Most (if not all) native x86 configurations support hardware-assisted +breakpoints and watchpoints in a unified manner. This support +implements debug register sharing between watchpoints, which allows to +put a virtually infinite number of watchpoints on the same address, +and also supports watching regions up to 16 bytes with several debug +registers. + +The new maintenance command `maintenance show-debug-regs' toggles +debugging print-outs in functions that insert, remove, and test +watchpoints and hardware breakpoints. + +* Changes in the DJGPP native configuration. + +New command ``info dos sysinfo'' displays assorted information about +the CPU, OS, memory, and DPMI server. + +New commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt'' +display information about segment descriptors stored in GDT, LDT, and +IDT. + +New commands ``info dos pde'' and ``info dos pte'' display entries +from Page Directory and Page Tables (for now works with CWSDPMI only). +New command ``info dos address-pte'' displays the Page Table entry for +a given linear address. + +GDB can now pass command lines longer than 126 characters to the +program being debugged (requires an update to the libdbg.a library +which is part of the DJGPP development kit). + +DWARF2 debug info is now supported. + +It is now possible to `step' and `next' through calls to `longjmp'. + +* Changes in documentation. + +All GDB documentation was converted to GFDL, the GNU Free +Documentation License. + +Tracepoints-related commands are now fully documented in the GDB +manual. + +TUI, the Text-mode User Interface, is now documented in the manual. + +Tracepoints-related commands are now fully documented in the GDB +manual. + +The "GDB Internals" manual now has an index. It also includes +documentation of `ui_out' functions, GDB coding standards, x86 +hardware watchpoints, and memory region attributes. + +* 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 Linux alpha*-*-linux* +Alpha GNU/Linux alpha*-*-linux* Unixware 2.x i[3456]86-unixware2* Irix 6.x mips*-sgi-irix6* -PowerPC Linux powerpc-*-linux* +PowerPC GNU/Linux powerpc-*-linux* PowerPC Solaris powerpcle-*-solaris* -Sparc Linux sparc-*-linux* +Sparc GNU/Linux sparc-*-linux* +Motorola sysV68 R3V7.1 m68k-motorola-sysv * New targets