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