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