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