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