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