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