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