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