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