]> Git Repo - binutils.git/blame - gdb/NEWS
This commit was generated by cvs2svn to track changes on a CVS vendor
[binutils.git] / gdb / NEWS
CommitLineData
c906108c
SS
1 What has changed in GDB?
2 (Organized release by release)
3
7a292a7a
SS
4*** Changes since GDB-4.18:
5
43e526b9
JM
6* Remote targets can connect to a sub-program
7
8A popen(3) style serial-device has been added. This device starts a
9sub-process (such as a stand-alone simulator) and then communicates
10with that. The sub-program to run is specified using the syntax
11``|<program> <args>'' vis:
12
13 (gdb) set remotedebug 1
14 (gdb) target extended-remote |mn10300-elf-sim program-args
15
7a292a7a
SS
16* New targets
17
18TI TMS320C80 tic80-*-*
19
085dd6e6
JM
20* OBSOLETE configurations
21
22Altos 3068 m68*-altos-*
23Convex c1-*-*, c2-*-*
9846de1b 24Pyramid pyramid-*-*
7a292a7a 25
43e526b9
JM
26* MIPS 64 remote protocol
27
28A long standing bug in the mips64 remote protocol where by GDB
29expected certain 32 bit registers (ex SR) to be transfered as 32
30instead of 64 bits has been fixed.
31
32The command ``set remote-mips64-transfers-32bit-regs on'' has been
33added to provide backward compatibility with older versions of GDB.
34
c906108c
SS
35*** Changes in GDB-4.18:
36
37* New native configurations
38
39HP-UX 10.20 hppa*-*-hpux10.20
40HP-UX 11.x hppa*-*-hpux11.0*
41M68K Linux m68*-*-linux*
42
43* New targets
44
45Fujitsu FR30 fr30-*-elf*
46Intel StrongARM strongarm-*-*
47Mitsubishi D30V d30v-*-*
48
49* OBSOLETE configurations
50
51Gould PowerNode, NP1 np1-*-*, pn-*-*
52
53Configurations that have been declared obsolete will be commented out,
54but the code will be left in place. If there is no activity to revive
55these configurations before the next release of GDB, the sources will
56be permanently REMOVED.
57
58* ANSI/ISO C
59
60As a compatibility experiment, GDB's source files buildsym.h and
61buildsym.c have been converted to pure standard C, no longer
62containing any K&R compatibility code. We believe that all systems in
63use today either come with a standard C compiler, or have a GCC port
64available. If this is not true, please report the affected
65configuration to [email protected] immediately. See the README file for
66information about getting a standard C compiler if you don't have one
67already.
68
69* Readline 2.2
70
71GDB now uses readline 2.2.
72
73* set extension-language
74
75You can now control the mapping between filename extensions and source
76languages by using the `set extension-language' command. For instance,
77you can ask GDB to treat .c files as C++ by saying
78 set extension-language .c c++
79The command `info extensions' lists all of the recognized extensions
80and their associated languages.
81
82* Setting processor type for PowerPC and RS/6000
83
84When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
85you can use the `set processor' command to specify what variant of the
86PowerPC family you are debugging. The command
87
88 set processor NAME
89
90sets the PowerPC/RS6000 variant to NAME. GDB knows about the
91following PowerPC and RS6000 variants:
92
93 ppc-uisa PowerPC UISA - a PPC processor as viewed by user-level code
94 rs6000 IBM RS6000 ("POWER") architecture, user-level view
95 403 IBM PowerPC 403
96 403GC IBM PowerPC 403GC
97 505 Motorola PowerPC 505
98 860 Motorola PowerPC 860 or 850
99 601 Motorola PowerPC 601
100 602 Motorola PowerPC 602
101 603 Motorola/IBM PowerPC 603 or 603e
102 604 Motorola PowerPC 604 or 604e
103 750 Motorola/IBM PowerPC 750 or 750
104
105At the moment, this command just tells GDB what to name the
106special-purpose processor registers. Since almost all the affected
107registers are inaccessible to user-level programs, this command is
108only useful for remote debugging in its present form.
109
110* HP-UX support
111
112Thanks to a major code donation from Hewlett-Packard, GDB now has much
113more extensive support for HP-UX. Added features include shared
114library support, kernel threads and hardware watchpoints for 11.00,
115support for HP's ANSI C and C++ compilers, and a compatibility mode
116for xdb and dbx commands.
117
118* Catchpoints
119
120HP's donation includes the new concept of catchpoints, which is a
121generalization of the old catch command. On HP-UX, it is now possible
122to catch exec, fork, and vfork, as well as library loading.
123
124This means that the existing catch command has changed; its first
125argument now specifies the type of catch to be set up. See the
126output of "help catch" for a list of catchpoint types.
127
128* Debugging across forks
129
130On HP-UX, you can choose which process to debug when a fork() happens
131in the inferior.
132
133* TUI
134
135HP has donated a curses-based terminal user interface (TUI). To get
136it, build with --enable-tui. Although this can be enabled for any
137configuration, at present it only works for native HP debugging.
138
139* GDB remote protocol additions
140
141A new protocol packet 'X' that writes binary data is now available.
142Default behavior is to try 'X', then drop back to 'M' if the stub
143fails to respond. The settable variable `remotebinarydownload'
144allows explicit control over the use of 'X'.
145
146For 64-bit targets, the memory packets ('M' and 'm') can now contain a
147full 64-bit address. The command
148
149 set remoteaddresssize 32
150
151can be used to revert to the old behaviour. For existing remote stubs
152the change should not be noticed, as the additional address information
153will be discarded.
154
155In order to assist in debugging stubs, you may use the maintenance
156command `packet' to send any text string to the stub. For instance,
157
158 maint packet heythere
159
160sends the packet "$heythere#<checksum>". Note that it is very easy to
161disrupt a debugging session by sending the wrong packet at the wrong
162time.
163
164The compare-sections command allows you to compare section data on the
165target to what is in the executable file without uploading or
166downloading, by comparing CRC checksums.
167
168* Tracing can collect general expressions
169
170You may now collect general expressions at tracepoints. This requires
171further additions to the target-side stub; see tracepoint.c and
172doc/agentexpr.texi for further details.
173
174* mask-address variable for Mips
175
176For Mips targets, you may control the zeroing of the upper 32 bits of
177a 64-bit address by entering `set mask-address on'. This is mainly
178of interest to users of embedded R4xxx and R5xxx processors.
179
180* Higher serial baud rates
181
182GDB's serial code now allows you to specify baud rates 57600, 115200,
183230400, and 460800 baud. (Note that your host system may not be able
184to achieve all of these rates.)
185
186* i960 simulator
187
188The i960 configuration now includes an initial implementation of a
189builtin simulator, contributed by Jim Wilson.
190
191
192*** Changes in GDB-4.17:
193
194* New native configurations
195
196Alpha GNU/Linux alpha*-*-linux*
197Unixware 2.x i[3456]86-unixware2*
198Irix 6.x mips*-sgi-irix6*
199PowerPC GNU/Linux powerpc-*-linux*
200PowerPC Solaris powerpcle-*-solaris*
201Sparc GNU/Linux sparc-*-linux*
202Motorola sysV68 R3V7.1 m68k-motorola-sysv
203
204* New targets
205
206Argonaut Risc Chip (ARC) arc-*-*
207Hitachi H8/300S h8300*-*-*
208Matsushita MN10200 w/simulator mn10200-*-*
209Matsushita MN10300 w/simulator mn10300-*-*
210MIPS NEC VR4100 mips64*vr4100*{,el}-*-elf*
211MIPS NEC VR5000 mips64*vr5000*{,el}-*-elf*
212MIPS Toshiba TX39 mips64*tx39*{,el}-*-elf*
213Mitsubishi D10V w/simulator d10v-*-*
214Mitsubishi M32R/D w/simulator m32r-*-elf*
215Tsqware Sparclet sparclet-*-*
216NEC V850 w/simulator v850-*-*
217
218* New debugging protocols
219
220ARM with RDI protocol arm*-*-*
221M68K with dBUG monitor m68*-*-{aout,coff,elf}
222DDB and LSI variants of PMON protocol mips*-*-*
223PowerPC with DINK32 monitor powerpc{,le}-*-eabi
224PowerPC with SDS protocol powerpc{,le}-*-eabi
225Macraigor OCD (Wiggler) devices powerpc{,le}-*-eabi
226
227* DWARF 2
228
229All configurations can now understand and use the DWARF 2 debugging
230format. The choice is automatic, if the symbol file contains DWARF 2
231information.
232
233* Java frontend
234
235GDB now includes basic Java language support. This support is
236only useful with Java compilers that produce native machine code.
237
238* solib-absolute-prefix and solib-search-path
239
240For SunOS and SVR4 shared libraries, you may now set the prefix for
241loading absolute shared library symbol files, and the search path for
242locating non-absolute shared library symbol files.
243
244* Live range splitting
245
246GDB can now effectively debug code for which GCC has performed live
247range splitting as part of its optimization. See gdb/doc/LRS for
248more details on the expected format of the stabs information.
249
250* Hurd support
251
252GDB's support for the GNU Hurd, including thread debugging, has been
253updated to work with current versions of the Hurd.
254
255* ARM Thumb support
256
257GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit
258instruction set. ARM GDB automatically detects when Thumb
259instructions are in use, and adjusts disassembly and backtracing
260accordingly.
261
262* MIPS16 support
263
264GDB's MIPS target configurations now handle the MIP16 16-bit
265instruction set.
266
267* Overlay support
268
269GDB now includes support for overlays; if an executable has been
270linked such that multiple sections are based at the same address, GDB
271will decide which section to use for symbolic info. You can choose to
272control the decision manually, using overlay commands, or implement
273additional target-side support and use "overlay load-target" to bring
274in the overlay mapping. Do "help overlay" for more detail.
275
276* info symbol
277
278The command "info symbol <address>" displays information about
279the symbol at the specified address.
280
281* Trace support
282
283The standard remote protocol now includes an extension that allows
284asynchronous collection and display of trace data. This requires
285extensive support in the target-side debugging stub. Tracing mode
286includes a new interaction mode in GDB and new commands: see the
287file tracepoint.c for more details.
288
289* MIPS simulator
290
291Configurations for embedded MIPS now include a simulator contributed
292by Cygnus Solutions. The simulator supports the instruction sets
293of most MIPS variants.
294
295* Sparc simulator
296
297Sparc configurations may now include the ERC32 simulator contributed
298by the European Space Agency. The simulator is not built into
299Sparc targets by default; configure with --enable-sim to include it.
300
301* set architecture
302
303For target configurations that may include multiple variants of a
304basic architecture (such as MIPS and SH), you may now set the
305architecture explicitly. "set arch" sets, "info arch" lists
306the possible architectures.
307
308*** Changes in GDB-4.16:
309
310* New native configurations
311
312Windows 95, x86 Windows NT i[345]86-*-cygwin32
313M68K NetBSD m68k-*-netbsd*
314PowerPC AIX 4.x powerpc-*-aix*
315PowerPC MacOS powerpc-*-macos*
316PowerPC Windows NT powerpcle-*-cygwin32
317RS/6000 AIX 4.x rs6000-*-aix4*
318
319* New targets
320
321ARM with RDP protocol arm-*-*
322I960 with MON960 i960-*-coff
323MIPS VxWorks mips*-*-vxworks*
324MIPS VR4300 with PMON mips64*vr4300{,el}-*-elf*
325PowerPC with PPCBUG monitor powerpc{,le}-*-eabi*
326Hitachi SH3 sh-*-*
327Matra Sparclet sparclet-*-*
328
329* PowerPC simulator
330
331The powerpc-eabi configuration now includes the PSIM simulator,
332contributed by Andrew Cagney, with assistance from Mike Meissner.
333PSIM is a very elaborate model of the PowerPC, including not only
334basic instruction set execution, but also details of execution unit
335performance and I/O hardware. See sim/ppc/README for more details.
336
337* Solaris 2.5
338
339GDB now works with Solaris 2.5.
340
341* Windows 95/NT native
342
343GDB will now work as a native debugger on Windows 95 and Windows NT.
344To build it from source, you must use the "gnu-win32" environment,
345which uses a DLL to emulate enough of Unix to run the GNU tools.
346Further information, binaries, and sources are available at
347ftp.cygnus.com, under pub/gnu-win32.
348
349* dont-repeat command
350
351If a user-defined command includes the command `dont-repeat', then the
352command will not be repeated if the user just types return. This is
353useful if the command is time-consuming to run, so that accidental
354extra keystrokes don't run the same command many times.
355
356* Send break instead of ^C
357
358The standard remote protocol now includes an option to send a break
359rather than a ^C to the target in order to interrupt it. By default,
360GDB will send ^C; to send a break, set the variable `remotebreak' to 1.
361
362* Remote protocol timeout
363
364The standard remote protocol includes a new variable `remotetimeout'
365that allows you to set the number of seconds before GDB gives up trying
366to read from the target. The default value is 2.
367
368* Automatic tracking of dynamic object loading (HPUX and Solaris only)
369
370By default GDB will automatically keep track of objects as they are
371loaded and unloaded by the dynamic linker. By using the command `set
372stop-on-solib-events 1' you can arrange for GDB to stop the inferior
373when shared library events occur, thus allowing you to set breakpoints
374in shared libraries which are explicitly loaded by the inferior.
375
376Note this feature does not work on hpux8. On hpux9 you must link
377/usr/lib/end.o into your program. This feature should work
378automatically on hpux10.
379
380* Irix 5.x hardware watchpoint support
381
382Irix 5 configurations now support the use of hardware watchpoints.
383
384* Mips protocol "SYN garbage limit"
385
386When debugging a Mips target using the `target mips' protocol, you
387may set the number of characters that GDB will ignore by setting
388the `syn-garbage-limit'. A value of -1 means that GDB will ignore
389every character. The default value is 1050.
390
391* Recording and replaying remote debug sessions
392
393If you set `remotelogfile' to the name of a file, gdb will write to it
394a recording of a remote debug session. This recording may then be
395replayed back to gdb using "gdbreplay". See gdbserver/README for
396details. This is useful when you have a problem with GDB while doing
397remote debugging; you can make a recording of the session and send it
398to someone else, who can then recreate the problem.
399
400* Speedups for remote debugging
401
402GDB includes speedups for downloading and stepping MIPS systems using
403the IDT monitor, fast downloads to the Hitachi SH E7000 emulator,
404and more efficient S-record downloading.
405
406* Memory use reductions and statistics collection
407
408GDB now uses less memory and reports statistics about memory usage.
409Try the `maint print statistics' command, for example.
410
411*** Changes in GDB-4.15:
412
413* Psymtabs for XCOFF
414
415The symbol reader for AIX GDB now uses partial symbol tables. This
416can greatly improve startup time, especially for large executables.
417
418* Remote targets use caching
419
420Remote targets now use a data cache to speed up communication with the
421remote side. The data cache could lead to incorrect results because
422it doesn't know about volatile variables, thus making it impossible to
423debug targets which use memory mapped I/O devices. `set remotecache
424off' turns the the data cache off.
425
426* Remote targets may have threads
427
428The standard remote protocol now includes support for multiple threads
429in the target system, using new protocol commands 'H' and 'T'. See
430gdb/remote.c for details.
431
432* NetROM support
433
434If GDB is configured with `--enable-netrom', then it will include
435support for the NetROM ROM emulator from XLNT Designs. The NetROM
436acts as though it is a bank of ROM on the target board, but you can
437write into it over the network. GDB's support consists only of
438support for fast loading into the emulated ROM; to debug, you must use
439another protocol, such as standard remote protocol. The usual
440sequence is something like
441
442 target nrom <netrom-hostname>
443 load <prog>
444 target remote <netrom-hostname>:1235
445
446* Macintosh host
447
448GDB now includes support for the Apple Macintosh, as a host only. It
449may be run as either an MPW tool or as a standalone application, and
450it can debug through the serial port. All the usual GDB commands are
451available, but to the target command, you must supply "serial" as the
452device type instead of "/dev/ttyXX". See mpw-README in the main
453directory for more information on how to build. The MPW configuration
454scripts */mpw-config.in support only a few targets, and only the
455mips-idt-ecoff target has been tested.
456
457* Autoconf
458
459GDB configuration now uses autoconf. This is not user-visible,
460but does simplify configuration and building.
461
462* hpux10
463
464GDB now supports hpux10.
465
466*** Changes in GDB-4.14:
467
468* New native configurations
469
470x86 FreeBSD i[345]86-*-freebsd
471x86 NetBSD i[345]86-*-netbsd
472NS32k NetBSD ns32k-*-netbsd
473Sparc NetBSD sparc-*-netbsd
474
475* New targets
476
477A29K VxWorks a29k-*-vxworks
478HP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro*
479CPU32 EST-300 emulator m68*-*-est*
480PowerPC ELF powerpc-*-elf
481WDC 65816 w65-*-*
482
483* Alpha OSF/1 support for procfs
484
485GDB now supports procfs under OSF/1-2.x and higher, which makes it
486possible to attach to running processes. As the mounting of the /proc
487filesystem is optional on the Alpha, GDB automatically determines
488the availability of /proc during startup. This can lead to problems
489if /proc is unmounted after GDB has been started.
490
491* Arguments to user-defined commands
492
493User commands may accept up to 10 arguments separated by whitespace.
494Arguments are accessed within the user command via $arg0..$arg9. A
495trivial example:
496define adder
497 print $arg0 + $arg1 + $arg2
498
499To execute the command use:
500adder 1 2 3
501
502Defines the command "adder" which prints the sum of its three arguments.
503Note the arguments are text substitutions, so they may reference variables,
504use complex expressions, or even perform inferior function calls.
505
506* New `if' and `while' commands
507
508This makes it possible to write more sophisticated user-defined
509commands. Both commands take a single argument, which is the
510expression to evaluate, and must be followed by the commands to
511execute, one per line, if the expression is nonzero, the list being
512terminated by the word `end'. The `if' command list may include an
513`else' word, which causes the following commands to be executed only
514if the expression is zero.
515
516* Fortran source language mode
517
518GDB now includes partial support for Fortran 77. It will recognize
519Fortran programs and can evaluate a subset of Fortran expressions, but
520variables and functions may not be handled correctly. GDB will work
521with G77, but does not yet know much about symbols emitted by other
522Fortran compilers.
523
524* Better HPUX support
525
526Most debugging facilities now work on dynamic executables for HPPAs
527running hpux9 or later. You can attach to running dynamically linked
528processes, but by default the dynamic libraries will be read-only, so
529for instance you won't be able to put breakpoints in them. To change
530that behavior do the following before running the program:
531
532 adb -w a.out
533 __dld_flags?W 0x5
534 control-d
535
536This will cause the libraries to be mapped private and read-write.
537To revert to the normal behavior, do this:
538
539 adb -w a.out
540 __dld_flags?W 0x4
541 control-d
542
543You cannot set breakpoints or examine data in the library until after
544the library is loaded if the function/data symbols do not have
545external linkage.
546
547GDB can now also read debug symbols produced by the HP C compiler on
548HPPAs (sorry, no C++, Fortran or 68k support).
549
550* Target byte order now dynamically selectable
551
552You can choose which byte order to use with a target system, via the
553commands "set endian big" and "set endian little", and you can see the
554current setting by using "show endian". You can also give the command
555"set endian auto", in which case GDB will use the byte order
556associated with the executable. Currently, only embedded MIPS
557configurations support dynamic selection of target byte order.
558
559* New DOS host serial code
560
561This version uses DPMI interrupts to handle buffered I/O, so you
562no longer need to run asynctsr when debugging boards connected to
563a PC's serial port.
564
565*** Changes in GDB-4.13:
566
567* New "complete" command
568
569This lists all the possible completions for the rest of the line, if it
570were to be given as a command itself. This is intended for use by emacs.
571
572* Trailing space optional in prompt
573
574"set prompt" no longer adds a space for you after the prompt you set. This
575allows you to set a prompt which ends in a space or one that does not.
576
577* Breakpoint hit counts
578
579"info break" now displays a count of the number of times the breakpoint
580has been hit. This is especially useful in conjunction with "ignore"; you
581can ignore a large number of breakpoint hits, look at the breakpoint info
582to see how many times the breakpoint was hit, then run again, ignoring one
583less than that number, and this will get you quickly to the last hit of
584that breakpoint.
585
586* Ability to stop printing at NULL character
587
588"set print null-stop" will cause GDB to stop printing the characters of
589an array when the first NULL is encountered. This is useful when large
590arrays actually contain only short strings.
591
592* Shared library breakpoints
593
594In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set
595breakpoints in shared libraries before the executable is run.
596
597* Hardware watchpoints
598
599There is a new hardware breakpoint for the watch command for sparclite
600targets. See gdb/sparclite/hw_breakpoint.note.
601
602Hardware watchpoints are also now supported under Linux.
603
604* Annotations
605
606Annotations have been added. These are for use with graphical interfaces,
607and are still experimental. Currently only gdba.el uses these.
608
609* Improved Irix 5 support
610
611GDB now works properly with Irix 5.2.
612
613* Improved HPPA support
614
615GDB now works properly with the latest GCC and GAS.
616
617* New native configurations
618
619Sequent PTX4 i[34]86-sequent-ptx4
620HPPA running OSF/1 hppa*-*-osf*
621Atari TT running SVR4 m68*-*-sysv4*
622RS/6000 LynxOS rs6000-*-lynxos*
623
624* New targets
625
626OS/9000 i[34]86-*-os9k
627MIPS R4000 mips64*{,el}-*-{ecoff,elf}
628Sparc64 sparc64-*-*
629
630* Hitachi SH7000 and E7000-PC ICE support
631
632There is now support for communicating with the Hitachi E7000-PC ICE.
633This is available automatically when GDB is configured for the SH.
634
635* Fixes
636
637As usual, a variety of small fixes and improvements, both generic
638and configuration-specific. See the ChangeLog for more detail.
639
640*** Changes in GDB-4.12:
641
642* Irix 5 is now supported
643
644* HPPA support
645
646GDB-4.12 on the HPPA has a number of changes which make it unable
647to debug the output from the currently released versions of GCC and
648GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36). Until the next major release
649of GCC and GAS, versions of these tools designed to work with GDB-4.12
650can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist.
651
652
653*** Changes in GDB-4.11:
654
655* User visible changes:
656
657* Remote Debugging
658
659The "set remotedebug" option is now consistent between the mips remote
660target, remote targets using the gdb-specific protocol, UDI (AMD's
661debug protocol for the 29k) and the 88k bug monitor. It is now an
662integer specifying a debug level (normally 0 or 1, but 2 means more
663debugging info for the mips target).
664
665* DEC Alpha native support
666
667GDB now works on the DEC Alpha. GCC 2.4.5 does not produce usable
668debug info, but GDB works fairly well with the DEC compiler and should
669work with a future GCC release. See the README file for a few
670Alpha-specific notes.
671
672* Preliminary thread implementation
673
674GDB now has preliminary thread support for both SGI/Irix and LynxOS.
675
676* LynxOS native and target support for 386
677
678This release has been hosted on LynxOS 2.2, and also can be configured
679to remotely debug programs running under LynxOS (see gdb/gdbserver/README
680for details).
681
682* Improvements in C++ mangling/demangling.
683
684This release has much better g++ debugging, specifically in name
685mangling/demangling, virtual function calls, print virtual table,
686call methods, ...etc.
687
688*** Changes in GDB-4.10:
689
690 * User visible changes:
691
692Remote debugging using the GDB-specific (`target remote') protocol now
693supports the `load' command. This is only useful if you have some
694other way of getting the stub to the target system, and you can put it
695somewhere in memory where it won't get clobbered by the download.
696
697Filename completion now works.
698
699When run under emacs mode, the "info line" command now causes the
700arrow to point to the line specified. Also, "info line" prints
701addresses in symbolic form (as well as hex).
702
703All vxworks based targets now support a user settable option, called
704vxworks-timeout. This option represents the number of seconds gdb
705should wait for responses to rpc's. You might want to use this if
706your vxworks target is, perhaps, a slow software simulator or happens
707to be on the far side of a thin network line.
708
709 * DEC alpha support
710
711This release contains support for using a DEC alpha as a GDB host for
712cross debugging. Native alpha debugging is not supported yet.
713
714
715*** Changes in GDB-4.9:
716
717 * Testsuite
718
719This is the first GDB release which is accompanied by a matching testsuite.
720The testsuite requires installation of dejagnu, which should be available
721via ftp from most sites that carry GNU software.
722
723 * C++ demangling
724
725'Cfront' style demangling has had its name changed to 'ARM' style, to
726emphasize that it was written from the specifications in the C++ Annotated
727Reference Manual, not necessarily to be compatible with AT&T cfront. Despite
728disclaimers, it still generated too much confusion with users attempting to
729use gdb with AT&T cfront.
730
731 * Simulators
732
733GDB now uses a standard remote interface to a simulator library.
734So far, the library contains simulators for the Zilog Z8001/2, the
735Hitachi H8/300, H8/500 and Super-H.
736
737 * New targets supported
738
739H8/300 simulator h8300-hitachi-hms or h8300hms
740H8/500 simulator h8500-hitachi-hms or h8500hms
741SH simulator sh-hitachi-hms or sh
742Z8000 simulator z8k-zilog-none or z8ksim
743IDT MIPS board over serial line mips-idt-ecoff
744
745Cross-debugging to GO32 targets is supported. It requires a custom
746version of the i386-stub.c module which is integrated with the
747GO32 memory extender.
748
749 * New remote protocols
750
751MIPS remote debugging protocol.
752
753 * New source languages supported
754
755This version includes preliminary support for Chill, a Pascal like language
756used by telecommunications companies. Chill support is also being integrated
757into the GNU compiler, but we don't know when it will be publically available.
758
759
760*** Changes in GDB-4.8:
761
762 * HP Precision Architecture supported
763
764GDB now supports HP PA-RISC machines running HPUX. A preliminary
765version of this support was available as a set of patches from the
766University of Utah. GDB does not support debugging of programs
767compiled with the HP compiler, because HP will not document their file
768format. Instead, you must use GCC (version 2.3.2 or later) and PA-GAS
769(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z).
770
771Many problems in the preliminary version have been fixed.
772
773 * Faster and better demangling
774
775We have improved template demangling and fixed numerous bugs in the GNU style
776demangler. It can now handle type modifiers such as `static' or `const'. Wide
777character types (wchar_t) are now supported. Demangling of each symbol is now
778only done once, and is cached when the symbol table for a file is read in.
779This results in a small increase in memory usage for C programs, a moderate
780increase in memory usage for C++ programs, and a fantastic speedup in
781symbol lookups.
782
783`Cfront' style demangling still doesn't work with AT&T cfront. It was written
784from the specifications in the Annotated Reference Manual, which AT&T's
785compiler does not actually implement.
786
787 * G++ multiple inheritance compiler problem
788
789In the 2.3.2 release of gcc/g++, how the compiler resolves multiple
790inheritance lattices was reworked to properly discover ambiguities. We
791recently found an example which causes this new algorithm to fail in a
792very subtle way, producing bad debug information for those classes.
793The file 'gcc.patch' (in this directory) can be applied to gcc to
794circumvent the problem. A future GCC release will contain a complete
795fix.
796
797The previous G++ debug info problem (mentioned below for the gdb-4.7
798release) is fixed in gcc version 2.3.2.
799
800 * Improved configure script
801
802The `configure' script will now attempt to guess your system type if
803you don't supply a host system type. The old scheme of supplying a
804host system triplet is preferable over using this. All the magic is
805done in the new `config.guess' script. Examine it for details.
806
807We have also brought our configure script much more in line with the FSF's
808version. It now supports the --with-xxx options. In particular,
809`--with-minimal-bfd' can be used to make the GDB binary image smaller.
810The resulting GDB will not be able to read arbitrary object file formats --
811only the format ``expected'' to be used on the configured target system.
812We hope to make this the default in a future release.
813
814 * Documentation improvements
815
816There's new internal documentation on how to modify GDB, and how to
817produce clean changes to the code. We implore people to read it
818before submitting changes.
819
820The GDB manual uses new, sexy Texinfo conditionals, rather than arcane
821M4 macros. The new texinfo.tex is provided in this release. Pre-built
822`info' files are also provided. To build `info' files from scratch,
823you will need the latest `makeinfo' release, which will be available in
824a future texinfo-X.Y release.
825
826*NOTE* The new texinfo.tex can cause old versions of TeX to hang.
827We're not sure exactly which versions have this problem, but it has
828been seen in 3.0. We highly recommend upgrading to TeX version 3.141
829or better. If that isn't possible, there is a patch in
830`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work
831around this problem.
832
833 * New features
834
835GDB now supports array constants that can be used in expressions typed in by
836the user. The syntax is `{element, element, ...}'. Ie: you can now type
837`print {1, 2, 3}', and it will build up an array in memory malloc'd in
838the target program.
839
840The new directory `gdb/sparclite' contains a program that demonstrates
841how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor.
842
843 * New native hosts supported
844
845HP/PA-RISC under HPUX using GNU tools hppa1.1-hp-hpux
846386 CPUs running SCO Unix 3.2v4 i386-unknown-sco3.2v4
847
848 * New targets supported
849
850AMD 29k family via UDI a29k-amd-udi or udi29k
851
852 * New file formats supported
853
854BFD now supports reading HP/PA-RISC executables (SOM file format?),
855HPUX core files, and SCO 3.2v2 core files.
856
857 * Major bug fixes
858
859Attaching to processes now works again; thanks for the many bug reports.
860
861We have also stomped on a bunch of core dumps caused by
862printf_filtered("%s") problems.
863
864We eliminated a copyright problem on the rpc and ptrace header files
865for VxWorks, which was discovered at the last minute during the 4.7
866release. You should now be able to build a VxWorks GDB.
867
868You can now interrupt gdb while an attached process is running. This
869will cause the attached process to stop, and give control back to GDB.
870
871We fixed problems caused by using too many file descriptors
872for reading symbols from object files and libraries. This was
873especially a problem for programs that used many (~100) shared
874libraries.
875
876The `step' command now only enters a subroutine if there is line number
877information for the subroutine. Otherwise it acts like the `next'
878command. Previously, `step' would enter subroutines if there was
879any debugging information about the routine. This avoids problems
880when using `cc -g1' on MIPS machines.
881
882 * Internal improvements
883
884GDB's internal interfaces have been improved to make it easier to support
885debugging of multiple languages in the future.
886
887GDB now uses a common structure for symbol information internally.
888Minimal symbols (derived from linkage symbols in object files), partial
889symbols (from a quick scan of debug information), and full symbols
890contain a common subset of information, making it easier to write
891shared code that handles any of them.
892
893 * New command line options
894
895We now accept --silent as an alias for --quiet.
896
897 * Mmalloc licensing
898
899The memory-mapped-malloc library is now licensed under the GNU Library
900General Public License.
901
902*** Changes in GDB-4.7:
903
904 * Host/native/target split
905
906GDB has had some major internal surgery to untangle the support for
907hosts and remote targets. Now, when you configure GDB for a remote
908target, it will no longer load in all of the support for debugging
909local programs on the host. When fully completed and tested, this will
910ensure that arbitrary host/target combinations are possible.
911
912The primary conceptual shift is to separate the non-portable code in
913GDB into three categories. Host specific code is required any time GDB
914is compiled on that host, regardless of the target. Target specific
915code relates to the peculiarities of the target, but can be compiled on
916any host. Native specific code is everything else: it can only be
917built when the host and target are the same system. Child process
918handling and core file support are two common `native' examples.
919
920GDB's use of /proc for controlling Unix child processes is now cleaner.
921It has been split out into a single module under the `target_ops' vector,
922plus two native-dependent functions for each system that uses /proc.
923
924 * New hosts supported
925
926HP/Apollo 68k (under the BSD domain) m68k-apollo-bsd or apollo68bsd
927386 CPUs running various BSD ports i386-unknown-bsd or 386bsd
928386 CPUs running SCO Unix i386-unknown-scosysv322 or i386sco
929
930 * New targets supported
931
932Fujitsu SPARClite sparclite-fujitsu-none or sparclite
93368030 and CPU32 m68030-*-*, m68332-*-*
934
935 * New native hosts supported
936
937386 CPUs running various BSD ports i386-unknown-bsd or 386bsd
938 (386bsd is not well tested yet)
939386 CPUs running SCO Unix i386-unknown-scosysv322 or sco
940
941 * New file formats supported
942
943BFD now supports COFF files for the Zilog Z8000 microprocessor. It
944supports reading of `a.out.adobe' object files, which are an a.out
945format extended with minimal information about multiple sections.
946
947 * New commands
948
949`show copying' is the same as the old `info copying'.
950`show warranty' is the same as `info warrantee'.
951These were renamed for consistency. The old commands continue to work.
952
953`info handle' is a new alias for `info signals'.
954
955You can now define pre-command hooks, which attach arbitrary command
956scripts to any command. The commands in the hook will be executed
957prior to the user's command. You can also create a hook which will be
958executed whenever the program stops. See gdb.texinfo.
959
960 * C++ improvements
961
962We now deal with Cfront style name mangling, and can even extract type
963info from mangled symbols. GDB can automatically figure out which
964symbol mangling style your C++ compiler uses.
965
966Calling of methods and virtual functions has been improved as well.
967
968 * Major bug fixes
969
970The crash that occured when debugging Sun Ansi-C compiled binaries is
971fixed. This was due to mishandling of the extra N_SO stabs output
972by the compiler.
973
974We also finally got Ultrix 4.2 running in house, and fixed core file
975support, with help from a dozen people on the net.
976
977John M. Farrell discovered that the reason that single-stepping was so
978slow on all of the Mips based platforms (primarily SGI and DEC) was
979that we were trying to demangle and lookup a symbol used for internal
980purposes on every instruction that was being stepped through. Changing
981the name of that symbol so that it couldn't be mistaken for a C++
982mangled symbol sped things up a great deal.
983
984Rich Pixley sped up symbol lookups in general by getting much smarter
985about when C++ symbol mangling is necessary. This should make symbol
986completion (TAB on the command line) much faster. It's not as fast as
987we'd like, but it's significantly faster than gdb-4.6.
988
989 * AMD 29k support
990
991A new user controllable variable 'call_scratch_address' can
992specify the location of a scratch area to be used when GDB
993calls a function in the target. This is necessary because the
994usual method of putting the scratch area on the stack does not work
995in systems that have separate instruction and data spaces.
996
997We integrated changes to support the 29k UDI (Universal Debugger
998Interface), but discovered at the last minute that we didn't have all
999of the appropriate copyright paperwork. We are working with AMD to
1000resolve this, and hope to have it available soon.
1001
1002 * Remote interfaces
1003
1004We have sped up the remote serial line protocol, especially for targets
1005with lots of registers. It now supports a new `expedited status' ('T')
1006message which can be used in place of the existing 'S' status message.
1007This allows the remote stub to send only the registers that GDB
1008needs to make a quick decision about single-stepping or conditional
1009breakpoints, eliminating the need to fetch the entire register set for
1010each instruction being stepped through.
1011
1012The GDB remote serial protocol now implements a write-through cache for
1013registers, only re-reading the registers if the target has run.
1014
1015There is also a new remote serial stub for SPARC processors. You can
1016find it in gdb-4.7/gdb/sparc-stub.c. This was written to support the
1017Fujitsu SPARClite processor, but will run on any stand-alone SPARC
1018processor with a serial port.
1019
1020 * Configuration
1021
1022Configure.in files have become much easier to read and modify. A new
1023`table driven' format makes it more obvious what configurations are
1024supported, and what files each one uses.
1025
1026 * Library changes
1027
1028There is a new opcodes library which will eventually contain all of the
1029disassembly routines and opcode tables. At present, it only contains
1030Sparc and Z8000 routines. This will allow the assembler, debugger, and
1031disassembler (binutils/objdump) to share these routines.
1032
1033The libiberty library is now copylefted under the GNU Library General
1034Public License. This allows more liberal use, and was done so libg++
1035can use it. This makes no difference to GDB, since the Library License
1036grants all the rights from the General Public License.
1037
1038 * Documentation
1039
1040The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete
1041reference to the stabs symbol info used by the debugger. It is (as far
1042as we know) the only published document on this fascinating topic. We
1043encourage you to read it, compare it to the stabs information on your
1044system, and send improvements on the document in general (to
1045[email protected]).
1046
1047And, of course, many bugs have been fixed.
1048
1049
1050*** Changes in GDB-4.6:
1051
1052 * Better support for C++ function names
1053
1054GDB now accepts as input the "demangled form" of C++ overloaded function
1055names and member function names, and can do command completion on such names
1056(using TAB, TAB-TAB, and ESC-?). The names have to be quoted with a pair of
1057single quotes. Examples are 'func (int, long)' and 'obj::operator==(obj&)'.
1058Make use of command completion, it is your friend.
1059
1060GDB also now accepts a variety of C++ mangled symbol formats. They are
1061the GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style.
1062You can tell GDB which format to use by doing a 'set demangle-style {gnu,
1063lucid, cfront, auto}'. 'gnu' is the default. Do a 'set demangle-style foo'
1064for the list of formats.
1065
1066 * G++ symbol mangling problem
1067
1068Recent versions of gcc have a bug in how they emit debugging information for
1069C++ methods (when using dbx-style stabs). The file 'gcc.patch' (in this
1070directory) can be applied to gcc to fix the problem. Alternatively, if you
1071can't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The
1072usual symptom is difficulty with setting breakpoints on methods. GDB complains
1073about the method being non-existent. (We believe that version 2.2.2 of GCC has
1074this problem.)
1075
1076 * New 'maintenance' command
1077
1078All of the commands related to hacking GDB internals have been moved out of
1079the main command set, and now live behind the 'maintenance' command. This
1080can also be abbreviated as 'mt'. The following changes were made:
1081
1082 dump-me -> maintenance dump-me
1083 info all-breakpoints -> maintenance info breakpoints
1084 printmsyms -> maintenance print msyms
1085 printobjfiles -> maintenance print objfiles
1086 printpsyms -> maintenance print psymbols
1087 printsyms -> maintenance print symbols
1088
1089The following commands are new:
1090
1091 maintenance demangle Call internal GDB demangler routine to
1092 demangle a C++ link name and prints the result.
1093 maintenance print type Print a type chain for a given symbol
1094
1095 * Change to .gdbinit file processing
1096
1097We now read the $HOME/.gdbinit file before processing the argv arguments
1098(e.g. reading symbol files or core files). This allows global parameters to
1099be set, which will apply during the symbol reading. The ./.gdbinit is still
1100read after argv processing.
1101
1102 * New hosts supported
1103
1104Solaris-2.0 !!! sparc-sun-solaris2 or sun4sol2
1105
1106Linux support i386-unknown-linux or linux
1107
1108We are also including code to support the HP/PA running BSD and HPUX. This
1109is almost guaranteed not to work, as we didn't have time to test or build it
1110for this release. We are including it so that the more adventurous (or
1111masochistic) of you can play with it. We also had major problems with the
1112fact that the compiler that we got from HP doesn't support the -g option.
1113It costs extra.
1114
1115 * New targets supported
1116
1117Hitachi H8/300 h8300-hitachi-hms or h8300hms
1118
1119 * More smarts about finding #include files
1120
1121GDB now remembers the compilation directory for all include files, and for
1122all files from which C is generated (like yacc and lex sources). This
1123greatly improves GDB's ability to find yacc/lex sources, and include files,
1124especially if you are debugging your program from a directory different from
1125the one that contains your sources.
1126
1127We also fixed a bug which caused difficulty with listing and setting
1128breakpoints in include files which contain C code. (In the past, you had to
1129try twice in order to list an include file that you hadn't looked at before.)
1130
1131 * Interesting infernals change
1132
1133GDB now deals with arbitrary numbers of sections, where the symbols for each
1134section must be relocated relative to that section's landing place in the
1135target's address space. This work was needed to support ELF with embedded
1136stabs used by Solaris-2.0.
1137
1138 * Bug fixes (of course!)
1139
1140There have been loads of fixes for the following things:
1141 mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k,
1142 i960, stabs, DOS(GO32), procfs, etc...
1143
1144See the ChangeLog for details.
1145
1146*** Changes in GDB-4.5:
1147
1148 * New machines supported (host and target)
1149
1150IBM RS6000 running AIX rs6000-ibm-aix or rs6000
1151
1152SGI Irix-4.x mips-sgi-irix4 or iris4
1153
1154 * New malloc package
1155
1156GDB now uses a new memory manager called mmalloc, based on gmalloc.
1157Mmalloc is capable of handling mutiple heaps of memory. It is also
1158capable of saving a heap to a file, and then mapping it back in later.
1159This can be used to greatly speedup the startup of GDB by using a
1160pre-parsed symbol table which lives in a mmalloc managed heap. For
1161more details, please read mmalloc/mmalloc.texi.
1162
1163 * info proc
1164
1165The 'info proc' command (SVR4 only) has been enhanced quite a bit. See
1166'help info proc' for details.
1167
1168 * MIPS ecoff symbol table format
1169
1170The code that reads MIPS symbol table format is now supported on all hosts.
1171Thanks to MIPS for releasing the sym.h and symconst.h files to make this
1172possible.
1173
1174 * File name changes for MS-DOS
1175
1176Many files in the config directories have been renamed to make it easier to
1177support GDB on MS-DOSe systems (which have very restrictive file name
1178conventions :-( ). MS-DOSe host support (under DJ Delorie's GO32
1179environment) is close to working but has some remaining problems. Note
1180that debugging of DOS programs is not supported, due to limitations
1181in the ``operating system'', but it can be used to host cross-debugging.
1182
1183 * Cross byte order fixes
1184
1185Many fixes have been made to support cross debugging of Sparc and MIPS
1186targets from hosts whose byte order differs.
1187
1188 * New -mapped and -readnow options
1189
1190If memory-mapped files are available on your system through the 'mmap'
1191system call, you can use the -mapped option on the `file' or
1192`symbol-file' commands to cause GDB to write the symbols from your
1193program into a reusable file. If the program you are debugging is
1194called `/path/fred', the mapped symbol file will be `./fred.syms'.
1195Future GDB debugging sessions will notice the presence of this file,
1196and will quickly map in symbol information from it, rather than reading
1197the symbol table from the executable program. Using the '-mapped'
1198option in a GDB `file' or `symbol-file' command has the same effect as
1199starting GDB with the '-mapped' command-line option.
1200
1201You can cause GDB to read the entire symbol table immediately by using
1202the '-readnow' option with any of the commands that load symbol table
1203information (or on the GDB command line). This makes the command
1204slower, but makes future operations faster.
1205
1206The -mapped and -readnow options are typically combined in order to
1207build a `fred.syms' file that contains complete symbol information.
1208A simple GDB invocation to do nothing but build a `.syms' file for future
1209use is:
1210
1211 gdb -batch -nx -mapped -readnow programname
1212
1213The `.syms' file is specific to the host machine on which GDB is run.
1214It holds an exact image of GDB's internal symbol table. It cannot be
1215shared across multiple host platforms.
1216
1217 * longjmp() handling
1218
1219GDB is now capable of stepping and nexting over longjmp(), _longjmp(), and
1220siglongjmp() without losing control. This feature has not yet been ported to
1221all systems. It currently works on many 386 platforms, all MIPS-based
1222platforms (SGI, DECstation, etc), and Sun3/4.
1223
1224 * Solaris 2.0
1225
1226Preliminary work has been put in to support the new Solaris OS from Sun. At
1227this time, it can control and debug processes, but it is not capable of
1228reading symbols.
1229
1230 * Bug fixes
1231
1232As always, many many bug fixes. The major areas were with g++, and mipsread.
1233People using the MIPS-based platforms should experience fewer mysterious
1234crashes and trashed symbol tables.
1235
1236*** Changes in GDB-4.4:
1237
1238 * New machines supported (host and target)
1239
1240SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
1241 (except core files)
1242BSD Reno on Vax vax-dec-bsd
1243Ultrix on Vax vax-dec-ultrix
1244
1245 * New machines supported (target)
1246
1247AMD 29000 embedded, using EBMON a29k-none-none
1248
1249 * C++ support
1250
1251GDB continues to improve its handling of C++. `References' work better.
1252The demangler has also been improved, and now deals with symbols mangled as
1253per the Annotated C++ Reference Guide.
1254
1255GDB also now handles `stabs' symbol information embedded in MIPS
1256`ecoff' symbol tables. Since the ecoff format was not easily
1257extensible to handle new languages such as C++, this appeared to be a
1258good way to put C++ debugging info into MIPS binaries. This option
1259will be supported in the GNU C compiler, version 2, when it is
1260released.
1261
1262 * New features for SVR4
1263
1264GDB now handles SVR4 shared libraries, in the same fashion as SunOS
1265shared libraries. Debugging dynamically linked programs should present
1266only minor differences from debugging statically linked programs.
1267
1268The `info proc' command will print out information about any process
1269on an SVR4 system (including the one you are debugging). At the moment,
1270it prints the address mappings of the process.
1271
1272If you bring up GDB on another SVR4 system, please send mail to
1273[email protected] to let us know what changes were reqired (if any).
1274
1275 * Better dynamic linking support in SunOS
1276
1277Reading symbols from shared libraries which contain debugging symbols
1278now works properly. However, there remain issues such as automatic
1279skipping of `transfer vector' code during function calls, which
1280make it harder to debug code in a shared library, than to debug the
1281same code linked statically.
1282
1283 * New Getopt
1284
1285GDB is now using the latest `getopt' routines from the FSF. This
1286version accepts the -- prefix for options with long names. GDB will
1287continue to accept the old forms (-option and +option) as well.
1288Various single letter abbreviations for options have been explicity
1289added to the option table so that they won't get overshadowed in the
1290future by other options that begin with the same letter.
1291
1292 * Bugs fixed
1293
1294The `cleanup_undefined_types' bug that many of you noticed has been squashed.
1295Many assorted bugs have been handled. Many more remain to be handled.
1296See the various ChangeLog files (primarily in gdb and bfd) for details.
1297
1298
1299*** Changes in GDB-4.3:
1300
1301 * New machines supported (host and target)
1302
1303Amiga 3000 running Amix m68k-cbm-svr4 or amix
1304NCR 3000 386 running SVR4 i386-ncr-svr4 or ncr3000
1305Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
1306
1307 * Almost SCO Unix support
1308
1309We had hoped to support:
1310SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
1311(except for core file support), but we discovered very late in the release
1312that it has problems with process groups that render gdb unusable. Sorry
1313about that. I encourage people to fix it and post the fixes.
1314
1315 * Preliminary ELF and DWARF support
1316
1317GDB can read ELF object files on System V Release 4, and can handle
1318debugging records for C, in DWARF format, in ELF files. This support
1319is preliminary. If you bring up GDB on another SVR4 system, please
1320send mail to [email protected] to let us know what changes were
1321reqired (if any).
1322
1323 * New Readline
1324
1325GDB now uses the latest `readline' library. One user-visible change
1326is that two tabs will list possible command completions, which previously
1327required typing M-? (meta-question mark, or ESC ?).
1328
1329 * Bugs fixed
1330
1331The `stepi' bug that many of you noticed has been squashed.
1332Many bugs in C++ have been handled. Many more remain to be handled.
1333See the various ChangeLog files (primarily in gdb and bfd) for details.
1334
1335 * State of the MIPS world (in case you wondered):
1336
1337GDB can understand the symbol tables emitted by the compilers
1338supplied by most vendors of MIPS-based machines, including DEC. These
1339symbol tables are in a format that essentially nobody else uses.
1340
1341Some versions of gcc come with an assembler post-processor called
1342mips-tfile. This program is required if you want to do source-level
1343debugging of gcc-compiled programs. I believe FSF does not ship
1344mips-tfile with gcc version 1, but it will eventually come with gcc
1345version 2.
1346
1347Debugging of g++ output remains a problem. g++ version 1.xx does not
1348really support it at all. (If you're lucky, you should be able to get
1349line numbers and stack traces to work, but no parameters or local
1350variables.) With some work it should be possible to improve the
1351situation somewhat.
1352
1353When gcc version 2 is released, you will have somewhat better luck.
1354However, even then you will get confusing results for inheritance and
1355methods.
1356
1357We will eventually provide full debugging of g++ output on
1358DECstations. This will probably involve some kind of stabs-in-ecoff
1359encapulation, but the details have not been worked out yet.
1360
1361
1362*** Changes in GDB-4.2:
1363
1364 * Improved configuration
1365
1366Only one copy of `configure' exists now, and it is not self-modifying.
1367Porting BFD is simpler.
1368
1369 * Stepping improved
1370
1371The `step' and `next' commands now only stop at the first instruction
1372of a source line. This prevents the multiple stops that used to occur
1373in switch statements, for-loops, etc. `Step' continues to stop if a
1374function that has debugging information is called within the line.
1375
1376 * Bug fixing
1377
1378Lots of small bugs fixed. More remain.
1379
1380 * New host supported (not target)
1381
1382Intel 386 PC clone running Mach i386-none-mach
1383
1384
1385*** Changes in GDB-4.1:
1386
1387 * Multiple source language support
1388
1389GDB now has internal scaffolding to handle several source languages.
1390It determines the type of each source file from its filename extension,
1391and will switch expression parsing and number formatting to match the
1392language of the function in the currently selected stack frame.
1393You can also specifically set the language to be used, with
1394`set language c' or `set language modula-2'.
1395
1396 * GDB and Modula-2
1397
1398GDB now has preliminary support for the GNU Modula-2 compiler,
1399currently under development at the State University of New York at
1400Buffalo. Development of both GDB and the GNU Modula-2 compiler will
1401continue through the fall of 1991 and into 1992.
1402
1403Other Modula-2 compilers are currently not supported, and attempting to
1404debug programs compiled with them will likely result in an error as the
1405symbol table is read. Feel free to work on it, though!
1406
1407There are hooks in GDB for strict type checking and range checking,
1408in the `Modula-2 philosophy', but they do not currently work.
1409
1410 * set write on/off
1411
1412GDB can now write to executable and core files (e.g. patch
1413a variable's value). You must turn this switch on, specify
1414the file ("exec foo" or "core foo"), *then* modify it, e.g.
1415by assigning a new value to a variable. Modifications take
1416effect immediately.
1417
1418 * Automatic SunOS shared library reading
1419
1420When you run your program, GDB automatically determines where its
1421shared libraries (if any) have been loaded, and reads their symbols.
1422The `share' command is no longer needed. This also works when
1423examining core files.
1424
1425 * set listsize
1426
1427You can specify the number of lines that the `list' command shows.
1428The default is 10.
1429
1430 * New machines supported (host and target)
1431
1432SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
1433Sony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news
1434Ultracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3
1435
1436 * New hosts supported (not targets)
1437
1438IBM RT/PC: romp-ibm-aix or rtpc
1439
1440 * New targets supported (not hosts)
1441
1442AMD 29000 embedded with COFF a29k-none-coff
1443AMD 29000 embedded with a.out a29k-none-aout
1444Ultracomputer remote kernel debug a29k-nyu-kern
1445
1446 * New remote interfaces
1447
1448AMD 29000 Adapt
1449AMD 29000 Minimon
1450
1451
1452*** Changes in GDB-4.0:
1453
1454 * New Facilities
1455
1456Wide output is wrapped at good places to make the output more readable.
1457
1458Gdb now supports cross-debugging from a host machine of one type to a
1459target machine of another type. Communication with the target system
1460is over serial lines. The ``target'' command handles connecting to the
1461remote system; the ``load'' command will download a program into the
1462remote system. Serial stubs for the m68k and i386 are provided. Gdb
1463also supports debugging of realtime processes running under VxWorks,
1464using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
1465stub on the target system.
1466
1467New CPUs supported include the AMD 29000 and Intel 960.
1468
1469GDB now reads object files and symbol tables via a ``binary file''
1470library, which allows a single copy of GDB to debug programs of multiple
1471object file types such as a.out and coff.
1472
1473There is now a GDB reference card in "doc/refcard.tex". (Make targets
1474refcard.dvi and refcard.ps are available to format it).
1475
1476
1477 * Control-Variable user interface simplified
1478
1479All variables that control the operation of the debugger can be set
1480by the ``set'' command, and displayed by the ``show'' command.
1481
1482For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
1483``Show prompt'' produces the response:
1484Gdb's prompt is new-gdb=>.
1485
1486What follows are the NEW set commands. The command ``help set'' will
1487print a complete list of old and new set commands. ``help set FOO''
1488will give a longer description of the variable FOO. ``show'' will show
1489all of the variable descriptions and their current settings.
1490
1491confirm on/off: Enables warning questions for operations that are
1492 hard to recover from, e.g. rerunning the program while
1493 it is already running. Default is ON.
1494
1495editing on/off: Enables EMACS style command line editing
1496 of input. Previous lines can be recalled with
1497 control-P, the current line can be edited with control-B,
1498 you can search for commands with control-R, etc.
1499 Default is ON.
1500
1501history filename NAME: NAME is where the gdb command history
1502 will be stored. The default is .gdb_history,
1503 or the value of the environment variable
1504 GDBHISTFILE.
1505
1506history size N: The size, in commands, of the command history. The
1507 default is 256, or the value of the environment variable
1508 HISTSIZE.
1509
1510history save on/off: If this value is set to ON, the history file will
1511 be saved after exiting gdb. If set to OFF, the
1512 file will not be saved. The default is OFF.
1513
1514history expansion on/off: If this value is set to ON, then csh-like
1515 history expansion will be performed on
1516 command line input. The default is OFF.
1517
1518radix N: Sets the default radix for input and output. It can be set
1519 to 8, 10, or 16. Note that the argument to "radix" is interpreted
1520 in the current radix, so "set radix 10" is always a no-op.
1521
1522height N: This integer value is the number of lines on a page. Default
1523 is 24, the current `stty rows'' setting, or the ``li#''
1524 setting from the termcap entry matching the environment
1525 variable TERM.
1526
1527width N: This integer value is the number of characters on a line.
1528 Default is 80, the current `stty cols'' setting, or the ``co#''
1529 setting from the termcap entry matching the environment
1530 variable TERM.
1531
1532Note: ``set screensize'' is obsolete. Use ``set height'' and
1533``set width'' instead.
1534
1535print address on/off: Print memory addresses in various command displays,
1536 such as stack traces and structure values. Gdb looks
1537 more ``symbolic'' if you turn this off; it looks more
1538 ``machine level'' with it on. Default is ON.
1539
1540print array on/off: Prettyprint arrays. New convenient format! Default
1541 is OFF.
1542
1543print demangle on/off: Print C++ symbols in "source" form if on,
1544 "raw" form if off.
1545
1546print asm-demangle on/off: Same, for assembler level printouts
1547 like instructions.
1548
1549print vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF.
1550
1551
1552 * Support for Epoch Environment.
1553
1554The epoch environment is a version of Emacs v18 with windowing. One
1555new command, ``inspect'', is identical to ``print'', except that if you
1556are running in the epoch environment, the value is printed in its own
1557window.
1558
1559
1560 * Support for Shared Libraries
1561
1562GDB can now debug programs and core files that use SunOS shared libraries.
1563Symbols from a shared library cannot be referenced
1564before the shared library has been linked with the program (this
1565happens after you type ``run'' and before the function main() is entered).
1566At any time after this linking (including when examining core files
1567from dynamically linked programs), gdb reads the symbols from each
1568shared library when you type the ``sharedlibrary'' command.
1569It can be abbreviated ``share''.
1570
1571sharedlibrary REGEXP: Load shared object library symbols for files
1572 matching a unix regular expression. No argument
1573 indicates to load symbols for all shared libraries.
1574
1575info sharedlibrary: Status of loaded shared libraries.
1576
1577
1578 * Watchpoints
1579
1580A watchpoint stops execution of a program whenever the value of an
1581expression changes. Checking for this slows down execution
1582tremendously whenever you are in the scope of the expression, but is
1583quite useful for catching tough ``bit-spreader'' or pointer misuse
1584problems. Some machines such as the 386 have hardware for doing this
1585more quickly, and future versions of gdb will use this hardware.
1586
1587watch EXP: Set a watchpoint (breakpoint) for an expression.
1588
1589info watchpoints: Information about your watchpoints.
1590
1591delete N: Deletes watchpoint number N (same as breakpoints).
1592disable N: Temporarily turns off watchpoint number N (same as breakpoints).
1593enable N: Re-enables watchpoint number N (same as breakpoints).
1594
1595
1596 * C++ multiple inheritance
1597
1598When used with a GCC version 2 compiler, GDB supports multiple inheritance
1599for C++ programs.
1600
1601 * C++ exception handling
1602
1603Gdb now supports limited C++ exception handling. Besides the existing
1604ability to breakpoint on an exception handler, gdb can breakpoint on
1605the raising of an exception (before the stack is peeled back to the
1606handler's context).
1607
1608catch FOO: If there is a FOO exception handler in the dynamic scope,
1609 set a breakpoint to catch exceptions which may be raised there.
1610 Multiple exceptions (``catch foo bar baz'') may be caught.
1611
1612info catch: Lists all exceptions which may be caught in the
1613 current stack frame.
1614
1615
1616 * Minor command changes
1617
1618The command ``call func (arg, arg, ...)'' now acts like the print
1619command, except it does not print or save a value if the function's result
1620is void. This is similar to dbx usage.
1621
1622The ``up'' and ``down'' commands now always print the frame they end up
1623at; ``up-silently'' and `down-silently'' can be used in scripts to change
1624frames without printing.
1625
1626 * New directory command
1627
1628'dir' now adds directories to the FRONT of the source search path.
1629The path starts off empty. Source files that contain debug information
1630about the directory in which they were compiled can be found even
1631with an empty path; Sun CC and GCC include this information. If GDB can't
1632find your source file in the current directory, type "dir .".
1633
1634 * Configuring GDB for compilation
1635
1636For normal use, type ``./configure host''. See README or gdb.texinfo
1637for more details.
1638
1639GDB now handles cross debugging. If you are remotely debugging between
1640two different machines, type ``./configure host -target=targ''.
1641Host is the machine where GDB will run; targ is the machine
1642where the program that you are debugging will run.
This page took 0.232199 seconds and 4 git commands to generate.