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