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