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