gdb/
[deliverable/binutils-gdb.git] / gdb / NEWS
CommitLineData
c906108c
SS
1 What has changed in GDB?
2 (Organized release by release)
3
2d450646
JB
4*** Changes since GDB 7.6
5
bd712aed
DE
6* New commands:
7maint set|show per-command
8maint set|show per-command space
9maint set|show per-command time
10maint set|show per-command symtab
11 Enable display of per-command gdb resource usage.
12
bd3eecc3
PA
13* New options
14
15set remote trace-status-packet
16show remote trace-status-packet
17 Set/show the use of remote protocol qTStatus packet.
18
d0353e76
YQ
19* The command 'tsave' can now support new option '-ctf' to save trace
20 buffer in Common Trace Format.
21
22* MI changes
23
24 ** The -trace-save MI command can optionally save trace buffer in Common
25 Trace Format now.
26
2d450646 27*** Changes in GDB 7.6
80c8d323 28
59ea5688
MM
29* Target record has been renamed to record-full.
30 Record/replay is now enabled with the "record full" command.
31 This also affects settings that are associated with full record/replay
32 that have been moved from "set/show record" to "set/show record full":
33
34set|show record full insn-number-max
35set|show record full stop-at-limit
36set|show record full memory-query
37
38* A new record target "record-btrace" has been added. The new target
39 uses hardware support to record the control-flow of a process. It
40 does not support replaying the execution, but it implements the
41 below new commands for investigating the recorded execution log.
42 This new recording method can be enabled using:
43
44record btrace
45
46 The "record-btrace" target is only available on Intel Atom processors
47 and requires a Linux kernel 2.6.32 or later.
48
49* Two new commands have been added for record/replay to give information
50 about the recorded execution without having to replay the execution.
51 The commands are only supported by "record btrace".
52
53record instruction-history prints the execution history at
54 instruction granularity
55
56record function-call-history prints the execution history at
57 function granularity
58
543bf33d
AT
59* New native configurations
60
51d66578 61ARM AArch64 GNU/Linux aarch64*-*-linux-gnu
543bf33d 62FreeBSD/powerpc powerpc*-*-freebsd
4f4352f7 63x86_64/Cygwin x86_64-*-cygwin*
ea5f3910 64Tilera TILE-Gx GNU/Linux tilegx*-*-linux-gnu
543bf33d 65
249729c4
JB
66* New targets
67
51d66578
MS
68ARM AArch64 aarch64*-*-elf
69ARM AArch64 GNU/Linux aarch64*-*-linux
249729c4 70Lynx 178 PowerPC powerpc-*-lynx*178
3c095f49 71x86_64/Cygwin x86_64-*-cygwin*
ea5f3910 72Tilera TILE-Gx GNU/Linux tilegx*-*-linux
249729c4 73
e64e0392
DE
74* If the configured location of system.gdbinit file (as given by the
75 --with-system-gdbinit option at configure time) is in the
76 data-directory (as specified by --with-gdb-datadir at configure
77 time) or in one of its subdirectories, then GDB will look for the
78 system-wide init file in the directory specified by the
79 --data-directory command-line option.
80
07540c15
DE
81* New command line options:
82
83-nh Disables auto-loading of ~/.gdbinit, but still executes all the
84 other initialization files, unlike -nx which disables all of them.
85
e93a8774
TT
86* Removed command line options
87
88-epoch This was used by the gdb mode in Epoch, an ancient fork of
89 Emacs.
90
53342f27
TT
91* The 'ptype' and 'whatis' commands now accept an argument to control
92 type formatting.
93
451b7c33
TT
94* 'info proc' now works on some core files.
95
a72c3253
DE
96* Python scripting
97
98 ** Vectors can be created with gdb.Type.vector.
99
d7de8e3c
TT
100 ** Python's atexit.register now works in GDB.
101
18a9fc12
TT
102 ** Types can be pretty-printed via a Python API.
103
9a27f2c6
PK
104 ** Python 3 is now supported (in addition to Python 2.4 or later)
105
bea883fd
SCR
106 ** New class gdb.Architecture exposes GDB's internal representation
107 of architecture in the Python API.
108
109 ** New method Frame.architecture returns the gdb.Architecture object
110 corresponding to the frame's architecture.
111
a72c3253
DE
112* New Python-based convenience functions:
113
114 ** $_memeq(buf1, buf2, length)
115 ** $_streq(str1, str2)
116 ** $_strlen(str)
117 ** $_regex(str, regex)
118
f3c8a52a
JK
119* The 'cd' command now defaults to using '~' (the home directory) if not
120 given an argument.
121
1605ef26
TT
122* The C++ ABI now defaults to the GNU v3 ABI. This has been the
123 default for GCC since November 2000.
124
504b36fd
YQ
125* The command 'forward-search' can now be abbreviated as 'fo'.
126
f2a8bc8a
YQ
127* The command 'info tracepoints' can now display 'installed on target'
128 or 'not installed on target' for each non-pending location of tracepoint.
129
23a80689
JB
130* New configure options
131
132--enable-libmcheck/--disable-libmcheck
133 By default, development versions are built with -lmcheck on hosts
134 that support it, in order to help track memory corruption issues.
135 Release versions, on the other hand, are built without -lmcheck
136 by default. The --enable-libmcheck/--disable-libmcheck configure
137 options allow the user to override that default.
393fd4c3
YQ
138--with-babeltrace/--with-babeltrace-include/--with-babeltrace-lib
139 This configure option allows the user to build GDB with
140 libbabeltrace using which GDB can read Common Trace Format data.
23a80689 141
d6b28940
TT
142* New commands (for set/show, see "New options" below)
143
ab04a2af
TT
144catch signal
145 Catch signals. This is similar to "handle", but allows commands and
146 conditions to be attached.
147
d6b28940
TT
148maint info bfds
149 List the BFDs known to GDB.
150
8315665e
YPK
151python-interactive [command]
152pi [command]
153 Start a Python interactive prompt, or evaluate the optional command
154 and print the result of expressions.
155
156py [command]
157 "py" is a new alias for "python".
158
18a9fc12
TT
159enable type-printer [name]...
160disable type-printer [name]...
161 Enable or disable type printers.
162
aa9259cc
TS
163* Removed commands
164
165 ** For the Renesas Super-H architecture, the "regs" command has been removed
166 (has been deprecated in GDB 7.5), and "info all-registers" should be used
167 instead.
168
53342f27
TT
169* New options
170
171set print type methods (on|off)
172show print type methods
173 Control whether method declarations are displayed by "ptype".
174 The default is to show them.
175
176set print type typedefs (on|off)
177show print type typedefs
178 Control whether typedef definitions are displayed by "ptype".
179 The default is to show them.
180
1b56eb55
JK
181set filename-display basename|relative|absolute
182show filename-display
183 Control the way in which filenames is displayed.
184 The default is "relative", which preserves previous behavior.
185
e9f1758d
PA
186set trace-buffer-size
187show trace-buffer-size
188 Request target to change the size of trace buffer.
189
a46c1e42
PA
190set remote trace-buffer-size-packet auto|on|off
191show remote trace-buffer-size-packet
192 Control the use of the remote protocol `QTBuffer:size' packet.
193
be9a8770
PA
194set debug aarch64
195show debug aarch64
196 Control display of debugging messages related to ARM AArch64.
197 The default is off.
198
199set debug coff-pe-read
200show debug coff-pe-read
201 Control display of debugging messages related to reading of COFF/PE
202 exported symbols.
203
204set debug mach-o
205show debug mach-o
206 Control display of debugging messages related to Mach-O symbols
207 processing.
208
209set debug notification
210show debug notification
211 Control display of debugging info for async remote notification.
212
5b9afe8a
YQ
213* MI changes
214
215 ** Command parameter changes are now notified using new async record
216 "=cmd-param-changed".
201b4506
YQ
217 ** Trace frame changes caused by command "tfind" are now notified using
218 new async record "=traceframe-changed".
134a2066
YQ
219 ** The creation, deletion and modification of trace state variables
220 are now notified using new async records "=tsv-created",
221 "=tsv-deleted" and "=tsv-modified".
82a90ccf
YQ
222 ** The start and stop of process record are now notified using new
223 async record "=record-started" and "=record-stopped".
8de0566d
YQ
224 ** Memory changes are now notified using new async record
225 "=memory-changed".
ed8a1c2d 226 ** The data-disassemble command response will include a "fullname" field
ec83d211 227 containing the absolute file name when source has been requested.
62747a60
TT
228 ** New optional parameter COUNT added to the "-data-write-memory-bytes"
229 command, to allow pattern filling of memory areas.
3fa7bf06
MG
230 ** New commands "-catch-load"/"-catch-unload" added for intercepting
231 library load/unload events.
f2a8bc8a
YQ
232 ** The response to breakpoint commands and breakpoint async records
233 includes an "installed" field containing a boolean state about each
234 non-pending tracepoint location is whether installed on target or not.
f5911ea1
HAQ
235 ** Output of the "-trace-status" command includes a "trace-file" field
236 containing the name of the trace file being examined. This field is
237 optional, and only present when examining a trace file.
ec83d211
JK
238 ** The "fullname" field is now always present along with the "file" field,
239 even if the file cannot be found by GDB.
5b9afe8a 240
608e2dbb
TT
241* GDB now supports the "mini debuginfo" section, .gnu_debugdata.
242 You must have the LZMA library available when configuring GDB for this
243 feature to be enabled. For more information, see:
244 http://fedoraproject.org/wiki/Features/MiniDebugInfo
245
f6f899bf
HAQ
246* New remote packets
247
248QTBuffer:size
249 Set the size of trace buffer. The remote stub reports support for this
250 packet to gdb's qSupported query.
251
10782d74
MM
252Qbtrace:bts
253 Enable Branch Trace Store (BTS)-based branch tracing for the current
254 thread. The remote stub reports support for this packet to gdb's
255 qSupported query.
256
257Qbtrace:off
258 Disable branch tracing for the current thread. The remote stub reports
259 support for this packet to gdb's qSupported query.
260
261qXfer:btrace:read
262 Read the traced branches for the current thread. The remote stub
263 reports support for this packet to gdb's qSupported query.
264
80c8d323 265*** Changes in GDB 7.5
d6e00af6 266
1b3371b1
L
267* GDB now supports x32 ABI. Visit <http://sites.google.com/site/x32abi/>
268 for more x32 ABI info.
269
d0e64392
MR
270* GDB now supports access to MIPS DSP registers on Linux targets.
271
4cc0665f
MR
272* GDB now supports debugging microMIPS binaries.
273
85d4a676
SS
274* The "info os" command on GNU/Linux can now display information on
275 several new classes of objects managed by the operating system:
276 "info os procgroups" lists process groups
277 "info os files" lists file descriptors
278 "info os sockets" lists internet-domain sockets
279 "info os shm" lists shared-memory regions
280 "info os semaphores" lists semaphores
281 "info os msg" lists message queues
282 "info os modules" lists loaded kernel modules
283
55aa24fb
SDJ
284* GDB now has support for SDT (Static Defined Tracing) probes. Currently,
285 the only implemented backend is for SystemTap probes (<sys/sdt.h>). You
286 can set a breakpoint using the new "-probe, "-pstap" or "-probe-stap"
287 options and inspect the probe arguments using the new $_probe_arg family
288 of convenience variables. You can obtain more information about SystemTap
289 in <http://sourceware.org/systemtap/>.
290
72508ac0
PO
291* GDB now supports reversible debugging on ARM, it allows you to
292 debug basic ARM and THUMB instructions, and provides
293 record/replay support.
294
16899756
DE
295* The option "symbol-reloading" has been deleted as it is no longer used.
296
4795f398
DE
297* Python scripting
298
7d74f244
DE
299 ** GDB commands implemented in Python can now be put in command class
300 "gdb.COMMAND_USER".
301
4795f398
DE
302 ** The "maint set python print-stack on|off" is now deleted.
303
50897289
TT
304 ** A new class, gdb.printing.FlagEnumerationPrinter, can be used to
305 apply "flag enum"-style pretty-printing to any enum.
306
64e7d9dd
TT
307 ** gdb.lookup_symbol can now work when there is no current frame.
308
309 ** gdb.Symbol now has a 'line' attribute, holding the line number in
310 the source at which the symbol was defined.
311
f0823d2c
TT
312 ** gdb.Symbol now has the new attribute 'needs_frame' and the new
313 method 'value'. The former indicates whether the symbol needs a
314 frame in order to compute its value, and the latter computes the
315 symbol's value.
316
7b282c5a
SCR
317 ** A new method 'referenced_value' on gdb.Value objects which can
318 dereference pointer as well as C++ reference values.
319
a20ee7a4
SCR
320 ** New methods 'global_block' and 'static_block' on gdb.Symtab objects
321 which return the global and static blocks (as gdb.Block objects),
322 of the underlying symbol table, respectively.
323
7efc75aa
SCR
324 ** New function gdb.find_pc_line which returns the gdb.Symtab_and_line
325 object associated with a PC value.
326
ee0bf529
SCR
327 ** gdb.Symtab_and_line has new attribute 'last' which holds the end
328 of the address range occupied by code for the current source line.
329
a766d390
DE
330* Go language support.
331 GDB now supports debugging programs written in the Go programming
332 language.
333
e0f9f062
DE
334* GDBserver now supports stdio connections.
335 E.g. (gdb) target remote | ssh myhost gdbserver - hello
336
217bff3e
JK
337* The binary "gdbtui" can no longer be built or installed.
338 Use "gdb -tui" instead.
339
cafec441
TT
340* GDB will now print "flag" enums specially. A flag enum is one where
341 all the enumerator values have no bits in common when pairwise
342 "and"ed. When printing a value whose type is a flag enum, GDB will
343 show all the constants, e.g., for enum E { ONE = 1, TWO = 2}:
344 (gdb) print (enum E) 3
345 $1 = (ONE | TWO)
346
4aac40c8
TT
347* The filename part of a linespec will now match trailing components
348 of a source file name. For example, "break gcc/expr.c:1000" will
349 now set a breakpoint in build/gcc/expr.c, but not
350 build/libcpp/expr.c.
351
d99bd577
UW
352* The "info proc" and "generate-core-file" commands will now also
353 work on remote targets connected to GDBserver on Linux.
354
53fe1783
GB
355* The command "info catch" has been removed. It has been disabled
356 since December 2007.
357
e41eec66
JB
358* The "catch exception" and "catch assert" commands now accept
359 a condition at the end of the command, much like the "break"
360 command does. For instance:
361
362 (gdb) catch exception Constraint_Error if Barrier = True
363
364 Previously, it was possible to add a condition to such catchpoints,
365 but it had to be done as a second step, after the catchpoint had been
366 created, using the "condition" command.
367
5808517f
YQ
368* The "info static-tracepoint-marker" command will now also work on
369 native Linux targets with in-process agent.
370
481860b3
GB
371* GDB can now set breakpoints on inlined functions.
372
373* The .gdb_index section has been updated to include symbols for
374 inlined functions. GDB will ignore older .gdb_index sections by
375 default, which could cause symbol files to be loaded more slowly
e615022a
DE
376 until their .gdb_index sections can be recreated. The new command
377 "set use-deprecated-index-sections on" will cause GDB to use any older
378 .gdb_index sections it finds. This will restore performance, but the
379 ability to set breakpoints on inlined functions will be lost in symbol
380 files with older .gdb_index sections.
481860b3 381
156942c7
DE
382 The .gdb_index section has also been updated to record more information
383 about each symbol. This speeds up the "info variables", "info functions"
384 and "info types" commands when used with programs having the .gdb_index
385 section, as well as speeding up debugging with shared libraries using
386 the .gdb_index section.
387
927fbba6
JB
388* Ada support for GDB/MI Variable Objects has been added.
389
20388dd6
YQ
390* GDB can now support 'breakpoint always-inserted mode' in 'record'
391 target.
392
f3e0e960
SS
393* MI changes
394
395 ** New command -info-os is the MI equivalent of "info os".
396
37ce89eb
SS
397 ** Output logs ("set logging" and related) now include MI output.
398
edcc5120
TT
399* New commands
400
e615022a
DE
401 ** "set use-deprecated-index-sections on|off"
402 "show use-deprecated-index-sections on|off"
403 Controls the use of deprecated .gdb_index sections.
404
edcc5120
TT
405 ** "catch load" and "catch unload" can be used to stop when a shared
406 library is loaded or unloaded, respectively.
407
816338b5
SS
408 ** "enable count" can be used to auto-disable a breakpoint after
409 several hits.
410
57651221 411 ** "info vtbl" can be used to show the virtual method tables for
c4aeac85
TT
412 C++ and Java objects.
413
06fc020f
SCR
414 ** "explore" and its sub commands "explore value" and "explore type"
415 can be used to reccursively explore values and types of
416 expressions. These commands are available only if GDB is
417 configured with '--with-python'.
418
bf88dd68
JK
419 ** "info auto-load" shows status of all kinds of auto-loaded files,
420 "info auto-load gdb-scripts" shows status of auto-loading GDB canned
421 sequences of commands files, "info auto-load python-scripts"
422 shows status of auto-loading Python script files,
423 "info auto-load local-gdbinit" shows status of loading init file
424 (.gdbinit) from current directory and "info auto-load libthread-db" shows
425 status of inferior specific thread debugging shared library loading.
426
427 ** "info auto-load-scripts", "set auto-load-scripts on|off"
428 and "show auto-load-scripts" commands have been deprecated, use their
429 "info auto-load python-scripts", "set auto-load python-scripts on|off"
430 and "show auto-load python-scripts" counterparts instead.
431
e7e0cddf
SS
432 ** "dprintf location,format,args..." creates a dynamic printf, which
433 is basically a breakpoint that does a printf and immediately
434 resumes your program's execution, so it is like a printf that you
435 can insert dynamically at runtime instead of at compiletime.
436
9cb709b6
TT
437 ** "set print symbol"
438 "show print symbol"
439 Controls whether GDB attempts to display the symbol, if any,
440 corresponding to addresses it prints. This defaults to "on", but
441 you can set it to "off" to restore GDB's previous behavior.
442
2d4c29c5
TS
443* Deprecated commands
444
445 ** For the Renesas Super-H architecture, the "regs" command has been
446 deprecated, and "info all-registers" should be used instead.
447
a58b110a
KB
448* New targets
449
450Renesas RL78 rl78-*-elf
60c9a3c0 451HP OpenVMS ia64 ia64-hp-openvms*
a58b110a 452
72895ff6
LM
453* GDBserver supports evaluation of breakpoint conditions. When
454 support is advertised by GDBserver, GDB may be told to send the
455 breakpoint conditions in bytecode form to GDBserver. GDBserver
456 will only report the breakpoint trigger to GDB when its condition
457 evaluates to true.
458
459* New options
460
4cc0665f
MR
461set mips compression
462show mips compression
463 Select the compressed ISA encoding used in functions that have no symbol
464 information available. The encoding can be set to either of:
465 mips16
466 micromips
467 and is updated automatically from ELF file flags if available.
468
72895ff6
LM
469set breakpoint condition-evaluation
470show breakpoint condition-evaluation
cf65ecd3 471 Control whether breakpoint conditions are evaluated by GDB ("host") or by
5b43fab2
JK
472 GDBserver ("target"). Default option "auto" chooses the most efficient
473 available mode.
72895ff6
LM
474 This option can improve debugger efficiency depending on the speed of the
475 target.
476
bf88dd68
JK
477set auto-load off
478 Disable auto-loading globally.
479
480show auto-load
481 Show auto-loading setting of all kinds of auto-loaded files.
482
483set auto-load gdb-scripts on|off
484show auto-load gdb-scripts
485 Control auto-loading of GDB canned sequences of commands files.
486
487set auto-load python-scripts on|off
488show auto-load python-scripts
489 Control auto-loading of Python script files.
490
491set auto-load local-gdbinit on|off
492show auto-load local-gdbinit
493 Control loading of init file (.gdbinit) from current directory.
494
495set auto-load libthread-db on|off
496show auto-load libthread-db
497 Control auto-loading of inferior specific thread debugging shared library.
498
7349ff92 499set auto-load scripts-directory <dir1>[:<dir2>...]
9cc815f5 500show auto-load scripts-directory
7349ff92
JK
501 Set a list of directories from which to load auto-loaded scripts.
502 Automatically loaded Python scripts and GDB scripts are located in one
503 of the directories listed by this option.
504 The delimiter (':' above) may differ according to the host platform.
505
bccbefd2
JK
506set auto-load safe-path <dir1>[:<dir2>...]
507show auto-load safe-path
508 Set a list of directories from which it is safe to auto-load files.
509 The delimiter (':' above) may differ according to the host platform.
510
4dc84fd1
JK
511set debug auto-load on|off
512show debug auto-load
513 Control display of debugging info for auto-loading the files above.
514
d3ce09f5 515set dprintf-style gdb|call|agent
e7e0cddf 516show dprintf-style
d3ce09f5
SS
517 Control the way in which a dynamic printf is performed; "gdb"
518 requests a GDB printf command, while "call" causes dprintf to call a
519 function in the inferior. "agent" requests that the target agent
520 (such as GDBserver) do the printing.
e7e0cddf
SS
521
522set dprintf-function <expr>
523show dprintf-function
524set dprintf-channel <expr>
525show dprintf-channel
526 Set the function and optional first argument to the call when using
527 the "call" style of dynamic printf.
528
d3ce09f5
SS
529set disconnected-dprintf on|off
530show disconnected-dprintf
531 Control whether agent-style dynamic printfs continue to be in effect
532 after GDB disconnects.
533
6dea1fbd
JK
534* New configure options
535
7349ff92
JK
536--with-auto-load-dir
537 Configure default value for the 'set auto-load scripts-directory'
1564a261
JK
538 setting above. It defaults to '$debugdir:$datadir/auto-load',
539 $debugdir representing global debugging info directories (available
540 via 'show debug-file-directory') and $datadir representing GDB's data
541 directory (available via 'show data-directory').
7349ff92 542
6dea1fbd
JK
543--with-auto-load-safe-path
544 Configure default value for the 'set auto-load safe-path' setting
7349ff92 545 above. It defaults to the --with-auto-load-dir setting.
6dea1fbd
JK
546
547--without-auto-load-safe-path
548 Set 'set auto-load safe-path' to '/', effectively disabling this
549 security feature.
550
72895ff6
LM
551* New remote packets
552
74c48cbb
PA
553z0/z1 conditional breakpoints extension
554
72895ff6
LM
555 The z0/z1 breakpoint insertion packets have been extended to carry
556 a list of conditional expressions over to the remote stub depending on the
557 condition evaluation mode. The use of this extension can be controlled
558 via the "set remote conditional-breakpoints-packet" command.
559
9b224c5e
PA
560QProgramSignals:
561
562 Specify the signals which the remote stub may pass to the debugged
563 program without GDB involvement.
564
8320cc4f
JK
565* New command line options
566
567--init-command=FILE, -ix Like --command, -x but execute it
568 before loading inferior.
569--init-eval-command=COMMAND, -iex Like --eval-command=COMMAND, -ex but
570 execute it before loading inferior.
571
8837a20f
JB
572*** Changes in GDB 7.4
573
f8eba3c6
TT
574* GDB now handles ambiguous linespecs more consistently; the existing
575 FILE:LINE support has been expanded to other types of linespecs. A
576 breakpoint will now be set on all matching locations in all
577 inferiors, and locations will be added or removed according to
578 inferior changes.
579
1bfeeb0f
JL
580* GDB now allows you to skip uninteresting functions and files when
581 stepping with the "skip function" and "skip file" commands.
582
480a3f21
PW
583* GDB has two new commands: "set remote hardware-watchpoint-length-limit"
584 and "show remote hardware-watchpoint-length-limit". These allows to
585 set or show the maximum length limit (in bytes) of a remote
586 target hardware watchpoint.
587
588 This allows e.g. to use "unlimited" hardware watchpoints with the
589 gdbserver integrated in Valgrind version >= 3.7.0. Such Valgrind
590 watchpoints are slower than real hardware watchpoints but are
591 significantly faster than gdb software watchpoints.
592
3a7bf607
PM
593* Python scripting
594
32d1c362 595 ** The register_pretty_printer function in module gdb.printing now takes
7d0aff21 596 an optional `replace' argument. If True, the new printer replaces any
32d1c362
DE
597 existing one.
598
3a7bf607 599 ** The "maint set python print-stack on|off" command has been
4795f398
DE
600 deprecated and will be deleted in GDB 7.5.
601 A new command: "set python print-stack none|full|message" has
602 replaced it. Additionally, the default for "print-stack" is
603 now "message", which just prints the error message without
604 the stack trace.
3a7bf607 605
baacfb07 606 ** A prompt substitution hook (prompt_hook) is now available to the
3a7bf607 607 Python API.
713389e0 608
fa3a4f15
PM
609 ** A new Python module, gdb.prompt has been added to the GDB Python
610 modules library. This module provides functionality for
baacfb07 611 escape sequences in prompts (used by set/show
fa3a4f15
PM
612 extended-prompt). These escape sequences are replaced by their
613 corresponding value.
614
5e239b84
PM
615 ** Python commands and convenience-functions located in
616 'data-directory'/python/gdb/command and
617 'data-directory'/python/gdb/function are now automatically loaded
618 on GDB start-up.
619
9df2fbc4
PM
620 ** Blocks now provide four new attributes. global_block and
621 static_block will return the global and static blocks
622 respectively. is_static and is_global are boolean attributes
623 that indicate if the block is one of those two types.
624
457e09f0
DE
625 ** Symbols now provide the "type" attribute, the type of the symbol.
626
6839b47f
KP
627 ** The "gdb.breakpoint" function has been deprecated in favor of
628 "gdb.breakpoints".
629
cc72b2a2
KP
630 ** A new class "gdb.FinishBreakpoint" is provided to catch the return
631 of a function. This class is based on the "finish" command
632 available in the CLI.
633
84ad80e6
PK
634 ** Type objects for struct and union types now allow access to
635 the fields using standard Python dictionary (mapping) methods.
636 For example, "some_type['myfield']" now works, as does
637 "some_type.items()".
638
20c168b5
KP
639 ** A new event "gdb.new_objfile" has been added, triggered by loading a
640 new object file.
641
03c3051a
PK
642 ** A new function, "deep_items" has been added to the gdb.types
643 module in the GDB Python modules library. This function returns
644 an iterator over the fields of a struct or union type. Unlike
645 the standard Python "iteritems" method, it will recursively traverse
646 any anonymous fields.
647
7376e450
TT
648* MI changes
649
650 ** "*stopped" events can report several new "reason"s, such as
651 "solib-event".
652
653 ** Breakpoint changes are now notified using new async records, like
654 "=breakpoint-modified".
655
656 ** New command -ada-task-info.
657
98a5dd13
DE
658* libthread-db-search-path now supports two special values: $sdir and $pdir.
659 $sdir specifies the default system locations of shared libraries.
660 $pdir specifies the directory where the libpthread used by the application
661 lives.
662
663 GDB no longer looks in $sdir and $pdir after it has searched the directories
664 mentioned in libthread-db-search-path. If you want to search those
665 directories, they must be specified in libthread-db-search-path.
666 The default value of libthread-db-search-path on GNU/Linux and Solaris
667 systems is now "$sdir:$pdir".
668
669 $pdir is not supported by gdbserver, it is currently ignored.
670 $sdir is supported by gdbserver.
671
478aac75
DE
672* New configure option --with-iconv-bin.
673 When using the internationalization support like the one in the GNU C
674 library, GDB will invoke the "iconv" program to get a list of supported
675 character sets. If this program lives in a non-standard location, one can
676 use this option to specify where to find it.
677
9c06b0b4
TJB
678* When natively debugging programs on PowerPC BookE processors running
679 a Linux kernel version 2.6.34 or later, GDB supports masked hardware
680 watchpoints, which specify a mask in addition to an address to watch.
681 The mask specifies that some bits of an address (the bits which are
682 reset in the mask) should be ignored when matching the address accessed
683 by the inferior against the watchpoint address. See the "PowerPC Embedded"
684 section in the user manual for more details.
685
03f2bd59
JK
686* The new option --once causes GDBserver to stop listening for connections once
687 the first connection is made. The listening port used by GDBserver will
688 become available after that.
689
71eba9c2 690* New commands "info macros" and "alias" have been added.
edc84990 691
2bda9cc5
JK
692* New function parameters suffix @entry specifies value of function parameter
693 at the time the function got called. Entry values are available only since
694 gcc version 4.7.
695
ed59ded5
DE
696* New commands
697
698!SHELL COMMAND
699 "!" is now an alias of the "shell" command.
700 Note that no space is needed between "!" and SHELL COMMAND.
701
9c06b0b4
TJB
702* Changed commands
703
704watch EXPRESSION mask MASK_VALUE
705 The watch command now supports the mask argument which allows creation
706 of masked watchpoints, if the current architecture supports this feature.
707
dbaefcf7
DE
708info auto-load-scripts [REGEXP]
709 This command was formerly named "maintenance print section-scripts".
710 It is now generally useful and is no longer a maintenance-only command.
711
71eba9c2 712info macro [-all] [--] MACRO
713 The info macro command has new options `-all' and `--'. The first for
714 printing all definitions of a macro. The second for explicitly specifying
715 the end of arguments and the beginning of the macro name in case the macro
716 name starts with a hyphen.
717
3065dfb6
SS
718collect[/s] EXPRESSIONS
719 The tracepoint collect command now takes an optional modifier "/s"
720 that directs it to dereference pointer-to-character types and
721 collect the bytes of memory up to a zero byte. The behavior is
722 similar to what you see when you use the regular print command on a
723 string. An optional integer following the "/s" sets a bound on the
724 number of bytes that will be collected.
725
f196051f
SS
726tstart [NOTES]
727 The trace start command now interprets any supplied arguments as a
728 note to be recorded with the trace run, with an effect similar to
729 setting the variable trace-notes.
730
731tstop [NOTES]
732 The trace stop command now interprets any arguments as a note to be
733 mentioned along with the tstatus report that the trace was stopped
734 with a command. The effect is similar to setting the variable
735 trace-stop-notes.
736
d248b706
KY
737* Tracepoints can now be enabled and disabled at any time after a trace
738 experiment has been started using the standard "enable" and "disable"
739 commands. It is now possible to start a trace experiment with no enabled
740 tracepoints; GDB will display a warning, but will allow the experiment to
741 begin, assuming that tracepoints will be enabled as needed while the trace
742 is running.
743
405f8e94
SS
744* Fast tracepoints on 32-bit x86-architectures can now be placed at
745 locations with 4-byte instructions, when they were previously
746 limited to locations with instructions of 5 bytes or longer.
747
2bda9cc5
JK
748* New options
749
45cfd468
DE
750set debug dwarf2-read
751show debug dwarf2-read
752 Turns on or off display of debugging messages related to reading
753 DWARF debug info. The default is off.
754
755set debug symtab-create
756show debug symtab-create
757 Turns on or off display of debugging messages related to symbol table
758 creation. The default is off.
759
baacfb07
PM
760set extended-prompt
761show extended-prompt
762 Set the GDB prompt, and allow escape sequences to be inserted to
763 display miscellaneous information (see 'help set extended-prompt'
764 for the list of sequences). This prompt (and any information
765 accessed through the escape sequences) is updated every time the
766 prompt is displayed.
767
2bda9cc5
JK
768set print entry-values (both|compact|default|if-needed|no|only|preferred)
769show print entry-values
770 Set printing of frame argument values at function entry. In some cases
771 GDB can determine the value of function argument which was passed by the
772 function caller, even if the value was modified inside the called function.
773
774set debug entry-values
775show debug entry-values
776 Control display of debugging info for determining frame argument values at
777 function entry and virtual tail call frames.
778
c011a4f4
DE
779set basenames-may-differ
780show basenames-may-differ
781 Set whether a source file may have multiple base names.
782 (A "base name" is the name of a file with the directory part removed.
783 Example: The base name of "/home/user/hello.c" is "hello.c".)
784 If set, GDB will canonicalize file names (e.g., expand symlinks)
785 before comparing them. Canonicalization is an expensive operation,
786 but it allows the same file be known by more than one base name.
787 If not set (the default), all source files are assumed to have just
788 one base name, and gdb will do file name comparisons more efficiently.
789
f196051f
SS
790set trace-user
791show trace-user
792set trace-notes
793show trace-notes
794 Set a user name and notes for the current and any future trace runs.
795 This is useful for long-running and/or disconnected traces, to
796 inform others (or yourself) as to who is running the trace, supply
797 contact information, or otherwise explain what is going on.
798
799set trace-stop-notes
800show trace-stop-notes
801 Set a note attached to the trace run, that is displayed when the
802 trace has been stopped by a tstop command. This is useful for
803 instance as an explanation, if you are stopping a trace run that was
804 started by someone else.
805
d248b706
KY
806* New remote packets
807
808QTEnable
809
810 Dynamically enable a tracepoint in a started trace experiment.
811
812QTDisable
813
814 Dynamically disable a tracepoint in a started trace experiment.
815
f196051f
SS
816QTNotes
817
818 Set the user and notes of the trace run.
819
820qTP
821
822 Query the current status of a tracepoint.
823
405f8e94
SS
824qTMinFTPILen
825
826 Query the minimum length of instruction at which a fast tracepoint may
827 be placed.
828
1a532630
PP
829* Dcache size (number of lines) and line-size are now runtime-configurable
830 via "set dcache line" and "set dcache line-size" commands.
831
11315641
YQ
832* New targets
833
834Texas Instruments TMS320C6x tic6x-*-*
835
87326c78
DD
836* New Simulators
837
838Renesas RL78 rl78-*-elf
839
e8d56f18
JB
840*** Changes in GDB 7.3.1
841
842* The build failure for NetBSD and OpenBSD targets have now been fixed.
843
d6e00af6 844*** Changes in GDB 7.3
797054e6 845
60f98dde
MS
846* GDB has a new command: "thread find [REGEXP]".
847 It finds the thread id whose name, target id, or thread extra info
848 matches the given regular expression.
849
eee5b35e
DD
850* The "catch syscall" command now works on mips*-linux* targets.
851
b716877b
AB
852* The -data-disassemble MI command now supports modes 2 and 3 for
853 dumping the instruction opcodes.
854
aae1c79a
DE
855* New command line options
856
857-data-directory DIR Specify DIR as the "data-directory".
858 This is mostly for testing purposes.
859
a86caf66
DE
860* The "maint set python auto-load on|off" command has been renamed to
861 "set auto-load-scripts on|off".
862
99e7ae30
DE
863* GDB has a new command: "set directories".
864 It is like the "dir" command except that it replaces the
865 source path list instead of augmenting it.
866
4694da01
TT
867* GDB now understands thread names.
868
869 On GNU/Linux, "info threads" will display the thread name as set by
870 prctl or pthread_setname_np.
871
872 There is also a new command, "thread name", which can be used to
873 assign a name internally for GDB to display.
874
f4b8a18d
KW
875* OpenCL C
876 Initial support for the OpenCL C language (http://www.khronos.org/opencl)
877 has been integrated into GDB.
878
585d1eb8
PM
879* Python scripting
880
da5d4055
PM
881 ** The function gdb.Write now accepts an optional keyword 'stream'.
882 This keyword, when provided, will direct the output to either
883 stdout, stderr, or GDB's logging output.
884
9a6f1302
PM
885 ** Parameters can now be be sub-classed in Python, and in particular
886 you may implement the get_set_doc and get_show_doc functions.
887 This improves how Parameter set/show documentation is processed
888 and allows for more dynamic content.
889
29703da4
PM
890 ** Symbols, Symbol Table, Symbol Table and Line, Object Files,
891 Inferior, Inferior Thread, Blocks, and Block Iterator APIs now
892 have an is_valid method.
893
350c6c65
PM
894 ** Breakpoints can now be sub-classed in Python, and in particular
895 you may implement a 'stop' function that is executed each time
896 the inferior reaches that breakpoint.
897
6e6fbe60
DE
898 ** New function gdb.lookup_global_symbol looks up a global symbol.
899
585d1eb8
PM
900 ** GDB values in Python are now callable if the value represents a
901 function. For example, if 'some_value' represents a function that
902 takes two integer parameters and returns a value, you can call
903 that function like so:
904
905 result = some_value (10,20)
906
0e3509db
DE
907 ** Module gdb.types has been added.
908 It contains a collection of utilities for working with gdb.Types objects:
909 get_basic_type, has_field, make_enum_dict.
910
7b51bc51
DE
911 ** Module gdb.printing has been added.
912 It contains utilities for writing and registering pretty-printers.
913 New classes: PrettyPrinter, SubPrettyPrinter,
914 RegexpCollectionPrettyPrinter.
915 New function: register_pretty_printer.
916
917 ** New commands "info pretty-printers", "enable pretty-printer" and
918 "disable pretty-printer" have been added.
919
99e7ae30
DE
920 ** gdb.parameter("directories") is now available.
921
d8e22779
TT
922 ** New function gdb.newest_frame returns the newest frame in the
923 selected thread.
924
4694da01
TT
925 ** The gdb.InferiorThread class has a new "name" attribute. This
926 holds the thread's name.
927
505500db
SW
928 ** Python Support for Inferior events.
929 Python scripts can add observers to be notified of events
824446ad 930 occurring in the process being debugged.
c17a9e46
HZ
931 The following events are currently supported:
932 - gdb.events.cont Continue event.
933 - gdb.events.exited Inferior exited event.
934 - gdb.events.stop Signal received, and Breakpoint hit events.
935
def98928
TT
936* C++ Improvements:
937
938 ** GDB now puts template parameters in scope when debugging in an
939 instantiation. For example, if you have:
940
941 template<int X> int func (void) { return X; }
942
943 then if you step into func<5>, "print X" will show "5". This
944 feature requires proper debuginfo support from the compiler; it
945 was added to GCC 4.5.
946
66cb8159
TT
947 ** The motion commands "next", "finish", "until", and "advance" now
948 work better when exceptions are thrown. In particular, GDB will
949 no longer lose control of the inferior; instead, the GDB will
950 stop the inferior at the point at which the exception is caught.
951 This functionality requires a change in the exception handling
952 code that was introduced in GCC 4.5.
953
4aac0db7
UW
954* GDB now follows GCC's rules on accessing volatile objects when
955 reading or writing target state during expression evaluation.
956 One notable difference to prior behavior is that "print x = 0"
957 no longer generates a read of x; the value of the assignment is
958 now always taken directly from the value being assigned.
959
283e6a52
TT
960* GDB now has some support for using labels in the program's source in
961 linespecs. For instance, you can use "advance label" to continue
962 execution to a label.
963
964* GDB now has support for reading and writing a new .gdb_index
965 section. This section holds a fast index of DWARF debugging
966 information and can be used to greatly speed up GDB startup and
967 operation. See the documentation for `save gdb-index' for details.
968
b56df873 969* The "watch" command now accepts an optional "-location" argument.
14c0d4e1 970 When used, this causes GDB to watch the memory referred to by the
b56df873
TT
971 expression. Such a watchpoint is never deleted due to it going out
972 of scope.
973
ae53ffa4
PA
974* GDB now supports thread debugging of core dumps on GNU/Linux.
975
976 GDB now activates thread debugging using the libthread_db library
977 when debugging GNU/Linux core dumps, similarly to when debugging
978 live processes. As a result, when debugging a core dump file, GDB
979 is now able to display pthread_t ids of threads. For example, "info
980 threads" shows the same output as when debugging the process when it
981 was live. In earlier releases, you'd see something like this:
982
983 (gdb) info threads
984 * 1 LWP 6780 main () at main.c:10
985
986 While now you see this:
987
988 (gdb) info threads
989 * 1 Thread 0x7f0f5712a700 (LWP 6780) main () at main.c:10
990
991 It is also now possible to inspect TLS variables when debugging core
992 dumps.
993
994 When debugging a core dump generated on a machine other than the one
995 used to run GDB, you may need to point GDB at the correct
996 libthread_db library with the "set libthread-db-search-path"
997 command. See the user manual for more details on this command.
998
f1310107
TJB
999* When natively debugging programs on PowerPC BookE processors running
1000 a Linux kernel version 2.6.34 or later, GDB supports ranged breakpoints,
1001 which stop execution of the inferior whenever it executes an instruction
1002 at any address within the specified range. See the "PowerPC Embedded"
1003 section in the user manual for more details.
1004
248c9dbc
JB
1005* New features in the GDB remote stub, GDBserver
1006
1aee7009
JB
1007 ** GDBserver is now supported on PowerPC LynxOS (versions 4.x and 5.x),
1008 and i686 LynxOS (version 5.x).
248c9dbc 1009
eb826dc6
MF
1010 ** GDBserver is now supported on Blackfin Linux.
1011
44603653
JB
1012* New native configurations
1013
1014ia64 HP-UX ia64-*-hpux*
1015
91021223
MF
1016* New targets:
1017
1018Analog Devices, Inc. Blackfin Processor bfin-*
1019
6e1bb179
JB
1020* Ada task switching is now supported on sparc-elf targets when
1021 debugging a program using the Ravenscar Profile. For more information,
1022 see the "Tasking Support when using the Ravenscar Profile" section
1023 in the GDB user manual.
1024
50c97f38
TT
1025* Guile support was removed.
1026
448a92bf
MF
1027* New features in the GNU simulator
1028
1029 ** The --map-info flag lists all known core mappings.
1030
66ee2731
MF
1031 ** CFI flashes may be simulated via the "cfi" device.
1032
76b8507d 1033*** Changes in GDB 7.2
bfbf3774 1034
ba25b921
PA
1035* Shared library support for remote targets by default
1036
1037 When GDB is configured for a generic, non-OS specific target, like
1038 for example, --target=arm-eabi or one of the many *-*-elf targets,
1039 GDB now queries remote stubs for loaded shared libraries using the
1040 `qXfer:libraries:read' packet. Previously, shared library support
1041 was always disabled for such configurations.
1042
4656f5c6
SW
1043* C++ Improvements:
1044
1045 ** Argument Dependent Lookup (ADL)
1046
1047 In C++ ADL lookup directs function search to the namespaces of its
1048 arguments even if the namespace has not been imported.
1049 For example:
1050 namespace A
1051 {
1052 class B { };
1053 void foo (B) { }
1054 }
1055 ...
1056 A::B b
1057 foo(b)
1058 Here the compiler will search for `foo' in the namespace of 'b'
1059 and find A::foo. GDB now supports this. This construct is commonly
1060 used in the Standard Template Library for operators.
1061
1062 ** Improved User Defined Operator Support
1063
1064 In addition to member operators, GDB now supports lookup of operators
1065 defined in a namespace and imported with a `using' directive, operators
1066 defined in the global scope, operators imported implicitly from an
1067 anonymous namespace, and the ADL operators mentioned in the previous
1068 entry.
1069 GDB now also supports proper overload resolution for all the previously
1070 mentioned flavors of operators.
1071
254e6b9e
DE
1072 ** static const class members
1073
1074 Printing of static const class members that are initialized in the
1075 class definition has been fixed.
1076
711e434b
PM
1077* Windows Thread Information Block access.
1078
1079 On Windows targets, GDB now supports displaying the Windows Thread
1080 Information Block (TIB) structure. This structure is visible either
1081 by using the new command `info w32 thread-information-block' or, by
1082 dereferencing the new convenience variable named `$_tlb', a
1083 thread-specific pointer to the TIB. This feature is also supported
1084 when remote debugging using GDBserver.
1085
0fb4aa4b
PA
1086* Static tracepoints
1087
1088 Static tracepoints are calls in the user program into a tracing
1089 library. One such library is a port of the LTTng kernel tracer to
1090 userspace --- UST (LTTng Userspace Tracer, http://lttng.org/ust).
1091 When debugging with GDBserver, GDB now supports combining the GDB
1092 tracepoint machinery with such libraries. For example: the user can
1093 use GDB to probe a static tracepoint marker (a call from the user
1094 program into the tracing library) with the new "strace" command (see
1095 "New commands" below). This creates a "static tracepoint" in the
1096 breakpoint list, that can be manipulated with the same feature set
1097 as fast and regular tracepoints. E.g., collect registers, local and
1098 global variables, collect trace state variables, and define
1099 tracepoint conditions. In addition, the user can collect extra
1100 static tracepoint marker specific data, by collecting the new
1101 $_sdata internal variable. When analyzing the trace buffer, you can
1102 inspect $_sdata like any other variable available to GDB. For more
1103 information, see the "Tracepoints" chapter in GDB user manual. New
1104 remote packets have been defined to support static tracepoints, see
1105 the "New remote packets" section below.
1106
ca11e899
SS
1107* Better reconstruction of tracepoints after disconnected tracing
1108
1109 GDB will attempt to download the original source form of tracepoint
1110 definitions when starting a trace run, and then will upload these
1111 upon reconnection to the target, resulting in a more accurate
1112 reconstruction of the tracepoints that are in use on the target.
1113
1114* Observer mode
1115
1116 You can now exercise direct control over the ways that GDB can
1117 affect your program. For instance, you can disallow the setting of
1118 breakpoints, so that the program can run continuously (assuming
1119 non-stop mode). In addition, the "observer" variable is available
1120 to switch all of the different controls; in observer mode, GDB
1121 cannot affect the target's behavior at all, which is useful for
1122 tasks like diagnosing live systems in the field.
1123
1124* The new convenience variable $_thread holds the number of the
1125 current thread.
1126
711e434b
PM
1127* New remote packets
1128
1129qGetTIBAddr
1130
1131 Return the address of the Windows Thread Information Block of a given thread.
1132
dde08ee1
PA
1133qRelocInsn
1134
1135 In response to several of the tracepoint packets, the target may now
1136 also respond with a number of intermediate `qRelocInsn' request
1137 packets before the final result packet, to have GDB handle
1138 relocating an instruction to execute at a different address. This
1139 is particularly useful for stubs that support fast tracepoints. GDB
1140 reports support for this feature in the qSupported packet.
1141
0fb4aa4b
PA
1142qTfSTM, qTsSTM
1143
1144 List static tracepoint markers in the target program.
1145
1146qTSTMat
1147
1148 List static tracepoint markers at a given address in the target
1149 program.
1150
1151qXfer:statictrace:read
1152
1153 Read the static trace data collected (by a `collect $_sdata'
1154 tracepoint action). The remote stub reports support for this packet
1155 to gdb's qSupported query.
1156
ca11e899
SS
1157QAllow
1158
1159 Send the current settings of GDB's permission flags.
1160
1161QTDPsrc
1162
1163 Send part of the source (textual) form of a tracepoint definition,
1164 which includes location, conditional, and action list.
1165
3f7b2faa
DE
1166* The source command now accepts a -s option to force searching for the
1167 script in the source search path even if the script name specifies
1168 a directory.
1169
d337e9f0
PA
1170* New features in the GDB remote stub, GDBserver
1171
0fb4aa4b
PA
1172 - GDBserver now support tracepoints (including fast tracepoints, and
1173 static tracepoints). The feature is currently supported by the
1174 i386-linux and amd64-linux builds. See the "Tracepoints support
1175 in gdbserver" section in the manual for more information.
1176
1177 GDBserver JIT compiles the tracepoint's conditional agent
1178 expression bytecode into native code whenever possible for low
1179 overhead dynamic tracepoints conditionals. For such tracepoints,
1180 an expression that examines program state is evaluated when the
1181 tracepoint is reached, in order to determine whether to capture
1182 trace data. If the condition is simple and false, processing the
1183 tracepoint finishes very quickly and no data is gathered.
1184
1185 GDBserver interfaces with the UST (LTTng Userspace Tracer) library
1186 for static tracepoints support.
d337e9f0 1187
c24d0242
PM
1188 - GDBserver now supports x86_64 Windows 64-bit debugging.
1189
c8d5aac9
L
1190* GDB now sends xmlRegisters= in qSupported packet to indicate that
1191 it understands register description.
1192
7c953934
TT
1193* The --batch flag now disables pagination and queries.
1194
8685c86f
L
1195* X86 general purpose registers
1196
1197 GDB now supports reading/writing byte, word and double-word x86
1198 general purpose registers directly. This means you can use, say,
1199 $ah or $ax to refer, respectively, to the byte register AH and
1200 16-bit word register AX that are actually portions of the 32-bit
1201 register EAX or 64-bit register RAX.
1202
95a42b64 1203* The `commands' command now accepts a range of breakpoints to modify.
86b17b60
PA
1204 A plain `commands' following a command that creates multiple
1205 breakpoints affects all the breakpoints set by that command. This
1206 applies to breakpoints set by `rbreak', and also applies when a
1207 single `break' command creates multiple breakpoints (e.g.,
1208 breakpoints on overloaded c++ functions).
95a42b64 1209
8bd10a10
CM
1210* The `rbreak' command now accepts a filename specification as part of
1211 its argument, limiting the functions selected by the regex to those
1212 in the specified file.
1213
ab38a727
PA
1214* Support for remote debugging Windows and SymbianOS shared libraries
1215 from Unix hosts has been improved. Non Windows GDB builds now can
1216 understand target reported file names that follow MS-DOS based file
1217 system semantics, such as file names that include drive letters and
1218 use the backslash character as directory separator. This makes it
1219 possible to transparently use the "set sysroot" and "set
1220 solib-search-path" on Unix hosts to point as host copies of the
1221 target's shared libraries. See the new command "set
1222 target-file-system-kind" described below, and the "Commands to
1223 specify files" section in the user manual for more information.
1224
6149aea9
PA
1225* New commands
1226
f1421989
HZ
1227eval template, expressions...
1228 Convert the values of one or more expressions under the control
1229 of the string template to a command line, and call it.
1230
ab38a727
PA
1231set target-file-system-kind unix|dos-based|auto
1232show target-file-system-kind
1233 Set or show the assumed file system kind for target reported file
1234 names.
1235
6149aea9
PA
1236save breakpoints <filename>
1237 Save all current breakpoint definitions to a file suitable for use
1238 in a later debugging session. To read the saved breakpoint
1239 definitions, use the `source' command.
1240
1241`save tracepoints' is a new alias for `save-tracepoints'. The latter
1242is now deprecated.
1243
0fb4aa4b
PA
1244info static-tracepoint-markers
1245 Display information about static tracepoint markers in the target.
1246
1247strace FN | FILE:LINE | *ADDR | -m MARKER_ID
1248 Define a static tracepoint by probing a marker at the given
1249 function, line, address, or marker ID.
1250
ca11e899
SS
1251set observer on|off
1252show observer
1253 Enable and disable observer mode.
1254
1255set may-write-registers on|off
1256set may-write-memory on|off
1257set may-insert-breakpoints on|off
1258set may-insert-tracepoints on|off
1259set may-insert-fast-tracepoints on|off
1260set may-interrupt on|off
1261 Set individual permissions for GDB effects on the target. Note that
1262 some of these settings can have undesirable or surprising
1263 consequences, particularly when changed in the middle of a session.
1264 For instance, disabling the writing of memory can prevent
1265 breakpoints from being inserted, cause single-stepping to fail, or
1266 even crash your program, if you disable after breakpoints have been
1267 inserted. However, GDB should not crash.
1268
1269set record memory-query on|off
1270show record memory-query
1271 Control whether to stop the inferior if memory changes caused
1272 by an instruction cannot be recorded.
1273
53a71c06
CR
1274* Changed commands
1275
1276disassemble
1277 The disassemble command now supports "start,+length" form of two arguments.
1278
f3e9a817
PM
1279* Python scripting
1280
9279c692
JB
1281** GDB now provides a new directory location, called the python directory,
1282 where Python scripts written for GDB can be installed. The location
1283 of that directory is <data-directory>/python, where <data-directory>
1284 is the GDB data directory. For more details, see section `Scripting
1285 GDB using Python' in the manual.
1286
adc36818 1287** The GDB Python API now has access to breakpoints, symbols, symbol
595939de
PM
1288 tables, program spaces, inferiors, threads and frame's code blocks.
1289 Additionally, GDB Parameters can now be created from the API, and
1290 manipulated via set/show in the CLI.
f870a310 1291
fa33c3cd 1292** New functions gdb.target_charset, gdb.target_wide_charset,
07ca107c
DE
1293 gdb.progspaces, gdb.current_progspace, and gdb.string_to_argv.
1294
1295** New exception gdb.GdbError.
fa33c3cd
DE
1296
1297** Pretty-printers are now also looked up in the current program space.
f3e9a817 1298
967cf477
DE
1299** Pretty-printers can now be individually enabled and disabled.
1300
8a1ea21f
DE
1301** GDB now looks for names of Python scripts to auto-load in a
1302 special section named `.debug_gdb_scripts', in addition to looking
1303 for a OBJFILE-gdb.py script when OBJFILE is read by the debugger.
1304
a7bdde9e
VP
1305* Tracepoint actions were unified with breakpoint commands. In particular,
1306there are no longer differences in "info break" output for breakpoints and
1307tracepoints and the "commands" command can be used for both tracepoints and
1308regular breakpoints.
1309
05071a4d
PA
1310* New targets
1311
1312ARM Symbian arm*-*-symbianelf*
1313
6aecb9c2
JB
1314* D language support.
1315 GDB now supports debugging programs written in the D programming
1316 language.
1317
431e49aa
TJB
1318* GDB now supports the extended ptrace interface for PowerPC which is
1319 available since Linux kernel version 2.6.34. This automatically enables
1320 any hardware breakpoints and additional hardware watchpoints available in
1321 the processor. The old ptrace interface exposes just one hardware
1322 watchpoint and no hardware breakpoints.
1323
1324* GDB is now able to use the Data Value Compare (DVC) register available on
1325 embedded PowerPC processors to implement in hardware simple watchpoint
1326 conditions of the form:
1327
1328 watch ADDRESS|VARIABLE if ADDRESS|VARIABLE == CONSTANT EXPRESSION
1329
1330 This works in native GDB running on Linux kernels with the extended ptrace
1331 interface mentioned above.
1332
bfbf3774 1333*** Changes in GDB 7.1
abc7453d 1334
4eef138c
TT
1335* C++ Improvements
1336
1337 ** Namespace Support
71dee663
SW
1338
1339 GDB now supports importing of namespaces in C++. This enables the
1340 user to inspect variables from imported namespaces. Support for
1341 namepace aliasing has also been added. So, if a namespace is
1342 aliased in the current scope (e.g. namepace C=A; ) the user can
1343 print variables using the alias (e.g. (gdb) print C::x).
1344
4eef138c
TT
1345 ** Bug Fixes
1346
1347 All known bugs relating to the printing of virtual base class were
1348 fixed. It is now possible to call overloaded static methods using a
1349 qualified name.
1350
1351 ** Cast Operators
1352
1353 The C++ cast operators static_cast<>, dynamic_cast<>, const_cast<>,
1354 and reinterpret_cast<> are now handled by the C++ expression parser.
1355
2d1c1221
ME
1356* New targets
1357
1358Xilinx MicroBlaze microblaze-*-*
34207b9e 1359Renesas RX rx-*-elf
2d1c1221
ME
1360
1361* New Simulators
1362
1363Xilinx MicroBlaze microblaze
34207b9e 1364Renesas RX rx
2d1c1221 1365
6c95b8df
PA
1366* Multi-program debugging.
1367
1368 GDB now has support for multi-program (a.k.a. multi-executable or
1369 multi-exec) debugging. This allows for debugging multiple inferiors
1370 simultaneously each running a different program under the same GDB
1371 session. See "Debugging Multiple Inferiors and Programs" in the
1372 manual for more information. This implied some user visible changes
1373 in the multi-inferior support. For example, "info inferiors" now
1374 lists inferiors that are not running yet or that have exited
1375 already. See also "New commands" and "New options" below.
1376
d5551862
SS
1377* New tracing features
1378
1379 GDB's tracepoint facility now includes several new features:
1380
1381 ** Trace state variables
f61e138d
SS
1382
1383 GDB tracepoints now include support for trace state variables, which
1384 are variables managed by the target agent during a tracing
1385 experiment. They are useful for tracepoints that trigger each
1386 other, so for instance one tracepoint can count hits in a variable,
1387 and then a second tracepoint has a condition that is true when the
1388 count reaches a particular value. Trace state variables share the
1389 $-syntax of GDB convenience variables, and can appear in both
1390 tracepoint actions and condition expressions. Use the "tvariable"
1391 command to create, and "info tvariables" to view; see "Trace State
1392 Variables" in the manual for more detail.
7a697b8d 1393
d5551862 1394 ** Fast tracepoints
7a697b8d
SS
1395
1396 GDB now includes an option for defining fast tracepoints, which
1397 targets may implement more efficiently, such as by installing a jump
1398 into the target agent rather than a trap instruction. The resulting
1399 speedup can be by two orders of magnitude or more, although the
1400 tradeoff is that some program locations on some target architectures
1401 might not allow fast tracepoint installation, for instance if the
1402 instruction to be replaced is shorter than the jump. To request a
1403 fast tracepoint, use the "ftrace" command, with syntax identical to
1404 the regular trace command.
1405
d5551862
SS
1406 ** Disconnected tracing
1407
1408 It is now possible to detach GDB from the target while it is running
1409 a trace experiment, then reconnect later to see how the experiment
1410 is going. In addition, a new variable disconnected-tracing lets you
1411 tell the target agent whether to continue running a trace if the
1412 connection is lost unexpectedly.
1413
00bf0b85
SS
1414 ** Trace files
1415
1416 GDB now has the ability to save the trace buffer into a file, and
1417 then use that file as a target, similarly to you can do with
1418 corefiles. You can select trace frames, print data that was
1419 collected in them, and use tstatus to display the state of the
1420 tracing run at the moment that it was saved. To create a trace
1421 file, use "tsave <filename>", and to use it, do "target tfile
1422 <name>".
4daf5ac0
SS
1423
1424 ** Circular trace buffer
1425
1426 You can ask the target agent to handle the trace buffer as a
1427 circular buffer, discarding the oldest trace frames to make room for
1428 newer ones, by setting circular-trace-buffer to on. This feature may
1429 not be available for all target agents.
1430
21a0512e
PP
1431* Changed commands
1432
1433disassemble
1434 The disassemble command, when invoked with two arguments, now requires
1435 the arguments to be comma-separated.
1436
0fe7935b
DJ
1437info variables
1438 The info variables command now displays variable definitions. Files
1439 which only declare a variable are not shown.
1440
fb2e7cb4
JB
1441source
1442 The source command is now capable of sourcing Python scripts.
1443 This feature is dependent on the debugger being build with Python
1444 support.
1445
1446 Related to this enhancement is also the introduction of a new command
1447 "set script-extension" (see below).
1448
6c95b8df
PA
1449* New commands (for set/show, see "New options" below)
1450
399cd161
MS
1451record save [<FILENAME>]
1452 Save a file (in core file format) containing the process record
1453 execution log for replay debugging at a later time.
1454
1455record restore <FILENAME>
1456 Restore the process record execution log that was saved at an
1457 earlier time, for replay debugging.
1458
6c95b8df
PA
1459add-inferior [-copies <N>] [-exec <FILENAME>]
1460 Add a new inferior.
1461
1462clone-inferior [-copies <N>] [ID]
1463 Make a new inferior ready to execute the same program another
1464 inferior has loaded.
1465
1466remove-inferior ID
1467 Remove an inferior.
1468
1469maint info program-spaces
1470 List the program spaces loaded into GDB.
1471
9a7071a8
JB
1472set remote interrupt-sequence [Ctrl-C | BREAK | BREAK-g]
1473show remote interrupt-sequence
1474 Allow the user to select one of ^C, a BREAK signal or BREAK-g
1475 as the sequence to the remote target in order to interrupt the execution.
1476 Ctrl-C is a default. Some system prefers BREAK which is high level of
1477 serial line for some certain time. Linux kernel prefers BREAK-g, a.k.a
1478 Magic SysRq g. It is BREAK signal and character 'g'.
1479
1480set remote interrupt-on-connect [on | off]
1481show remote interrupt-on-connect
1482 When interrupt-on-connect is ON, gdb sends interrupt-sequence to
1483 remote target when gdb connects to it. This is needed when you debug
1484 Linux kernel.
1485
1486set remotebreak [on | off]
1487show remotebreak
1488Deprecated. Use "set/show remote interrupt-sequence" instead.
1489
f61e138d
SS
1490tvariable $NAME [ = EXP ]
1491 Create or modify a trace state variable.
1492
1493info tvariables
1494 List trace state variables and their values.
1495
1496delete tvariable $NAME ...
1497 Delete one or more trace state variables.
1498
6da95a67
SS
1499teval EXPR, ...
1500 Evaluate the given expressions without collecting anything into the
1501 trace buffer. (Valid in tracepoint actions only.)
1502
7a697b8d
SS
1503ftrace FN / FILE:LINE / *ADDR
1504 Define a fast tracepoint at the given function, line, or address.
1505
b0f02ee9
JK
1506* New expression syntax
1507
1508 GDB now parses the 0b prefix of binary numbers the same way as GCC does.
1509 GDB now parses 0b101010 identically with 42.
1510
6c95b8df
PA
1511* New options
1512
1513set follow-exec-mode new|same
1514show follow-exec-mode
1515 Control whether GDB reuses the same inferior across an exec call or
1516 creates a new one. This is useful to be able to restart the old
1517 executable after the inferior having done an exec call.
1518
236f1d4d
SS
1519set default-collect EXPR, ...
1520show default-collect
1521 Define a list of expressions to be collected at each tracepoint.
1522 This is a useful way to ensure essential items are not overlooked,
1523 such as registers or a critical global variable.
1524
d5551862
SS
1525set disconnected-tracing
1526show disconnected-tracing
1527 If set to 1, the target is instructed to continue tracing if it
1528 loses its connection to GDB. If 0, the target is to stop tracing
1529 upon disconnection.
1530
4daf5ac0
SS
1531set circular-trace-buffer
1532show circular-trace-buffer
1533 If set to on, the target is instructed to use a circular trace buffer
1534 and discard the oldest trace frames instead of stopping the trace due
1535 to a full trace buffer. If set to off, the trace stops when the buffer
1536 fills up. Some targets may not support this.
1537
fb2e7cb4
JB
1538set script-extension off|soft|strict
1539show script-extension
1540 If set to "off", the debugger does not perform any script language
1541 recognition, and all sourced files are assumed to be GDB scripts.
1542 If set to "soft" (the default), files are sourced according to
1543 filename extension, falling back to GDB scripts if the first
1544 evaluation failed.
1545 If set to "strict", files are sourced according to filename extension.
1546
2b71fc8e
JB
1547set ada trust-PAD-over-XVS on|off
1548show ada trust-PAD-over-XVS
1549 If off, activate a workaround against a bug in the debugging information
1550 generated by the compiler for PAD types (see gcc/exp_dbug.ads in
1551 the GCC sources for more information about the GNAT encoding and
1552 PAD types in particular). It is always safe to set this option to
1553 off, but this introduces a slight performance penalty. The default
1554 is on.
1555
de2e5182
TT
1556* Python API Improvements
1557
1558 ** GDB provides the new class gdb.LazyString. This is useful in
1559 some pretty-printing cases. The new method gdb.Value.lazy_string
1560 provides a simple way to create objects of this type.
1561
1562 ** The fields returned by gdb.Type.fields now have an
1563 `is_base_class' attribute.
1564
1565 ** The new method gdb.Type.range returns the range of an array type.
1566
1567 ** The new method gdb.parse_and_eval can be used to parse and
1568 evaluate an expression.
1569
f61e138d
SS
1570* New remote packets
1571
1572QTDV
1573 Define a trace state variable.
1574
1575qTV
1576 Get the current value of a trace state variable.
1577
d5551862
SS
1578QTDisconnected
1579 Set desired tracing behavior upon disconnection.
1580
4daf5ac0
SS
1581QTBuffer:circular
1582 Set the trace buffer to be linear or circular.
1583
d5551862
SS
1584qTfP, qTsP
1585 Get data about the tracepoints currently in use.
1586
2d483d34
MS
1587* Bug fixes
1588
1589Process record now works correctly with hardware watchpoints.
1590
6e0e5977
JB
1591Multiple bug fixes have been made to the mips-irix port, making it
1592much more reliable. In particular:
1593 - Debugging threaded applications is now possible again. Previously,
1594 GDB would hang while starting the program, or while waiting for
1595 the program to stop at a breakpoint.
1596 - Attaching to a running process no longer hangs.
1597 - An error occurring while loading a core file has been fixed.
1598 - Changing the value of the PC register now works again. This fixes
1599 problems observed when using the "jump" command, or when calling
1600 a function from GDB, or even when assigning a new value to $pc.
1601 - With the "finish" and "return" commands, the return value for functions
1602 returning a small array is now correctly printed.
1603 - It is now possible to break on shared library code which gets executed
1604 during a shared library init phase (code executed while executing
1605 their .init section). Previously, the breakpoint would have no effect.
1606 - GDB is now able to backtrace through the signal handler for
1607 non-threaded programs.
1608
93c26624
JK
1609PIE (Position Independent Executable) programs debugging is now supported.
1610This includes debugging execution of PIC (Position Independent Code) shared
1611libraries although for that, it should be possible to run such libraries as an
1612executable program.
1613
abc7453d 1614*** Changes in GDB 7.0
75feb17d 1615
4efc6507
DE
1616* GDB now has an interface for JIT compilation. Applications that
1617dynamically generate code can create symbol files in memory and register
1618them with GDB. For users, the feature should work transparently, and
1619for JIT developers, the interface is documented in the GDB manual in the
1620"JIT Compilation Interface" chapter.
1621
782b2b07
SS
1622* Tracepoints may now be conditional. The syntax is as for
1623breakpoints; either an "if" clause appended to the "trace" command,
1624or the "condition" command is available. GDB sends the condition to
1625the target for evaluation using the same bytecode format as is used
1626for tracepoint actions.
1627
53a71c06
CR
1628* The disassemble command now supports: an optional /r modifier, print the
1629raw instructions in hex as well as in symbolic form, and an optional /m
1630modifier to print mixed source+assembly.
e6158f16 1631
e7a8dbfb
HZ
1632* Process record and replay
1633
1634 In a architecture environment that supports ``process record and
1635 replay'', ``process record and replay'' target can record a log of
1636 the process execution, and replay it with both forward and reverse
1637 execute commands.
1638
64644d9b
MS
1639* Reverse debugging: GDB now has new commands reverse-continue, reverse-
1640step, reverse-next, reverse-finish, reverse-stepi, reverse-nexti, and
1641set execution-direction {forward|reverse}, for targets that support
1642reverse execution.
1643
b9412953
DD
1644* GDB now supports hardware watchpoints on MIPS/Linux systems. This
1645feature is available with a native GDB running on kernel version
16462.6.28 or later.
1647
6c7a06a3
TT
1648* GDB now has support for multi-byte and wide character sets on the
1649target. Strings whose character type is wchar_t, char16_t, or
1650char32_t are now correctly printed. GDB supports wide- and unicode-
1651literals in C, that is, L'x', L"string", u'x', u"string", U'x', and
1652U"string" syntax. And, GDB allows the "%ls" and "%lc" formats in
1653`printf'. This feature requires iconv to work properly; if your
1654system does not have a working iconv, GDB can use GNU libiconv. See
1655the installation instructions for more information.
1656
f1838a98
UW
1657* GDB now supports automatic retrieval of shared library files from
1658remote targets. To use this feature, specify a system root that begins
1659with the `remote:' prefix, either via the `set sysroot' command or via
1660the `--with-sysroot' configure-time option.
1661
55333a84
DE
1662* "info sharedlibrary" now takes an optional regex of libraries to show,
1663and it now reports if a shared library has no debugging information.
1664
7f6a6314
PM
1665* Commands `set debug-file-directory', `set solib-search-path' and `set args'
1666now complete on file names.
1667
65d12d83
TT
1668* When completing in expressions, gdb will attempt to limit
1669completions to allowable structure or union fields, where appropriate.
1670For instance, consider:
1671
1672 # struct example { int f1; double f2; };
1673 # struct example variable;
1674 (gdb) p variable.
1675
1676If the user types TAB at the end of this command line, the available
1677completions will be "f1" and "f2".
1678
edb3359d
DJ
1679* Inlined functions are now supported. They show up in backtraces, and
1680the "step", "next", and "finish" commands handle them automatically.
1681
2fae03e8
TT
1682* GDB now supports the token-splicing (##) and stringification (#)
1683operators when expanding macros. It also supports variable-arity
1684macros.
1685
47a3467a 1686* GDB now supports inspecting extra signal information, exported by
58d6951d
DJ
1687the new $_siginfo convenience variable. The feature is currently
1688implemented on linux ARM, i386 and amd64.
1689
1690* GDB can now display the VFP floating point registers and NEON vector
1691registers on ARM targets. Both ARM GNU/Linux native GDB and gdbserver
1692can provide these registers (requires Linux 2.6.30 or later). Remote
1693and simulator targets may also provide them.
47a3467a 1694
08388c79
DE
1695* New remote packets
1696
1697qSearch:memory:
1698 Search memory for a sequence of bytes.
1699
a6f3e723
SL
1700QStartNoAckMode
1701 Turn off `+'/`-' protocol acknowledgments to permit more efficient
1702 operation over reliable transport links. Use of this packet is
1703 controlled by the `set remote noack-packet' command.
1704
d7713ae0
EZ
1705vKill
1706 Kill the process with the specified process ID. Use this in preference
1707 to `k' when multiprocess protocol extensions are supported.
1708
07e059b5
VP
1709qXfer:osdata:read
1710 Obtains additional operating system information
1711
47a3467a
PA
1712qXfer:siginfo:read
1713qXfer:siginfo:write
1714 Read or write additional signal information.
1715
060871df
PA
1716* Removed remote protocol undocumented extension
1717
1718 An undocumented extension to the remote protocol's `S' stop reply
1719 packet that permited the stub to pass a process id was removed.
1720 Remote servers should use the `T' stop reply packet instead.
1721
c055b101 1722* GDB now supports multiple function calling conventions according to the
a0ef4274 1723DWARF-2 DW_AT_calling_convention function attribute.
c055b101
CV
1724
1725* The SH target utilizes the aforementioned change to distinguish between gcc
a0ef4274
DJ
1726and Renesas calling convention. It also adds the new CLI commands
1727`set/show sh calling-convention'.
c055b101 1728
31fffb02
CS
1729* GDB can now read compressed debug sections, as produced by GNU gold
1730with the --compress-debug-sections=zlib flag.
1731
88d8a8e0
JB
1732* 64-bit core files are now supported on AIX.
1733
7f99b190
JB
1734* Thread switching is now supported on Tru64.
1735
ccd213ac
DJ
1736* Watchpoints can now be set on unreadable memory locations, e.g. addresses
1737which will be allocated using malloc later in program execution.
1738
1fddbabb 1739* The qXfer:libraries:read remote procotol packet now allows passing a
31fffb02 1740list of section offsets.
1fddbabb 1741
a0ef4274
DJ
1742* On GNU/Linux, GDB can now attach to stopped processes. Several race
1743conditions handling signals delivered during attach or thread creation
1744have also been fixed.
1745
bfb8797a 1746* GDB now supports the use of DWARF boolean types for Ada's type Boolean.
158c7665
PH
1747From the user's standpoint, all unqualified instances of True and False
1748are treated as the standard definitions, regardless of context.
bfb8797a 1749
71c25dea
TT
1750* GDB now parses C++ symbol and type names more flexibly. For
1751example, given:
1752
1753 template<typename T> class C { };
1754 C<char const *> c;
1755
1756GDB will now correctly handle all of:
1757
1758 ptype C<char const *>
1759 ptype C<char const*>
1760 ptype C<const char *>
1761 ptype C<const char*>
1762
ccd213ac
DJ
1763* New features in the GDB remote stub, gdbserver
1764
1765 - The "--wrapper" command-line argument tells gdbserver to use a
1766 wrapper program to launch programs for debugging.
1767
7ae0e2a2
UW
1768 - On PowerPC and S/390 targets, it is now possible to use a single
1769 gdbserver executable to debug both 32-bit and 64-bit programs.
1770 (This requires gdbserver itself to be built as a 64-bit executable.)
1771
a6f3e723
SL
1772 - gdbserver uses the new noack protocol mode for TCP connections to
1773 reduce communications latency, if also supported and enabled in GDB.
1774
da8bd9a3
DJ
1775 - Support for the sparc64-linux-gnu target is now included in
1776 gdbserver.
1777
d70e31dd
DE
1778 - The amd64-linux build of gdbserver now supports debugging both
1779 32-bit and 64-bit programs.
1780
1781 - The i386-linux, amd64-linux, and i386-win32 builds of gdbserver
1782 now support hardware watchpoints, and will use them automatically
1783 as appropriate.
1784
d57a3c85
TJB
1785* Python scripting
1786
1787 GDB now has support for scripting using Python. Whether this is
1788 available is determined at configure time.
1789
d8906c6f
TJB
1790 New GDB commands can now be written in Python.
1791
aadc346a
JB
1792* Ada tasking support
1793
1794 Ada tasks can now be inspected in GDB. The following commands have
1795 been introduced:
1796
1797 info tasks
1798 Print the list of Ada tasks.
1799 info task N
1800 Print detailed information about task number N.
1801 task
1802 Print the task number of the current task.
1803 task N
1804 Switch the context of debugging to task number N.
1805
adb483fe
DJ
1806* Support for user-defined prefixed commands. The "define" command can
1807add new commands to existing prefixes, e.g. "target".
1808
2277426b
PA
1809* Multi-inferior, multi-process debugging.
1810
1811 GDB now has generalized support for multi-inferior debugging. See
1812 "Debugging Multiple Inferiors" in the manual for more information.
1813 Although availability still depends on target support, the command
1814 set is more uniform now. The GNU/Linux specific multi-forks support
1815 has been migrated to this new framework. This implied some user
1816 visible changes; see "New commands" and also "Removed commands"
1817 below.
1818
08d16641
PA
1819* Target descriptions can now describe the target OS ABI. See the
1820"Target Description Format" section in the user manual for more
1821information.
1822
e35359c5
UW
1823* Target descriptions can now describe "compatible" architectures
1824to indicate that the target can execute applications for a different
1825architecture in addition to those for the main target architecture.
1826See the "Target Description Format" section in the user manual for
1827more information.
1828
85e747d2
UW
1829* Multi-architecture debugging.
1830
1831 GDB now includes general supports for debugging applications on
1832 hybrid systems that use more than one single processor architecture
1833 at the same time. Each such hybrid architecture still requires
1834 specific support to be added. The only hybrid architecture supported
1835 in this version of GDB is the Cell Broadband Engine.
1836
1837* GDB now supports integrated debugging of Cell/B.E. applications that
1838use both the PPU and SPU architectures. To enable support for hybrid
1839Cell/B.E. debugging, you need to configure GDB to support both the
1840powerpc-linux or powerpc64-linux and the spu-elf targets, using the
1841--enable-targets configure option.
1842
11ade57a
PA
1843* Non-stop mode debugging.
1844
1845 For some targets, GDB now supports an optional mode of operation in
1846 which you can examine stopped threads while other threads continue
1847 to execute freely. This is referred to as non-stop mode, with the
1848 old mode referred to as all-stop mode. See the "Non-Stop Mode"
1849 section in the user manual for more information.
1850
1851 To be able to support remote non-stop debugging, a remote stub needs
1852 to implement the non-stop mode remote protocol extensions, as
1853 described in the "Remote Non-Stop" section of the user manual. The
1854 GDB remote stub, gdbserver, has been adjusted to support these
1855 extensions on linux targets.
1856
d7713ae0 1857* New commands (for set/show, see "New options" below)
75feb17d 1858
a96d9b2e
SDJ
1859catch syscall [NAME(S) | NUMBER(S)]
1860 Catch system calls. Arguments, which should be names of system
1861 calls or their numbers, mean catch only those syscalls. Without
1862 arguments, every syscall will be caught. When the inferior issues
1863 any of the specified syscalls, GDB will stop and announce the system
1864 call, both when it is called and when its call returns. This
1865 feature is currently available with a native GDB running on the
1866 Linux Kernel, under the following architectures: x86, x86_64,
1867 PowerPC and PowerPC64.
1868
08388c79
DE
1869find [/size-char] [/max-count] start-address, end-address|+search-space-size,
1870 val1 [, val2, ...]
1871 Search memory for a sequence of bytes.
1872
d57a3c85
TJB
1873maint set python print-stack
1874maint show python print-stack
1875 Show a stack trace when an error is encountered in a Python script.
1876
1877python [CODE]
1878 Invoke CODE by passing it to the Python interpreter.
1879
d7713ae0
EZ
1880macro define
1881macro list
1882macro undef
1883 These allow macros to be defined, undefined, and listed
1884 interactively.
1885
1886info os processes
1887 Show operating system information about processes.
1888
2277426b
PA
1889info inferiors
1890 List the inferiors currently under GDB's control.
1891
1892inferior NUM
1893 Switch focus to inferior number NUM.
1894
1895detach inferior NUM
1896 Detach from inferior number NUM.
1897
1898kill inferior NUM
1899 Kill inferior number NUM.
1900
d7713ae0
EZ
1901* New options
1902
3285f3fe
UW
1903set spu stop-on-load
1904show spu stop-on-load
1905 Control whether to stop for new SPE threads during Cell/B.E. debugging.
1906
ff1a52c6
UW
1907set spu auto-flush-cache
1908show spu auto-flush-cache
1909 Control whether to automatically flush the software-managed cache
1910 during Cell/B.E. debugging.
1911
d7713ae0
EZ
1912set sh calling-convention
1913show sh calling-convention
1914 Control the calling convention used when calling SH target functions.
1915
e0a3ce09 1916set debug timestamp
75feb17d 1917show debug timestamp
d7713ae0
EZ
1918 Control display of timestamps with GDB debugging output.
1919
1920set disassemble-next-line
1921show disassemble-next-line
1922 Control display of disassembled source lines or instructions when
1923 the debuggee stops.
1924
1925set remote noack-packet
1926show remote noack-packet
1927 Set/show the use of remote protocol QStartNoAckMode packet. See above
1928 under "New remote packets."
1929
1930set remote query-attached-packet
1931show remote query-attached-packet
1932 Control use of remote protocol `qAttached' (query-attached) packet.
1933
1934set remote read-siginfo-object
1935show remote read-siginfo-object
1936 Control use of remote protocol `qXfer:siginfo:read' (read-siginfo-object)
1937 packet.
1938
1939set remote write-siginfo-object
1940show remote write-siginfo-object
1941 Control use of remote protocol `qXfer:siginfo:write' (write-siginfo-object)
1942 packet.
1943
40ab02ce
MS
1944set remote reverse-continue
1945show remote reverse-continue
1946 Control use of remote protocol 'bc' (reverse-continue) packet.
1947
1948set remote reverse-step
1949show remote reverse-step
1950 Control use of remote protocol 'bs' (reverse-step) packet.
1951
d7713ae0
EZ
1952set displaced-stepping
1953show displaced-stepping
1954 Control displaced stepping mode. Displaced stepping is a way to
1955 single-step over breakpoints without removing them from the debuggee.
1956 Also known as "out-of-line single-stepping".
1957
1958set debug displaced
1959show debug displaced
1960 Control display of debugging info for displaced stepping.
1961
1962maint set internal-error
1963maint show internal-error
1964 Control what GDB does when an internal error is detected.
1965
1966maint set internal-warning
1967maint show internal-warning
1968 Control what GDB does when an internal warning is detected.
75feb17d 1969
ccd213ac
DJ
1970set exec-wrapper
1971show exec-wrapper
1972unset exec-wrapper
1973 Use a wrapper program to launch programs for debugging.
fa4727a6 1974
aad4b048
JB
1975set multiple-symbols (all|ask|cancel)
1976show multiple-symbols
1977 The value of this variable can be changed to adjust the debugger behavior
1978 when an expression or a breakpoint location contains an ambiguous symbol
1979 name (an overloaded function name, for instance).
1980
74960c60
VP
1981set breakpoint always-inserted
1982show breakpoint always-inserted
1983 Keep breakpoints always inserted in the target, as opposed to inserting
1984 them when resuming the target, and removing them when the target stops.
1985 This option can improve debugger performance on slow remote targets.
1986
0428b8f5
DJ
1987set arm fallback-mode (arm|thumb|auto)
1988show arm fallback-mode
1989set arm force-mode (arm|thumb|auto)
1990show arm force-mode
1991 These commands control how ARM GDB determines whether instructions
1992 are ARM or Thumb. The default for both settings is auto, which uses
1993 the current CPSR value for instructions without symbols; previous
1994 versions of GDB behaved as if "set arm fallback-mode arm".
1995
10568435
JK
1996set disable-randomization
1997show disable-randomization
1998 Standalone programs run with the virtual address space randomization enabled
1999 by default on some platforms. This option keeps the addresses stable across
2000 multiple debugging sessions.
2001
d7713ae0
EZ
2002set non-stop
2003show non-stop
2004 Control whether other threads are stopped or not when some thread hits
2005 a breakpoint.
2006
b3eb342c 2007set target-async
d7713ae0 2008show target-async
b3eb342c
VP
2009 Requests that asynchronous execution is enabled in the target, if available.
2010 In this case, it's possible to resume target in the background, and interact
2011 with GDB while the target is running. "show target-async" displays the
2012 current state of asynchronous execution of the target.
2013
6c7a06a3
TT
2014set target-wide-charset
2015show target-wide-charset
2016 The target-wide-charset is the name of the character set that GDB
2017 uses when printing characters whose type is wchar_t.
2018
84603566
SL
2019set tcp auto-retry (on|off)
2020show tcp auto-retry
2021set tcp connect-timeout
2022show tcp connect-timeout
2023 These commands allow GDB to retry failed TCP connections to a remote stub
2024 with a specified timeout period; this is useful if the stub is launched
2025 in parallel with GDB but may not be ready to accept connections immediately.
2026
17a37d48
PP
2027set libthread-db-search-path
2028show libthread-db-search-path
2029 Control list of directories which GDB will search for appropriate
2030 libthread_db.
2031
d4db2f36
PA
2032set schedule-multiple (on|off)
2033show schedule-multiple
2034 Allow GDB to resume all threads of all processes or only threads of
2035 the current process.
2036
4e5d721f
DE
2037set stack-cache
2038show stack-cache
2039 Use more aggressive caching for accesses to the stack. This improves
2040 performance of remote debugging (particularly backtraces) without
2041 affecting correctness.
2042
910c5da8
JB
2043set interactive-mode (on|off|auto)
2044show interactive-mode
2045 Control whether GDB runs in interactive mode (on) or not (off).
2046 When in interactive mode, GDB waits for the user to answer all
2047 queries. Otherwise, GDB does not wait and assumes the default
2048 answer. When set to auto (the default), GDB determines which
2049 mode to use based on the stdin settings.
2050
2277426b
PA
2051* Removed commands
2052
2053info forks
2054 For program forks, this is replaced by the new more generic `info
2055 inferiors' command. To list checkpoints, you can still use the
2056 `info checkpoints' command, which was an alias for the `info forks'
2057 command.
2058
2059fork NUM
2060 Replaced by the new `inferior' command. To switch between
2061 checkpoints, you can still use the `restart' command, which was an
2062 alias for the `fork' command.
2063
2064process PID
2065 This is removed, since some targets don't have a notion of
2066 processes. To switch between processes, you can still use the
2067 `inferior' command using GDB's own inferior number.
2068
2069delete fork NUM
2070 For program forks, this is replaced by the new more generic `kill
2071 inferior' command. To delete a checkpoint, you can still use the
2072 `delete checkpoint' command, which was an alias for the `delete
2073 fork' command.
2074
2075detach fork NUM
2076 For program forks, this is replaced by the new more generic `detach
2077 inferior' command. To detach a checkpoint, you can still use the
2078 `detach checkpoint' command, which was an alias for the `detach
2079 fork' command.
2080
a80b95ba
TG
2081* New native configurations
2082
2083x86/x86_64 Darwin i[34567]86-*-darwin*
2084
b8bfd3ed
JB
2085x86_64 MinGW x86_64-*-mingw*
2086
75a2d5e7
TT
2087* New targets
2088
c28c63d8 2089Lattice Mico32 lm32-*
75a2d5e7 2090x86 DICOS i[34567]86-*-dicos*
4c1d2973 2091x86_64 DICOS x86_64-*-dicos*
5f814c3b 2092S+core 3 score-*-*
75a2d5e7 2093
6de3146c
PA
2094* The GDB remote stub, gdbserver, now supports x86 Windows CE
2095 (mingw32ce) debugging.
2096
d5cbbe6e
JB
2097* Removed commands
2098
2099catch load
2100catch unload
2101 These commands were actually not implemented on any target.
2102
75feb17d 2103*** Changes in GDB 6.8
f9ed52be 2104
af5ca30d
NH
2105* New native configurations
2106
2107NetBSD/hppa hppa*-*netbsd*
94a0e877 2108Xtensa GNU/Linux xtensa*-*-linux*
af5ca30d
NH
2109
2110* New targets
2111
2112NetBSD/hppa hppa*-*-netbsd*
94a0e877 2113Xtensa GNU/Lunux xtensa*-*-linux*
af5ca30d 2114
7a404eba
PA
2115* Change in command line behavior -- corefiles vs. process ids.
2116
2117 When the '-p NUMBER' or '--pid NUMBER' options are used, and
2118 attaching to process NUMBER fails, GDB no longer attempts to open a
2119 core file named NUMBER. Attaching to a program using the -c option
2120 is no longer supported. Instead, use the '-p' or '--pid' options.
2121
430ebac9
PA
2122* GDB can now be built as a native debugger for debugging Windows x86
2123(mingw32) Portable Executable (PE) programs.
2124
fe6fbf8b 2125* Pending breakpoints no longer change their number when their address
8d5f9c6f 2126is resolved.
fe6fbf8b
VP
2127
2128* GDB now supports breakpoints with multiple locations,
8d5f9c6f
DJ
2129including breakpoints on C++ constructors, inside C++ templates,
2130and in inlined functions.
fe6fbf8b 2131
10665d76
JB
2132* GDB's ability to debug optimized code has been improved. GDB more
2133accurately identifies function bodies and lexical blocks that occupy
2134more than one contiguous range of addresses.
2135
7cc46491
DJ
2136* Target descriptions can now describe registers for PowerPC.
2137
d71340b8
DJ
2138* The GDB remote stub, gdbserver, now supports the AltiVec and SPE
2139registers on PowerPC targets.
2140
523c4513
DJ
2141* The GDB remote stub, gdbserver, now supports thread debugging on GNU/Linux
2142targets even when the libthread_db library is not available.
2143
a6b151f1
DJ
2144* The GDB remote stub, gdbserver, now supports the new file transfer
2145commands (remote put, remote get, and remote delete).
2146
2d717e4f
DJ
2147* The GDB remote stub, gdbserver, now supports run and attach in
2148extended-remote mode.
2149
24a836bd 2150* hppa*64*-*-hpux11* target broken
d001be7a
DJ
2151The debugger is unable to start a program and fails with the following
2152error: "Error trying to get information about dynamic linker".
2153The gdb-6.7 release is also affected.
24a836bd 2154
d0c678e6
UW
2155* GDB now supports the --enable-targets= configure option to allow
2156building a single GDB executable that supports multiple remote
2157target architectures.
2158
d64a946d
TJB
2159* GDB now supports debugging C and C++ programs which use the
2160Decimal Floating Point extension. In addition, the PowerPC target
2161now has a set of pseudo-registers to inspect decimal float values
2162stored in two consecutive float registers.
2163
ee163bf5
VP
2164* The -break-insert MI command can optionally create pending
2165breakpoints now.
2166
b93b6ca7 2167* Improved support for debugging Ada
d001be7a
DJ
2168Many improvements to the Ada language support have been made. These
2169include:
b93b6ca7
JB
2170 - Better support for Ada2005 interface types
2171 - Improved handling of arrays and slices in general
2172 - Better support for Taft-amendment types
2173 - The '{type} ADDRESS' expression is now allowed on the left hand-side
2174 of an assignment
2175 - Improved command completion in Ada
2176 - Several bug fixes
2177
d001be7a
DJ
2178* GDB on GNU/Linux and HP/UX can now debug through "exec" of a new
2179process.
2180
a6b151f1
DJ
2181* New commands
2182
6d53d0af
JB
2183set print frame-arguments (all|scalars|none)
2184show print frame-arguments
2185 The value of this variable can be changed to control which argument
2186 values should be printed by the debugger when displaying a frame.
2187
a6b151f1
DJ
2188remote put
2189remote get
2190remote delete
2191 Transfer files to and from a remote target, and delete remote files.
2192
2193* New MI commands
2194
2195-target-file-put
2196-target-file-get
2197-target-file-delete
2198 Transfer files to and from a remote target, and delete remote files.
2199
2200* New remote packets
2201
2202vFile:open:
2203vFile:close:
2204vFile:pread:
2205vFile:pwrite:
2206vFile:unlink:
2207 Open, close, read, write, and delete files on the remote system.
d0c678e6 2208
2d717e4f
DJ
2209vAttach
2210 Attach to an existing process on the remote system, in extended-remote
2211 mode.
2212
2213vRun
2214 Run a new process on the remote system, in extended-remote mode.
2215
8d5f9c6f 2216*** Changes in GDB 6.7
6dd09645 2217
19d378fc
MS
2218* Resolved 101 resource leaks, null pointer dereferences, etc. in gdb,
2219bfd, libiberty and opcodes, as revealed by static analysis donated by
2220Coverity, Inc. (http://scan.coverity.com).
2221
3a40aaa0
UW
2222* When looking up multiply-defined global symbols, GDB will now prefer the
2223symbol definition in the current shared library if it was built using the
2224-Bsymbolic linker option.
2225
a6ec25f2
BW
2226* When the Text User Interface (TUI) is not configured, GDB will now
2227recognize the -tui command-line option and print a message that the TUI
2228is not supported.
2229
6dd09645
JB
2230* The GDB remote stub, gdbserver, now has lower overhead for high
2231frequency signals (e.g. SIGALRM) via the QPassSignals packet.
2232
c9bb8148
DJ
2233* GDB for MIPS targets now autodetects whether a remote target provides
223432-bit or 64-bit register values.
2235
0d5de010
DJ
2236* Support for C++ member pointers has been improved.
2237
23181151
DJ
2238* GDB now understands XML target descriptions, which specify the
2239target's overall architecture. GDB can read a description from
2240a local file or over the remote serial protocol.
2241
ea37ba09
DJ
2242* Vectors of single-byte data use a new integer type which is not
2243automatically displayed as character or string data.
2244
2245* The /s format now works with the print command. It displays
2246arrays of single-byte integers and pointers to single-byte integers
2247as strings.
e1f48ead 2248
123dc839
DJ
2249* Target descriptions can now describe target-specific registers,
2250for architectures which have implemented the support (currently
8d5f9c6f 2251only ARM, M68K, and MIPS).
123dc839 2252
05a4558a
DJ
2253* GDB and the GDB remote stub, gdbserver, now support the XScale
2254iWMMXt coprocessor.
fb1e4ffc 2255
7c963485
PA
2256* The GDB remote stub, gdbserver, has been updated to support
2257ARM Windows CE (mingw32ce) debugging, and GDB Windows CE support
2258has been rewritten to use the standard GDB remote protocol.
2259
b18be20d
DJ
2260* GDB can now step into C++ functions which are called through thunks.
2261
0ca420ce
UW
2262* GDB for the Cell/B.E. SPU now supports overlay debugging.
2263
31d99776
DJ
2264* The GDB remote protocol "qOffsets" packet can now honor ELF segment
2265layout. It also supports a TextSeg= and DataSeg= response when only
2266segment base addresses (rather than offsets) are available.
2267
a4642986
MR
2268* The /i format now outputs any trailing branch delay slot instructions
2269immediately following the last instruction within the count specified.
2270
cfa9d6d9
DJ
2271* The GDB remote protocol "T" stop reply packet now supports a
2272"library" response. Combined with the new "qXfer:libraries:read"
2273packet, this response allows GDB to debug shared libraries on targets
2274where the operating system manages the list of loaded libraries (e.g.
2275Windows and SymbianOS).
255e7678
DJ
2276
2277* The GDB remote stub, gdbserver, now supports dynamic link libraries
2278(DLLs) on Windows and Windows CE targets.
f5db8714
JK
2279
2280* GDB now supports a faster verification that a .debug file matches its binary
2281according to its build-id signature, if the signature is present.
cfa9d6d9 2282
c9bb8148
DJ
2283* New commands
2284
23776285
MR
2285set remoteflow
2286show remoteflow
2287 Enable or disable hardware flow control (RTS/CTS) on the serial port
2288 when debugging using remote targets.
2289
c9bb8148
DJ
2290set mem inaccessible-by-default
2291show mem inaccessible-by-default
2292 If the target supplies a memory map, for instance via the remote
2293 protocol's "qXfer:memory-map:read" packet, setting this variable
2294 prevents GDB from accessing memory outside the memory map. This
2295 is useful for targets with memory mapped registers or which react
2296 badly to accesses of unmapped address space.
2297
2298set breakpoint auto-hw
2299show breakpoint auto-hw
2300 If the target supplies a memory map, for instance via the remote
2301 protocol's "qXfer:memory-map:read" packet, setting this variable
2302 lets GDB use hardware breakpoints automatically for memory regions
2303 where it can not use software breakpoints. This covers both the
2304 "break" command and internal breakpoints used for other commands
2305 including "next" and "finish".
2306
0e420bd8
JB
2307catch exception
2308catch exception unhandled
2309 Stop the program execution when Ada exceptions are raised.
2310
2311catch assert
2312 Stop the program execution when an Ada assertion failed.
2313
f822c95b
DJ
2314set sysroot
2315show sysroot
2316 Set an alternate system root for target files. This is a more
2317 general version of "set solib-absolute-prefix", which is now
2318 an alias to "set sysroot".
2319
83cc5c53
UW
2320info spu
2321 Provide extended SPU facility status information. This set of
2322 commands is available only when debugging the Cell/B.E. SPU
2323 architecture.
2324
bd372731
MK
2325* New native configurations
2326
2327OpenBSD/sh sh*-*openbsd*
2328
23181151
DJ
2329set tdesc filename
2330unset tdesc filename
2331show tdesc filename
2332 Use the specified local file as an XML target description, and do
2333 not query the target for its built-in description.
2334
c9bb8148
DJ
2335* New targets
2336
54fe9172 2337OpenBSD/sh sh*-*-openbsd*
c9bb8148 2338MIPS64 GNU/Linux (gdbserver) mips64-linux-gnu
c077150c 2339Toshiba Media Processor mep-elf
c9bb8148 2340
6dd09645
JB
2341* New remote packets
2342
2343QPassSignals:
2344 Ignore the specified signals; pass them directly to the debugged program
2345 without stopping other threads or reporting them to GDB.
2346
23181151
DJ
2347qXfer:features:read:
2348 Read an XML target description from the target, which describes its
2349 features.
6dd09645 2350
83cc5c53
UW
2351qXfer:spu:read:
2352qXfer:spu:write:
2353 Read or write contents of an spufs file on the target system. These
2354 packets are available only on the Cell/B.E. SPU architecture.
2355
cfa9d6d9
DJ
2356qXfer:libraries:read:
2357 Report the loaded shared libraries. Combined with new "T" packet
2358 response, this packet allows GDB to debug shared libraries on
2359 targets where the operating system manages the list of loaded
2360 libraries (e.g. Windows and SymbianOS).
2361
483367ee
DJ
2362* Removed targets
2363
2364Support for these obsolete configurations has been removed.
2365
d08950c4
UW
2366alpha*-*-osf1*
2367alpha*-*-osf2*
7ce59000 2368d10v-*-*
483367ee
DJ
2369hppa*-*-hiux*
2370i[34567]86-ncr-*
2371i[34567]86-*-dgux*
2372i[34567]86-*-lynxos*
2373i[34567]86-*-netware*
2374i[34567]86-*-sco3.2v5*
2375i[34567]86-*-sco3.2v4*
2376i[34567]86-*-sco*
2377i[34567]86-*-sysv4.2*
2378i[34567]86-*-sysv4*
2379i[34567]86-*-sysv5*
2380i[34567]86-*-unixware2*
2381i[34567]86-*-unixware*
2382i[34567]86-*-sysv*
2383i[34567]86-*-isc*
2384m68*-cisco*-*
2385m68*-tandem-*
ad527d2e 2386mips*-*-pe
483367ee 2387rs6000-*-lynxos*
ad527d2e 2388sh*-*-pe
483367ee 2389
7ce59000
DJ
2390* Other removed features
2391
2392target abug
2393target cpu32bug
2394target est
2395target rom68k
2396
2397 Various m68k-only ROM monitors.
2398
ea35711c
DJ
2399target hms
2400target e7000
2401target sh3
2402target sh3e
2403
2404 Various Renesas ROM monitors and debugging interfaces for SH and
2405 H8/300.
2406
2407target ocd
2408
2409 Support for a Macraigor serial interface to on-chip debugging.
2410 GDB does not directly support the newer parallel or USB
2411 interfaces.
2412
7ce59000
DJ
2413DWARF 1 support
2414
2415 A debug information format. The predecessor to DWARF 2 and
2416 DWARF 3, which are still supported.
2417
54d61198
DJ
2418Support for the HP aCC compiler on HP-UX/PA-RISC
2419
2420 SOM-encapsulated symbolic debugging information, automatic
2421 invocation of pxdb, and the aCC custom C++ ABI. This does not
2422 affect HP-UX for Itanium or GCC for HP-UX/PA-RISC. Code compiled
2423 with aCC can still be debugged on an assembly level.
2424
ea35711c
DJ
2425MIPS ".pdr" sections
2426
2427 A MIPS-specific format used to describe stack frame layout
2428 in debugging information.
2429
2430Scheme support
2431
2432 GDB could work with an older version of Guile to debug
2433 the interpreter and Scheme programs running in it.
2434
1a69e1e4
DJ
2435set mips stack-arg-size
2436set mips saved-gpreg-size
2437
2438 Use "set mips abi" to control parameter passing for MIPS.
2439
6dd09645 2440*** Changes in GDB 6.6
e374b601 2441
ca3bf3bd
DJ
2442* New targets
2443
2444Xtensa xtensa-elf
9c309e77 2445Cell Broadband Engine SPU spu-elf
ca3bf3bd 2446
6aec2e11
DJ
2447* GDB can now be configured as a cross-debugger targeting native Windows
2448(mingw32) or Cygwin. It can communicate with a remote debugging stub
2449running on a Windows system over TCP/IP to debug Windows programs.
2450
2451* The GDB remote stub, gdbserver, has been updated to support Windows and
2452Cygwin debugging. Both single-threaded and multi-threaded programs are
2453supported.
2454
17218d91
DJ
2455* The "set trust-readonly-sections" command works again. This command was
2456broken in GDB 6.3, 6.4, and 6.5.
2457
9ebce043
DJ
2458* The "load" command now supports writing to flash memory, if the remote
2459stub provides the required support.
2460
7d3d3ece
DJ
2461* Support for GNU/Linux Thread Local Storage (TLS, per-thread variables) no
2462longer requires symbolic debug information (e.g. DWARF-2).
2463
4f8253f3
JB
2464* New commands
2465
2466set substitute-path
2467unset substitute-path
2468show substitute-path
2469 Manage a list of substitution rules that GDB uses to rewrite the name
2470 of the directories where the sources are located. This can be useful
2471 for instance when the sources were moved to a different location
2472 between compilation and debugging.
2473
9fa66fd7
AS
2474set trace-commands
2475show trace-commands
2476 Print each CLI command as it is executed. Each command is prefixed with
2477 a number of `+' symbols representing the nesting depth.
2478 The source command now has a `-v' option to enable the same feature.
2479
1f5befc1
DJ
2480* REMOVED features
2481
2482The ARM Demon monitor support (RDP protocol, "target rdp").
2483
2ec3381a
DJ
2484Kernel Object Display, an embedded debugging feature which only worked with
2485an obsolete version of Cisco IOS.
2486
3d00d119
DJ
2487The 'set download-write-size' and 'show download-write-size' commands.
2488
be2a5f71
DJ
2489* New remote packets
2490
2491qSupported:
2492 Tell a stub about GDB client features, and request remote target features.
2493 The first feature implemented is PacketSize, which allows the target to
2494 specify the size of packets it can handle - to minimize the number of
2495 packets required and improve performance when connected to a remote
2496 target.
2497
0876f84a
DJ
2498qXfer:auxv:read:
2499 Fetch an OS auxilliary vector from the remote stub. This packet is a
2500 more efficient replacement for qPart:auxv:read.
2501
9ebce043
DJ
2502qXfer:memory-map:read:
2503 Fetch a memory map from the remote stub, including information about
2504 RAM, ROM, and flash memory devices.
2505
2506vFlashErase:
2507vFlashWrite:
2508vFlashDone:
2509 Erase and program a flash memory device.
2510
0876f84a
DJ
2511* Removed remote packets
2512
2513qPart:auxv:read:
2514 This packet has been replaced by qXfer:auxv:read. Only GDB 6.4 and 6.5
2515 used it, and only gdbserver implemented it.
2516
e374b601 2517*** Changes in GDB 6.5
53e5f3cf 2518
96309189
MS
2519* New targets
2520
2521Renesas M32C/M16C m32c-elf
2522
2523Morpho Technologies ms1 ms1-elf
2524
53e5f3cf
AS
2525* New commands
2526
2527init-if-undefined Initialize a convenience variable, but
2528 only if it doesn't already have a value.
2529
ac264b3b
MS
2530The following commands are presently only implemented for native GNU/Linux:
2531
2532checkpoint Save a snapshot of the program state.
2533
2534restart <n> Return the program state to a
2535 previously saved state.
2536
2537info checkpoints List currently saved checkpoints.
2538
2539delete-checkpoint <n> Delete a previously saved checkpoint.
2540
2541set|show detach-on-fork Tell gdb whether to detach from a newly
2542 forked process, or to keep debugging it.
2543
2544info forks List forks of the user program that
2545 are available to be debugged.
2546
2547fork <n> Switch to debugging one of several
2548 forks of the user program that are
2549 available to be debugged.
2550
2551delete-fork <n> Delete a fork from the list of forks
2552 that are available to be debugged (and
2553 kill the forked process).
2554
2555detach-fork <n> Delete a fork from the list of forks
2556 that are available to be debugged (and
2557 allow the process to continue).
2558
3950dc3f
NS
2559* New architecture
2560
2561Morpho Technologies ms2 ms1-elf
2562
0ea3f30e
DJ
2563* Improved Windows host support
2564
2565GDB now builds as a cross debugger hosted on i686-mingw32, including
2566native console support, and remote communications using either
2567network sockets or serial ports.
2568
f79daebb
GM
2569* Improved Modula-2 language support
2570
2571GDB can now print most types in the Modula-2 syntax. This includes:
2572basic types, set types, record types, enumerated types, range types,
2573pointer types and ARRAY types. Procedure var parameters are correctly
2574printed and hexadecimal addresses and character constants are also
2575written in the Modula-2 syntax. Best results can be obtained by using
2576GNU Modula-2 together with the -gdwarf-2 command line option.
2577
acab6ab2
MM
2578* REMOVED features
2579
2580The ARM rdi-share module.
2581
f4267320
DJ
2582The Netware NLM debug server.
2583
53e5f3cf 2584*** Changes in GDB 6.4
156a53ca 2585
e0ecbda1
MK
2586* New native configurations
2587
02a677ac 2588OpenBSD/arm arm*-*-openbsd*
e0ecbda1
MK
2589OpenBSD/mips64 mips64-*-openbsd*
2590
d64a6579
KB
2591* New targets
2592
2593Morpho Technologies ms1 ms1-elf
2594
b33a6190
AS
2595* New command line options
2596
2597--batch-silent As for --batch, but totally silent.
2598--return-child-result The debugger will exist with the same value
2599 the child (debugged) program exited with.
2600--eval-command COMMAND, -ex COMMAND
2601 Execute a single GDB CLI command. This may be
2602 specified multiple times and in conjunction
2603 with the --command (-x) option.
2604
11dced61
AC
2605* Deprecated commands removed
2606
2607The following commands, that were deprecated in 2000, have been
2608removed:
2609
2610 Command Replacement
2611 set|show arm disassembly-flavor set|show arm disassembler
2612 othernames set arm disassembler
2613 set|show remotedebug set|show debug remote
2614 set|show archdebug set|show debug arch
2615 set|show eventdebug set|show debug event
2616 regs info registers
2617
6fe85783
MK
2618* New BSD user-level threads support
2619
2620It is now possible to debug programs using the user-level threads
2621library on OpenBSD and FreeBSD. Currently supported (target)
2622configurations are:
2623
2624FreeBSD/amd64 x86_64-*-freebsd*
2625FreeBSD/i386 i386-*-freebsd*
2626OpenBSD/i386 i386-*-openbsd*
2627
2628Note that the new kernel threads libraries introduced in FreeBSD 5.x
2629are not yet supported.
2630
5260ca71
MS
2631* New support for Matsushita MN10300 w/sim added
2632(Work in progress). mn10300-elf.
2633
e84ecc99
AC
2634* REMOVED configurations and files
2635
2636VxWorks and the XDR protocol *-*-vxworks
9445aa30 2637Motorola MCORE mcore-*-*
9445aa30 2638National Semiconductor NS32000 ns32k-*-*
156a53ca 2639
31e35378
JB
2640* New "set print array-indexes" command
2641
2642After turning this setting "on", GDB prints the index of each element
2643when displaying arrays. The default is "off" to preserve the previous
2644behavior.
2645
e85e5c83
MK
2646* VAX floating point support
2647
2648GDB now supports the not-quite-ieee VAX F and D floating point formats.
2649
d91e9901
AS
2650* User-defined command support
2651
2652In addition to using $arg0..$arg9 for argument passing, it is now possible
2653to use $argc to determine now many arguments have been passed. See the
2654section on user-defined commands in the user manual for more information.
2655
f2cb65ca
MC
2656*** Changes in GDB 6.3:
2657
f47b1503
AS
2658* New command line option
2659
2660GDB now accepts -l followed by a number to set the timeout for remote
2661debugging.
2662
f2cb65ca
MC
2663* GDB works with GCC -feliminate-dwarf2-dups
2664
2665GDB now supports a more compact representation of DWARF-2 debug
2666information using DW_FORM_ref_addr references. These are produced
2667by GCC with the option -feliminate-dwarf2-dups and also by some
2668proprietary compilers. With GCC, you must use GCC 3.3.4 or later
2669to use -feliminate-dwarf2-dups.
860660cb 2670
d08c0230
AC
2671* Internationalization
2672
2673When supported by the host system, GDB will be built with
2674internationalization (libintl). The task of marking up the sources is
2675continued, we're looking forward to our first translation.
2676
117ea3cf
PH
2677* Ada
2678
2679Initial support for debugging programs compiled with the GNAT
2680implementation of the Ada programming language has been integrated
2681into GDB. In this release, support is limited to expression evaluation.
2682
d08c0230
AC
2683* New native configurations
2684
2685GNU/Linux/m32r m32r-*-linux-gnu
2686
2687* Remote 'p' packet
2688
2689GDB's remote protocol now includes support for the 'p' packet. This
2690packet is used to fetch individual registers from a remote inferior.
2691
2692* END-OF-LIFE registers[] compatibility module
2693
2694GDB's internal register infrastructure has been completely rewritten.
2695The new infrastructure making possible the implementation of key new
2696features including 32x64 (e.g., 64-bit amd64 GDB debugging a 32-bit
2697i386 application).
2698
2699GDB 6.3 will be the last release to include the the registers[]
2700compatibility module that allowed out-of-date configurations to
2701continue to work. This change directly impacts the following
2702configurations:
2703
2704hppa-*-hpux
2705ia64-*-aix
2706mips-*-irix*
2707*-*-lynx
2708mips-*-linux-gnu
2709sds protocol
2710xdr protocol
2711powerpc bdm protocol
2712
2713Unless there is activity to revive these configurations, they will be
2714made OBSOLETE in GDB 6.4, and REMOVED from GDB 6.5.
2715
2716* OBSOLETE configurations and files
2717
2718Configurations that have been declared obsolete in this release have
2719been commented out. Unless there is activity to revive these
2720configurations, the next release of GDB will have their sources
2721permanently REMOVED.
2722
2723h8300-*-*
2724mcore-*-*
2725mn10300-*-*
2726ns32k-*-*
2727sh64-*-*
2728v850-*-*
2729
ebb7c577
AC
2730*** Changes in GDB 6.2.1:
2731
2732* MIPS `break main; run' gave an heuristic-fence-post warning
2733
2734When attempting to run even a simple program, a warning about
2735heuristic-fence-post being hit would be reported. This problem has
2736been fixed.
2737
2738* MIPS IRIX 'long double' crashed GDB
2739
2740When examining a long double variable, GDB would get a segmentation
2741fault. The crash has been fixed (but GDB 6.2 cannot correctly examine
2742IRIX long double values).
2743
2744* VAX and "next"
2745
2746A bug in the VAX stack code was causing problems with the "next"
2747command. This problem has been fixed.
2748
860660cb 2749*** Changes in GDB 6.2:
faae5abe 2750
0dea2468
AC
2751* Fix for ``many threads''
2752
2753On GNU/Linux systems that use the NPTL threads library, a program
2754rapidly creating and deleting threads would confuse GDB leading to the
2755error message:
2756
2757 ptrace: No such process.
2758 thread_db_get_info: cannot get thread info: generic error
2759
2760This problem has been fixed.
2761
2c07db7a
AC
2762* "-async" and "-noasync" options removed.
2763
2764Support for the broken "-noasync" option has been removed (it caused
2765GDB to dump core).
2766
c23968a2
JB
2767* New ``start'' command.
2768
2769This command runs the program until the begining of the main procedure.
2770
71009278
MK
2771* New BSD Kernel Data Access Library (libkvm) interface
2772
2773Using ``target kvm'' it is now possible to debug kernel core dumps and
2774live kernel memory images on various FreeBSD, NetBSD and OpenBSD
2775platforms. Currently supported (native-only) configurations are:
2776
2777FreeBSD/amd64 x86_64-*-freebsd*
2778FreeBSD/i386 i?86-*-freebsd*
2779NetBSD/i386 i?86-*-netbsd*
2780NetBSD/m68k m68*-*-netbsd*
2781NetBSD/sparc sparc-*-netbsd*
2782OpenBSD/amd64 x86_64-*-openbsd*
2783OpenBSD/i386 i?86-*-openbsd*
2784OpenBSD/m68k m68*-openbsd*
2785OpenBSD/sparc sparc-*-openbsd*
2786
3c0b7db2
AC
2787* Signal trampoline code overhauled
2788
2789Many generic problems with GDB's signal handling code have been fixed.
2790These include: backtraces through non-contiguous stacks; recognition
2791of sa_sigaction signal trampolines; backtrace from a NULL pointer
2792call; backtrace through a signal trampoline; step into and out of
2793signal handlers; and single-stepping in the signal trampoline.
2794
73cc75f3
AC
2795Please note that kernel bugs are a limiting factor here. These
2796features have been shown to work on an s390 GNU/Linux system that
2797include a 2.6.8-rc1 kernel. Ref PR breakpoints/1702.
3c0b7db2 2798
7243600a
BF
2799* Cygwin support for DWARF 2 added.
2800
6f606e1c
MK
2801* New native configurations
2802
97dc871c 2803GNU/Linux/hppa hppa*-*-linux*
0e56aeaf 2804OpenBSD/hppa hppa*-*-openbsd*
bf2ca189
MK
2805OpenBSD/m68k m68*-*-openbsd*
2806OpenBSD/m88k m88*-*-openbsd*
d195bc9f 2807OpenBSD/powerpc powerpc-*-openbsd*
6f606e1c 2808NetBSD/vax vax-*-netbsd*
9f076e7a 2809OpenBSD/vax vax-*-openbsd*
6f606e1c 2810
a1b461bf
AC
2811* END-OF-LIFE frame compatibility module
2812
2813GDB's internal frame infrastructure has been completely rewritten.
2814The new infrastructure making it possible to support key new features
2815including DWARF 2 Call Frame Information. To aid in the task of
2816migrating old configurations to this new infrastructure, a
2817compatibility module, that allowed old configurations to continue to
2818work, was also included.
2819
2820GDB 6.2 will be the last release to include this frame compatibility
2821module. This change directly impacts the following configurations:
2822
2823h8300-*-*
2824mcore-*-*
2825mn10300-*-*
2826ns32k-*-*
2827sh64-*-*
2828v850-*-*
2829xstormy16-*-*
2830
2831Unless there is activity to revive these configurations, they will be
2832made OBSOLETE in GDB 6.3, and REMOVED from GDB 6.4.
2833
3c7012f5
AC
2834* REMOVED configurations and files
2835
2836Sun 3, running SunOS 3 m68*-*-sunos3*
2837Sun 3, running SunOS 4 m68*-*-sunos4*
2838Sun 2, running SunOS 3 m68000-*-sunos3*
2839Sun 2, running SunOS 4 m68000-*-sunos4*
2840Motorola 680x0 running LynxOS m68*-*-lynxos*
2841AT&T 3b1/Unix pc m68*-att-*
2842Bull DPX2 (68k, System V release 3) m68*-bull-sysv*
2843decstation mips-dec-* mips-little-*
2844riscos mips-*-riscos* mips-*-sysv*
2845sonymips mips-sony-*
2846sysv mips*-*-sysv4* (IRIX 5/6 not included)
2847
e5fe55f7
AC
2848*** Changes in GDB 6.1.1:
2849
2850* TUI (Text-mode User Interface) built-in (also included in GDB 6.1)
2851
2852The TUI (Text-mode User Interface) is now built as part of a default
2853GDB configuration. It is enabled by either selecting the TUI with the
2854command line option "-i=tui" or by running the separate "gdbtui"
2855program. For more information on the TUI, see the manual "Debugging
2856with GDB".
2857
2858* Pending breakpoint support (also included in GDB 6.1)
2859
2860Support has been added to allow you to specify breakpoints in shared
2861libraries that have not yet been loaded. If a breakpoint location
2862cannot be found, and the "breakpoint pending" option is set to auto,
2863GDB queries you if you wish to make the breakpoint pending on a future
2864shared-library load. If and when GDB resolves the breakpoint symbol,
2865the pending breakpoint is removed as one or more regular breakpoints
2866are created.
2867
2868Pending breakpoints are very useful for GCJ Java debugging.
2869
2870* Fixed ISO-C build problems
2871
2872The files bfd/elf-bfd.h, gdb/dictionary.c and gdb/types.c contained
2873non ISO-C code that stopped them being built using a more strict ISO-C
2874compiler (e.g., IBM's C compiler).
2875
2876* Fixed build problem on IRIX 5
2877
2878Due to header problems with <sys/proc.h>, the file gdb/proc-api.c
2879wasn't able to compile compile on an IRIX 5 system.
2880
2881* Added execute permission to gdb/gdbserver/configure
2882
2883The shell script gdb/testsuite/gdb.stabs/configure lacked execute
2884permission. This bug would cause configure to fail on a number of
2885systems (Solaris, IRIX). Ref: server/519.
2886
2887* Fixed build problem on hpux2.0w-hp-hpux11.00 using the HP ANSI C compiler
2888
2889Older HPUX ANSI C compilers did not accept variable array sizes. somsolib.c
2890has been updated to use constant array sizes.
2891
2892* Fixed a panic in the DWARF Call Frame Info code on Solaris 2.7
2893
2894GCC 3.3.2, on Solaris 2.7, includes the DW_EH_PE_funcrel encoding in
2895its generated DWARF Call Frame Info. This encoding was causing GDB to
2896panic, that panic has been fixed. Ref: gdb/1628.
2897
2898* Fixed a problem when examining parameters in shared library code.
2899
2900When examining parameters in optimized shared library code generated
2901by a mainline GCC, GDB would incorrectly report ``Variable "..." is
2902not available''. GDB now correctly displays the variable's value.
2903
faae5abe 2904*** Changes in GDB 6.1:
f2c06f52 2905
9175c9a3
MC
2906* Removed --with-mmalloc
2907
2908Support for the mmalloc memory manager has been removed, as it
2909conflicted with the internal gdb byte cache.
2910
3cc87ec0
MK
2911* Changes in AMD64 configurations
2912
2913The AMD64 target now includes the %cs and %ss registers. As a result
2914the AMD64 remote protocol has changed; this affects the floating-point
2915and SSE registers. If you rely on those registers for your debugging,
2916you should upgrade gdbserver on the remote side.
2917
f0424ef6
MK
2918* Revised SPARC target
2919
2920The SPARC target has been completely revised, incorporating the
2921FreeBSD/sparc64 support that was added for GDB 6.0. As a result
03cebad2
MK
2922support for LynxOS and SunOS 4 has been dropped. Calling functions
2923from within GDB on operating systems with a non-executable stack
2924(Solaris, OpenBSD) now works.
f0424ef6 2925
59659be2
ILT
2926* New C++ demangler
2927
2928GDB has a new C++ demangler which does a better job on the mangled
2929names generated by current versions of g++. It also runs faster, so
2930with this and other changes gdb should now start faster on large C++
2931programs.
2932
9e08b29b
DJ
2933* DWARF 2 Location Expressions
2934
2935GDB support for location expressions has been extended to support function
2936arguments and frame bases. Older versions of GDB could crash when they
2937encountered these.
2938
8dfe8985
DC
2939* C++ nested types and namespaces
2940
2941GDB's support for nested types and namespaces in C++ has been
2942improved, especially if you use the DWARF 2 debugging format. (This
2943is the default for recent versions of GCC on most platforms.)
2944Specifically, if you have a class "Inner" defined within a class or
2945namespace "Outer", then GDB realizes that the class's name is
2946"Outer::Inner", not simply "Inner". This should greatly reduce the
2947frequency of complaints about not finding RTTI symbols. In addition,
2948if you are stopped at inside of a function defined within a namespace,
2949GDB modifies its name lookup accordingly.
2950
cced5e27
MK
2951* New native configurations
2952
2953NetBSD/amd64 x86_64-*-netbsd*
27d1e716 2954OpenBSD/amd64 x86_64-*-openbsd*
2031c21a 2955OpenBSD/alpha alpha*-*-openbsd*
f2cab569
MK
2956OpenBSD/sparc sparc-*-openbsd*
2957OpenBSD/sparc64 sparc64-*-openbsd*
cced5e27 2958
b4b4b794
KI
2959* New debugging protocols
2960
2961M32R with SDI protocol m32r-*-elf*
2962
7989c619
AC
2963* "set prompt-escape-char" command deleted.
2964
2965The command "set prompt-escape-char" has been deleted. This command,
2966and its very obscure effet on GDB's prompt, was never documented,
2967tested, nor mentioned in the NEWS file.
2968
5994185b
AC
2969* OBSOLETE configurations and files
2970
2971Configurations that have been declared obsolete in this release have
2972been commented out. Unless there is activity to revive these
2973configurations, the next release of GDB will have their sources
2974permanently REMOVED.
2975
2976Sun 3, running SunOS 3 m68*-*-sunos3*
2977Sun 3, running SunOS 4 m68*-*-sunos4*
2978Sun 2, running SunOS 3 m68000-*-sunos3*
2979Sun 2, running SunOS 4 m68000-*-sunos4*
2980Motorola 680x0 running LynxOS m68*-*-lynxos*
2981AT&T 3b1/Unix pc m68*-att-*
2982Bull DPX2 (68k, System V release 3) m68*-bull-sysv*
0748d941
AC
2983decstation mips-dec-* mips-little-*
2984riscos mips-*-riscos* mips-*-sysv*
2985sonymips mips-sony-*
2986sysv mips*-*-sysv4* (IRIX 5/6 not included)
5994185b 2987
0ddabb4c
AC
2988* REMOVED configurations and files
2989
2990SGI Irix-4.x mips-sgi-irix4 or iris4
2991SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
4a8269c0
AC
2992Z8000 simulator z8k-zilog-none or z8ksim
2993Matsushita MN10200 w/simulator mn10200-*-*
2994H8/500 simulator h8500-hitachi-hms or h8500hms
2995HP/PA running BSD hppa*-*-bsd*
2996HP/PA running OSF/1 hppa*-*-osf*
2997HP/PA Pro target hppa*-*-pro*
2998PMAX (MIPS) running Mach 3.0 mips*-*-mach3*
cf7c5c23 2999386BSD i[3456]86-*-bsd*
4a8269c0
AC
3000Sequent family i[3456]86-sequent-sysv4*
3001 i[3456]86-sequent-sysv*
3002 i[3456]86-sequent-bsd*
f0424ef6
MK
3003SPARC running LynxOS sparc-*-lynxos*
3004SPARC running SunOS 4 sparc-*-sunos4*
4a8269c0
AC
3005Tsqware Sparclet sparclet-*-*
3006Fujitsu SPARClite sparclite-fujitsu-none or sparclite
0ddabb4c 3007
c7f1390e
DJ
3008*** Changes in GDB 6.0:
3009
1fe43d45
AC
3010* Objective-C
3011
3012Support for debugging the Objective-C programming language has been
3013integrated into GDB.
3014
e6beb428
AC
3015* New backtrace mechanism (includes DWARF 2 Call Frame Information).
3016
3017DWARF 2's Call Frame Information makes available compiler generated
3018information that more exactly describes the program's run-time stack.
3019By using this information, GDB is able to provide more robust stack
3020backtraces.
3021
3022The i386, amd64 (nee, x86-64), Alpha, m68hc11, ia64, and m32r targets
3023have been updated to use a new backtrace mechanism which includes
3024DWARF 2 CFI support.
3025
3026* Hosted file I/O.
3027
3028GDB's remote protocol has been extended to include support for hosted
3029file I/O (where the remote target uses GDB's file system). See GDB's
3030remote protocol documentation for details.
3031
3032* All targets using the new architecture framework.
3033
3034All of GDB's targets have been updated to use the new internal
3035architecture framework. The way is now open for future GDB releases
3036to include cross-architecture native debugging support (i386 on amd64,
3037ppc32 on ppc64).
3038
3039* GNU/Linux's Thread Local Storage (TLS)
3040
3041GDB now includes support for for the GNU/Linux implementation of
3042per-thread variables.
3043
3044* GNU/Linux's Native POSIX Thread Library (NPTL)
3045
3046GDB's thread code has been updated to work with either the new
3047GNU/Linux NPTL thread library or the older "LinuxThreads" library.
3048
3049* Separate debug info.
3050
3051GDB, in conjunction with BINUTILS, now supports a mechanism for
3052automatically loading debug information from a separate file. Instead
3053of shipping full debug and non-debug versions of system libraries,
3054system integrators can now instead ship just the stripped libraries
3055and optional debug files.
3056
3057* DWARF 2 Location Expressions
3058
3059DWARF 2 Location Expressions allow the compiler to more completely
3060describe the location of variables (even in optimized code) to the
3061debugger.
3062
3063GDB now includes preliminary support for location expressions (support
3064for DW_OP_piece is still missing).
3065
3066* Java
3067
3068A number of long standing bugs that caused GDB to die while starting a
3069Java application have been fixed. GDB's Java support is now
3070considered "useable".
3071
85f8f974
DJ
3072* GNU/Linux support for fork, vfork, and exec.
3073
3074The "catch fork", "catch exec", "catch vfork", and "set follow-fork-mode"
3075commands are now implemented for GNU/Linux. They require a 2.5.x or later
3076kernel.
3077
0fac0b41
DJ
3078* GDB supports logging output to a file
3079
3080There are two new commands, "set logging" and "show logging", which can be
3081used to capture GDB's output to a file.
f2c06f52 3082
6ad8ae5c
DJ
3083* The meaning of "detach" has changed for gdbserver
3084
3085The "detach" command will now resume the application, as documented. To
3086disconnect from gdbserver and leave it stopped, use the new "disconnect"
3087command.
3088
e286caf2 3089* d10v, m68hc11 `regs' command deprecated
5f601589
AC
3090
3091The `info registers' command has been updated so that it displays the
3092registers using a format identical to the old `regs' command.
3093
d28f9cdf
DJ
3094* Profiling support
3095
3096A new command, "maint set profile on/off", has been added. This command can
3097be used to enable or disable profiling while running GDB, to profile a
3098session or a set of commands. In addition there is a new configure switch,
3099"--enable-profiling", which will cause GDB to be compiled with profiling
3100data, for more informative profiling results.
3101
da0f9dcd
AC
3102* Default MI syntax changed to "mi2".
3103
3104The default MI (machine interface) syntax, enabled by the command line
3105option "-i=mi", has been changed to "mi2". The previous MI syntax,
b68767c1 3106"mi1", can be enabled by specifying the option "-i=mi1".
da0f9dcd
AC
3107
3108Support for the original "mi0" syntax (included in GDB 5.0) has been
3109removed.
3110
fb9b6b35
JJ
3111Fix for gdb/192: removed extraneous space when displaying frame level.
3112Fix for gdb/672: update changelist is now output in mi list format.
3113Fix for gdb/702: a -var-assign that updates the value now shows up
3114 in a subsequent -var-update.
3115
954a4db8
MK
3116* New native configurations.
3117
3118FreeBSD/amd64 x86_64-*-freebsd*
3119
6760f9e6
JB
3120* Multi-arched targets.
3121
b4263afa 3122HP/PA HPUX11 hppa*-*-hpux*
85a453d5 3123Renesas M32R/D w/simulator m32r-*-elf*
6760f9e6 3124
1b831c93
AC
3125* OBSOLETE configurations and files
3126
3127Configurations that have been declared obsolete in this release have
3128been commented out. Unless there is activity to revive these
3129configurations, the next release of GDB will have their sources
3130permanently REMOVED.
3131
8b0e5691 3132Z8000 simulator z8k-zilog-none or z8ksim
67f16606 3133Matsushita MN10200 w/simulator mn10200-*-*
fd2299bd 3134H8/500 simulator h8500-hitachi-hms or h8500hms
56056df7
AC
3135HP/PA running BSD hppa*-*-bsd*
3136HP/PA running OSF/1 hppa*-*-osf*
3137HP/PA Pro target hppa*-*-pro*
78c43945 3138PMAX (MIPS) running Mach 3.0 mips*-*-mach3*
2fbce691
AC
3139Sequent family i[3456]86-sequent-sysv4*
3140 i[3456]86-sequent-sysv*
3141 i[3456]86-sequent-bsd*
f81824a9
AC
3142Tsqware Sparclet sparclet-*-*
3143Fujitsu SPARClite sparclite-fujitsu-none or sparclite
fd2299bd 3144
5835abe7
NC
3145* REMOVED configurations and files
3146
3147V850EA ISA
1b831c93
AC
3148Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
3149IBM AIX PS/2 i[3456]86-*-aix
3150i386 running Mach 3.0 i[3456]86-*-mach3*
3151i386 running Mach i[3456]86-*-mach*
3152i386 running OSF/1 i[3456]86-*osf1mk*
3153HP/Apollo 68k Family m68*-apollo*-sysv*,
3154 m68*-apollo*-bsd*,
3155 m68*-hp-bsd*, m68*-hp-hpux*
3156Argonaut Risc Chip (ARC) arc-*-*
3157Mitsubishi D30V d30v-*-*
3158Fujitsu FR30 fr30-*-elf*
3159OS/9000 i[34]86-*-os9k
3160I960 with MON960 i960-*-coff
5835abe7 3161
a094c6fb
AC
3162* MIPS $fp behavior changed
3163
3164The convenience variable $fp, for the MIPS, now consistently returns
3165the address of the current frame's base. Previously, depending on the
3166context, $fp could refer to either $sp or the current frame's base
3167address. See ``8.10 Registers'' in the manual ``Debugging with GDB:
3168The GNU Source-Level Debugger''.
3169
299ffc64 3170*** Changes in GDB 5.3:
37057839 3171
46248966
AC
3172* GNU/Linux shared library multi-threaded performance improved.
3173
3174When debugging a multi-threaded application on GNU/Linux, GDB now uses
3175`/proc', in preference to `ptrace' for memory reads. This may result
3176in an improvement in the start-up time of multi-threaded, shared
3177library applications when run under GDB. One GDB user writes: ``loads
3178shared libs like mad''.
3179
b9d14705 3180* ``gdbserver'' now supports multi-threaded applications on some targets
6da02953 3181
b9d14705
DJ
3182Support for debugging multi-threaded applications which use
3183the GNU/Linux LinuxThreads package has been added for
3184arm*-*-linux*-gnu*, i[3456]86-*-linux*-gnu*, mips*-*-linux*-gnu*,
3185powerpc*-*-linux*-gnu*, and sh*-*-linux*-gnu*.
6da02953 3186
e0e9281e
JB
3187* GDB now supports C/C++ preprocessor macros.
3188
3189GDB now expands preprocessor macro invocations in C/C++ expressions,
3190and provides various commands for showing macro definitions and how
3191they expand.
3192
dd73b9bb
AC
3193The new command `macro expand EXPRESSION' expands any macro
3194invocations in expression, and shows the result.
3195
3196The new command `show macro MACRO-NAME' shows the definition of the
3197macro named MACRO-NAME, and where it was defined.
3198
e0e9281e
JB
3199Most compilers don't include information about macros in the debugging
3200information by default. In GCC 3.1, for example, you need to compile
3201your program with the options `-gdwarf-2 -g3'. If the macro
3202information is present in the executable, GDB will read it.
3203
2250ee0c
CV
3204* Multi-arched targets.
3205
6e3ba3b8
JT
3206DEC Alpha (partial) alpha*-*-*
3207DEC VAX (partial) vax-*-*
2250ee0c 3208NEC V850 v850-*-*
6e3ba3b8 3209National Semiconductor NS32000 (partial) ns32k-*-*
a1789893
GS
3210Motorola 68000 (partial) m68k-*-*
3211Motorola MCORE mcore-*-*
2250ee0c 3212
cd9bfe15 3213* New targets.
e33ce519 3214
456f8b9d
DB
3215Fujitsu FRV architecture added by Red Hat frv*-*-*
3216
e33ce519 3217
da8ca43d
JT
3218* New native configurations
3219
3220Alpha NetBSD alpha*-*-netbsd*
029923d4 3221SH NetBSD sh*-*-netbsdelf*
45888261 3222MIPS NetBSD mips*-*-netbsd*
9ce5c36a 3223UltraSPARC NetBSD sparc64-*-netbsd*
da8ca43d 3224
cd9bfe15
AC
3225* OBSOLETE configurations and files
3226
3227Configurations that have been declared obsolete in this release have
3228been commented out. Unless there is activity to revive these
3229configurations, the next release of GDB will have their sources
3230permanently REMOVED.
3231
92eb23c5 3232Mitsubishi D30V d30v-*-*
a99a9e1b 3233OS/9000 i[34]86-*-os9k
1c7cc583 3234IBM AIX PS/2 i[3456]86-*-aix
7a3085c1 3235Fujitsu FR30 fr30-*-elf*
7fb623f7 3236Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
eb4c54a2 3237Argonaut Risc Chip (ARC) arc-*-*
d8ee244c
MK
3238i386 running Mach 3.0 i[3456]86-*-mach3*
3239i386 running Mach i[3456]86-*-mach*
3240i386 running OSF/1 i[3456]86-*osf1mk*
822e978b
AC
3241HP/Apollo 68k Family m68*-apollo*-sysv*,
3242 m68*-apollo*-bsd*,
3243 m68*-hp-bsd*, m68*-hp-hpux*
4d210288 3244I960 with MON960 i960-*-coff
92eb23c5 3245
db034ac5
AC
3246* OBSOLETE languages
3247
3248CHILL, a Pascal like language used by telecommunications companies.
3249
cd9bfe15
AC
3250* REMOVED configurations and files
3251
3252AMD 29k family via UDI a29k-amd-udi, udi29k
3253A29K VxWorks a29k-*-vxworks
3254AMD 29000 embedded, using EBMON a29k-none-none
3255AMD 29000 embedded with COFF a29k-none-coff
3256AMD 29000 embedded with a.out a29k-none-aout
3257
3258testsuite/gdb.hp/gdb.threads-hp/ directory
3259
20f01a46
DH
3260* New command "set max-user-call-depth <nnn>"
3261
3262This command allows the user to limit the call depth of user-defined
3263commands. The default is 1024.
3264
a5941fbf
MK
3265* Changes in FreeBSD/i386 native debugging.
3266
3267Support for the "generate-core-file" has been added.
3268
89743e04
MS
3269* New commands "dump", "append", and "restore".
3270
3271These commands allow data to be copied from target memory
3272to a bfd-format or binary file (dump and append), and back
3273from a file into memory (restore).
37057839 3274
9fb14e79
JB
3275* Improved "next/step" support on multi-processor Alpha Tru64.
3276
3277The previous single-step mechanism could cause unpredictable problems,
3278including the random appearance of SIGSEGV or SIGTRAP signals. The use
3279of a software single-step mechanism prevents this.
3280
2037aebb
AC
3281*** Changes in GDB 5.2.1:
3282
3283* New targets.
3284
3285Atmel AVR avr*-*-*
3286
3287* Bug fixes
3288
3289gdb/182: gdb/323: gdb/237: On alpha, gdb was reporting:
3290mdebugread.c:2443: gdb-internal-error: sect_index_data not initialized
3291Fix, by Joel Brobecker imported from mainline.
3292
3293gdb/439: gdb/291: On some ELF object files, gdb was reporting:
3294dwarf2read.c:1072: gdb-internal-error: sect_index_text not initialize
3295Fix, by Fred Fish, imported from mainline.
3296
3297Dwarf2 .debug_frame & .eh_frame handler improved in many ways.
3298Surprisingly enough, it works now.
3299By Michal Ludvig, imported from mainline.
3300
3301i386 hardware watchpoint support:
3302avoid misses on second run for some targets.
3303By Pierre Muller, imported from mainline.
3304
37057839 3305*** Changes in GDB 5.2:
eb7cedd9 3306
1a703748
MS
3307* New command "set trust-readonly-sections on[off]".
3308
3309This command is a hint that tells gdb that read-only sections
3310really are read-only (ie. that their contents will not change).
3311In this mode, gdb will go to the object file rather than the
3312target to read memory from read-only sections (such as ".text").
3313This can be a significant performance improvement on some
3314(notably embedded) targets.
3315
cefd4ef5
MS
3316* New command "generate-core-file" (or "gcore").
3317
55241689
AC
3318This new gdb command allows the user to drop a core file of the child
3319process state at any time. So far it's been implemented only for
3320GNU/Linux and Solaris, but should be relatively easily ported to other
3321hosts. Argument is core file name (defaults to core.<pid>).
cefd4ef5 3322
352ed7b4
MS
3323* New command line option
3324
3325GDB now accepts --pid or -p followed by a process id.
3326
3327* Change in command line behavior -- corefiles vs. process ids.
3328
3329There is a subtle behavior in the way in which GDB handles
3330command line arguments. The first non-flag argument is always
3331a program to debug, but the second non-flag argument may either
3332be a corefile or a process id. Previously, GDB would attempt to
3333open the second argument as a corefile, and if that failed, would
3334issue a superfluous error message and then attempt to attach it as
3335a process. Now, if the second argument begins with a non-digit,
3336it will be treated as a corefile. If it begins with a digit,
3337GDB will attempt to attach it as a process, and if no such process
3338is found, will then attempt to open it as a corefile.
3339
fe419ffc
RE
3340* Changes in ARM configurations.
3341
3342Multi-arch support is enabled for all ARM configurations. The ARM/NetBSD
3343configuration is fully multi-arch.
3344
eb7cedd9
MK
3345* New native configurations
3346
fe419ffc 3347ARM NetBSD arm*-*-netbsd*
eb7cedd9 3348x86 OpenBSD i[3456]86-*-openbsd*
55241689 3349AMD x86-64 running GNU/Linux x86_64-*-linux-*
768f0842 3350Sparc64 running FreeBSD sparc64-*-freebsd*
eb7cedd9 3351
c9f63e6b
CV
3352* New targets
3353
3354Sanyo XStormy16 xstormy16-elf
3355
9b4ff276
AC
3356* OBSOLETE configurations and files
3357
3358Configurations that have been declared obsolete in this release have
3359been commented out. Unless there is activity to revive these
3360configurations, the next release of GDB will have their sources
3361permanently REMOVED.
3362
3363AMD 29k family via UDI a29k-amd-udi, udi29k
3364A29K VxWorks a29k-*-vxworks
3365AMD 29000 embedded, using EBMON a29k-none-none
3366AMD 29000 embedded with COFF a29k-none-coff
3367AMD 29000 embedded with a.out a29k-none-aout
3368
b4ceaee6 3369testsuite/gdb.hp/gdb.threads-hp/ directory
9b4ff276 3370
e2caac18
AC
3371* REMOVED configurations and files
3372
3373TI TMS320C80 tic80-*-*
7bc65f05 3374WDC 65816 w65-*-*
7768dd6c
AC
3375PowerPC Solaris powerpcle-*-solaris*
3376PowerPC Windows NT powerpcle-*-cygwin32
3377PowerPC Netware powerpc-*-netware*
5e734e1f 3378Harris/CXUX m88k m88*-harris-cxux*
1406caf7
AC
3379Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-*
3380 ns32k-utek-sysv* ns32k-utek-*
7e24f0b1 3381SunOS 4.0.Xi on i386 i[3456]86-*-sunos*
9b567150 3382Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern*
3680c638
AC
3383Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news
3384ISI Optimum V (3.05) under 4.3bsd. m68*-isi-*
a752853e 3385Apple Macintosh (MPW) host and target N/A host, powerpc-*-macos*
e2caac18 3386
c2a727fa
TT
3387* Changes to command line processing
3388
3389The new `--args' feature can be used to specify command-line arguments
3390for the inferior from gdb's command line.
3391
467d8519
TT
3392* Changes to key bindings
3393
3394There is a new `operate-and-get-next' function bound to `C-o'.
3395
7072a954
AC
3396*** Changes in GDB 5.1.1
3397
3398Fix compile problem on DJGPP.
3399
3400Fix a problem with floating-point registers on the i386 being
3401corrupted.
3402
3403Fix to stop GDB crashing on .debug_str debug info.
3404
3405Numerous documentation fixes.
3406
3407Numerous testsuite fixes.
3408
34f47bc4 3409*** Changes in GDB 5.1:
139760b7
MK
3410
3411* New native configurations
3412
3413Alpha FreeBSD alpha*-*-freebsd*
3414x86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]*
55241689 3415MIPS GNU/Linux mips*-*-linux*
e23194cb
EZ
3416MIPS SGI Irix 6.x mips*-sgi-irix6*
3417ia64 AIX ia64-*-aix*
55241689 3418s390 and s390x GNU/Linux {s390,s390x}-*-linux*
139760b7 3419
bf64bfd6
AC
3420* New targets
3421
def90278 3422Motorola 68HC11 and 68HC12 m68hc11-elf
24be5c34 3423CRIS cris-axis
55241689 3424UltraSparc running GNU/Linux sparc64-*-linux*
def90278 3425
17e78a56 3426* OBSOLETE configurations and files
bf64bfd6
AC
3427
3428x86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*,
9b9c068d 3429Harris/CXUX m88k m88*-harris-cxux*
bb19ff3b
AC
3430Most ns32k hosts and targets ns32k-*-mach3* ns32k-umax-*
3431 ns32k-utek-sysv* ns32k-utek-*
76f4ea53
AC
3432TI TMS320C80 tic80-*-*
3433WDC 65816 w65-*-*
4a1968f4 3434Ultracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern*
1b2b2c16
AC
3435PowerPC Solaris powerpcle-*-solaris*
3436PowerPC Windows NT powerpcle-*-cygwin32
3437PowerPC Netware powerpc-*-netware*
24f89b68 3438SunOS 4.0.Xi on i386 i[3456]86-*-sunos*
514e603d
AC
3439Sony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news
3440ISI Optimum V (3.05) under 4.3bsd. m68*-isi-*
d036b4d9 3441Apple Macintosh (MPW) host N/A
bf64bfd6 3442
17e78a56
AC
3443stuff.c (Program to stuff files into a specially prepared space in kdb)
3444kdb-start.c (Main loop for the standalone kernel debugger)
3445
7fcca85b
AC
3446Configurations that have been declared obsolete in this release have
3447been commented out. Unless there is activity to revive these
3448configurations, the next release of GDB will have their sources
3449permanently REMOVED.
3450
a196c81c 3451* REMOVED configurations and files
7fcca85b
AC
3452
3453Altos 3068 m68*-altos-*
3454Convex c1-*-*, c2-*-*
3455Pyramid pyramid-*-*
3456ARM RISCix arm-*-* (as host)
3457Tahoe tahoe-*-*
a196c81c 3458ser-ocd.c *-*-*
bf64bfd6 3459
6d6b80e5 3460* GDB has been converted to ISO C.
e23194cb 3461
6d6b80e5 3462GDB's source code has been converted to ISO C. In particular, the
e23194cb
EZ
3463sources are fully protoized, and rely on standard headers being
3464present.
3465
bf64bfd6
AC
3466* Other news:
3467
e23194cb
EZ
3468* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM.
3469
3470* The MI enabled by default.
3471
3472The new machine oriented interface (MI) introduced in GDB 5.0 has been
3473revised and enabled by default. Packages which use GDB as a debugging
3474engine behind a UI or another front end are encouraged to switch to
3475using the GDB/MI interface, instead of the old annotations interface
3476which is now deprecated.
3477
3478* Support for debugging Pascal programs.
3479
3480GDB now includes support for debugging Pascal programs. The following
3481main features are supported:
3482
3483 - Pascal-specific data types such as sets;
3484
3485 - automatic recognition of Pascal sources based on file-name
3486 extension;
3487
3488 - Pascal-style display of data types, variables, and functions;
3489
3490 - a Pascal expression parser.
3491
3492However, some important features are not yet supported.
3493
3494 - Pascal string operations are not supported at all;
3495
3496 - there are some problems with boolean types;
3497
3498 - Pascal type hexadecimal constants are not supported
3499 because they conflict with the internal variables format;
3500
3501 - support for Pascal objects and classes is not full yet;
3502
3503 - unlike Pascal, GDB is case-sensitive for symbol names.
3504
3505* Changes in completion.
3506
3507Commands such as `shell', `run' and `set args', which pass arguments
3508to inferior programs, now complete on file names, similar to what
3509users expect at the shell prompt.
3510
3511Commands which accept locations, such as `disassemble', `print',
3512`breakpoint', `until', etc. now complete on filenames as well as
3513program symbols. Thus, if you type "break foob TAB", and the source
3514files linked into the programs include `foobar.c', that file name will
3515be one of the candidates for completion. However, file names are not
3516considered for completion after you typed a colon that delimits a file
3517name from a name of a function in that file, as in "break foo.c:bar".
3518
3519`set demangle-style' completes on available demangling styles.
3520
3521* New platform-independent commands:
3522
3523It is now possible to define a post-hook for a command as well as a
3524hook that runs before the command. For more details, see the
3525documentation of `hookpost' in the GDB manual.
3526
3527* Changes in GNU/Linux native debugging.
3528
d7275149
MK
3529Support for debugging multi-threaded programs has been completely
3530revised for all platforms except m68k and sparc. You can now debug as
3531many threads as your system allows you to have.
3532
e23194cb
EZ
3533Attach/detach is supported for multi-threaded programs.
3534
d7275149
MK
3535Support for SSE registers was added for x86. This doesn't work for
3536multi-threaded programs though.
e23194cb
EZ
3537
3538* Changes in MIPS configurations.
bf64bfd6
AC
3539
3540Multi-arch support is enabled for all MIPS configurations.
3541
e23194cb
EZ
3542GDB can now be built as native debugger on SGI Irix 6.x systems for
3543debugging n32 executables. (Debugging 64-bit executables is not yet
3544supported.)
3545
3546* Unified support for hardware watchpoints in all x86 configurations.
3547
3548Most (if not all) native x86 configurations support hardware-assisted
3549breakpoints and watchpoints in a unified manner. This support
3550implements debug register sharing between watchpoints, which allows to
3551put a virtually infinite number of watchpoints on the same address,
3552and also supports watching regions up to 16 bytes with several debug
3553registers.
3554
3555The new maintenance command `maintenance show-debug-regs' toggles
3556debugging print-outs in functions that insert, remove, and test
3557watchpoints and hardware breakpoints.
3558
3559* Changes in the DJGPP native configuration.
3560
3561New command ``info dos sysinfo'' displays assorted information about
3562the CPU, OS, memory, and DPMI server.
3563
3564New commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt''
3565display information about segment descriptors stored in GDT, LDT, and
3566IDT.
3567
3568New commands ``info dos pde'' and ``info dos pte'' display entries
3569from Page Directory and Page Tables (for now works with CWSDPMI only).
3570New command ``info dos address-pte'' displays the Page Table entry for
3571a given linear address.
3572
3573GDB can now pass command lines longer than 126 characters to the
3574program being debugged (requires an update to the libdbg.a library
3575which is part of the DJGPP development kit).
3576
3577DWARF2 debug info is now supported.
3578
6c56c069
EZ
3579It is now possible to `step' and `next' through calls to `longjmp'.
3580
e23194cb
EZ
3581* Changes in documentation.
3582
3583All GDB documentation was converted to GFDL, the GNU Free
3584Documentation License.
3585
3586Tracepoints-related commands are now fully documented in the GDB
3587manual.
3588
3589TUI, the Text-mode User Interface, is now documented in the manual.
3590
3591Tracepoints-related commands are now fully documented in the GDB
3592manual.
3593
3594The "GDB Internals" manual now has an index. It also includes
3595documentation of `ui_out' functions, GDB coding standards, x86
3596hardware watchpoints, and memory region attributes.
3597
5d6640b1
AC
3598* GDB's version number moved to ``version.in''
3599
3600The Makefile variable VERSION has been replaced by the file
3601``version.in''. People creating GDB distributions should update the
3602contents of this file.
3603
1a1d8446
AC
3604* gdba.el deleted
3605
3606GUD support is now a standard part of the EMACS distribution.
139760b7 3607
9debab2f 3608*** Changes in GDB 5.0:
7a292a7a 3609
c63ce875
EZ
3610* Improved support for debugging FP programs on x86 targets
3611
3612Unified and much-improved support for debugging floating-point
3613programs on all x86 targets. In particular, ``info float'' now
3614displays the FP registers in the same format on all x86 targets, with
3615greater level of detail.
3616
3617* Improvements and bugfixes in hardware-assisted watchpoints
3618
3619It is now possible to watch array elements, struct members, and
3620bitfields with hardware-assisted watchpoints. Data-read watchpoints
3621on x86 targets no longer erroneously trigger when the address is
3622written.
3623
3624* Improvements in the native DJGPP version of GDB
3625
3626The distribution now includes all the scripts and auxiliary files
3627necessary to build the native DJGPP version on MS-DOS/MS-Windows
3628machines ``out of the box''.
3629
3630The DJGPP version can now debug programs that use signals. It is
3631possible to catch signals that happened in the debuggee, deliver
3632signals to it, interrupt it with Ctrl-C, etc. (Previously, a signal
3633would kill the program being debugged.) Programs that hook hardware
3634interrupts (keyboard, timer, etc.) can also be debugged.
3635
3636It is now possible to debug DJGPP programs that redirect their
3637standard handles or switch them to raw (as opposed to cooked) mode, or
3638even close them. The command ``run < foo > bar'' works as expected,
3639and ``info terminal'' reports useful information about the debuggee's
3640terminal, including raw/cooked mode, redirection, etc.
3641
3642The DJGPP version now uses termios functions for console I/O, which
3643enables debugging graphics programs. Interrupting GDB with Ctrl-C
3644also works.
3645
3646DOS-style file names with drive letters are now fully supported by
3647GDB.
3648
3649It is now possible to debug DJGPP programs that switch their working
3650directory. It is also possible to rerun the debuggee any number of
3651times without restarting GDB; thus, you can use the same setup,
3652breakpoints, etc. for many debugging sessions.
3653
ed9a39eb
JM
3654* New native configurations
3655
3656ARM GNU/Linux arm*-*-linux*
afc05dd4 3657PowerPC GNU/Linux powerpc-*-linux*
ed9a39eb 3658
7a292a7a
SS
3659* New targets
3660
96baa820 3661Motorola MCore mcore-*-*
adf40b2e
JM
3662x86 VxWorks i[3456]86-*-vxworks*
3663PowerPC VxWorks powerpc-*-vxworks*
7a292a7a
SS
3664TI TMS320C80 tic80-*-*
3665
085dd6e6
JM
3666* OBSOLETE configurations
3667
3668Altos 3068 m68*-altos-*
3669Convex c1-*-*, c2-*-*
9846de1b 3670Pyramid pyramid-*-*
ed9a39eb 3671ARM RISCix arm-*-* (as host)
104c1213 3672Tahoe tahoe-*-*
7a292a7a 3673
9debab2f
AC
3674Configurations that have been declared obsolete will be commented out,
3675but the code will be left in place. If there is no activity to revive
3676these configurations before the next release of GDB, the sources will
3677be permanently REMOVED.
3678
5330533d
SS
3679* Gould support removed
3680
3681Support for the Gould PowerNode and NP1 has been removed.
3682
bc9e5bbf
AC
3683* New features for SVR4
3684
3685On SVR4 native platforms (such as Solaris), if you attach to a process
3686without first loading a symbol file, GDB will now attempt to locate and
3687load symbols from the running process's executable file.
3688
3689* Many C++ enhancements
3690
3691C++ support has been greatly improved. Overload resolution now works properly
3692in almost all cases. RTTI support is on the way.
3693
adf40b2e
JM
3694* Remote targets can connect to a sub-program
3695
3696A popen(3) style serial-device has been added. This device starts a
3697sub-process (such as a stand-alone simulator) and then communicates
3698with that. The sub-program to run is specified using the syntax
3699``|<program> <args>'' vis:
3700
3701 (gdb) set remotedebug 1
3702 (gdb) target extended-remote |mn10300-elf-sim program-args
3703
43e526b9
JM
3704* MIPS 64 remote protocol
3705
3706A long standing bug in the mips64 remote protocol where by GDB
3707expected certain 32 bit registers (ex SR) to be transfered as 32
3708instead of 64 bits has been fixed.
3709
3710The command ``set remote-mips64-transfers-32bit-regs on'' has been
3711added to provide backward compatibility with older versions of GDB.
3712
96baa820
JM
3713* ``set remotebinarydownload'' replaced by ``set remote X-packet''
3714
3715The command ``set remotebinarydownload'' command has been replaced by
3716``set remote X-packet''. Other commands in ``set remote'' family
3717include ``set remote P-packet''.
3718
11cf8741
JM
3719* Breakpoint commands accept ranges.
3720
3721The breakpoint commands ``enable'', ``disable'', and ``delete'' now
3722accept a range of breakpoints, e.g. ``5-7''. The tracepoint command
3723``tracepoint passcount'' also accepts a range of tracepoints.
3724
7876dd43
DB
3725* ``apropos'' command added.
3726
3727The ``apropos'' command searches through command names and
3728documentation strings, printing out matches, making it much easier to
3729try to find a command that does what you are looking for.
3730
bc9e5bbf
AC
3731* New MI interface
3732
3733A new machine oriented interface (MI) has been added to GDB. This
3734interface is designed for debug environments running GDB as a separate
7162c0ca
EZ
3735process. This is part of the long term libGDB project. See the
3736"GDB/MI" chapter of the GDB manual for further information. It can be
3737enabled by configuring with:
bc9e5bbf
AC
3738
3739 .../configure --enable-gdbmi
3740
c906108c
SS
3741*** Changes in GDB-4.18:
3742
3743* New native configurations
3744
3745HP-UX 10.20 hppa*-*-hpux10.20
3746HP-UX 11.x hppa*-*-hpux11.0*
55241689 3747M68K GNU/Linux m68*-*-linux*
c906108c
SS
3748
3749* New targets
3750
3751Fujitsu FR30 fr30-*-elf*
3752Intel StrongARM strongarm-*-*
3753Mitsubishi D30V d30v-*-*
3754
3755* OBSOLETE configurations
3756
3757Gould PowerNode, NP1 np1-*-*, pn-*-*
3758
3759Configurations that have been declared obsolete will be commented out,
3760but the code will be left in place. If there is no activity to revive
3761these configurations before the next release of GDB, the sources will
3762be permanently REMOVED.
3763
3764* ANSI/ISO C
3765
3766As a compatibility experiment, GDB's source files buildsym.h and
3767buildsym.c have been converted to pure standard C, no longer
3768containing any K&R compatibility code. We believe that all systems in
3769use today either come with a standard C compiler, or have a GCC port
3770available. If this is not true, please report the affected
3771configuration to bug-gdb@gnu.org immediately. See the README file for
3772information about getting a standard C compiler if you don't have one
3773already.
3774
3775* Readline 2.2
3776
3777GDB now uses readline 2.2.
3778
3779* set extension-language
3780
3781You can now control the mapping between filename extensions and source
3782languages by using the `set extension-language' command. For instance,
3783you can ask GDB to treat .c files as C++ by saying
3784 set extension-language .c c++
3785The command `info extensions' lists all of the recognized extensions
3786and their associated languages.
3787
3788* Setting processor type for PowerPC and RS/6000
3789
3790When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
3791you can use the `set processor' command to specify what variant of the
3792PowerPC family you are debugging. The command
3793
3794 set processor NAME
3795
3796sets the PowerPC/RS6000 variant to NAME. GDB knows about the
3797following PowerPC and RS6000 variants:
3798
3799 ppc-uisa PowerPC UISA - a PPC processor as viewed by user-level code
3800 rs6000 IBM RS6000 ("POWER") architecture, user-level view
3801 403 IBM PowerPC 403
3802 403GC IBM PowerPC 403GC
3803 505 Motorola PowerPC 505
3804 860 Motorola PowerPC 860 or 850
3805 601 Motorola PowerPC 601
3806 602 Motorola PowerPC 602
3807 603 Motorola/IBM PowerPC 603 or 603e
3808 604 Motorola PowerPC 604 or 604e
3809 750 Motorola/IBM PowerPC 750 or 750
3810
3811At the moment, this command just tells GDB what to name the
3812special-purpose processor registers. Since almost all the affected
3813registers are inaccessible to user-level programs, this command is
3814only useful for remote debugging in its present form.
3815
3816* HP-UX support
3817
3818Thanks to a major code donation from Hewlett-Packard, GDB now has much
3819more extensive support for HP-UX. Added features include shared
3820library support, kernel threads and hardware watchpoints for 11.00,
3821support for HP's ANSI C and C++ compilers, and a compatibility mode
3822for xdb and dbx commands.
3823
3824* Catchpoints
3825
3826HP's donation includes the new concept of catchpoints, which is a
3827generalization of the old catch command. On HP-UX, it is now possible
3828to catch exec, fork, and vfork, as well as library loading.
3829
3830This means that the existing catch command has changed; its first
3831argument now specifies the type of catch to be set up. See the
3832output of "help catch" for a list of catchpoint types.
3833
3834* Debugging across forks
3835
3836On HP-UX, you can choose which process to debug when a fork() happens
3837in the inferior.
3838
3839* TUI
3840
3841HP has donated a curses-based terminal user interface (TUI). To get
3842it, build with --enable-tui. Although this can be enabled for any
3843configuration, at present it only works for native HP debugging.
3844
3845* GDB remote protocol additions
3846
3847A new protocol packet 'X' that writes binary data is now available.
3848Default behavior is to try 'X', then drop back to 'M' if the stub
3849fails to respond. The settable variable `remotebinarydownload'
3850allows explicit control over the use of 'X'.
3851
3852For 64-bit targets, the memory packets ('M' and 'm') can now contain a
3853full 64-bit address. The command
3854
3855 set remoteaddresssize 32
3856
3857can be used to revert to the old behaviour. For existing remote stubs
3858the change should not be noticed, as the additional address information
3859will be discarded.
3860
3861In order to assist in debugging stubs, you may use the maintenance
3862command `packet' to send any text string to the stub. For instance,
3863
3864 maint packet heythere
3865
3866sends the packet "$heythere#<checksum>". Note that it is very easy to
3867disrupt a debugging session by sending the wrong packet at the wrong
3868time.
3869
3870The compare-sections command allows you to compare section data on the
3871target to what is in the executable file without uploading or
3872downloading, by comparing CRC checksums.
3873
3874* Tracing can collect general expressions
3875
3876You may now collect general expressions at tracepoints. This requires
3877further additions to the target-side stub; see tracepoint.c and
3878doc/agentexpr.texi for further details.
3879
3880* mask-address variable for Mips
3881
3882For Mips targets, you may control the zeroing of the upper 32 bits of
3883a 64-bit address by entering `set mask-address on'. This is mainly
3884of interest to users of embedded R4xxx and R5xxx processors.
3885
3886* Higher serial baud rates
3887
3888GDB's serial code now allows you to specify baud rates 57600, 115200,
3889230400, and 460800 baud. (Note that your host system may not be able
3890to achieve all of these rates.)
3891
3892* i960 simulator
3893
3894The i960 configuration now includes an initial implementation of a
3895builtin simulator, contributed by Jim Wilson.
3896
3897
3898*** Changes in GDB-4.17:
3899
3900* New native configurations
3901
3902Alpha GNU/Linux alpha*-*-linux*
3903Unixware 2.x i[3456]86-unixware2*
3904Irix 6.x mips*-sgi-irix6*
3905PowerPC GNU/Linux powerpc-*-linux*
3906PowerPC Solaris powerpcle-*-solaris*
3907Sparc GNU/Linux sparc-*-linux*
3908Motorola sysV68 R3V7.1 m68k-motorola-sysv
3909
3910* New targets
3911
3912Argonaut Risc Chip (ARC) arc-*-*
3913Hitachi H8/300S h8300*-*-*
3914Matsushita MN10200 w/simulator mn10200-*-*
3915Matsushita MN10300 w/simulator mn10300-*-*
3916MIPS NEC VR4100 mips64*vr4100*{,el}-*-elf*
3917MIPS NEC VR5000 mips64*vr5000*{,el}-*-elf*
3918MIPS Toshiba TX39 mips64*tx39*{,el}-*-elf*
3919Mitsubishi D10V w/simulator d10v-*-*
3920Mitsubishi M32R/D w/simulator m32r-*-elf*
3921Tsqware Sparclet sparclet-*-*
3922NEC V850 w/simulator v850-*-*
3923
3924* New debugging protocols
3925
3926ARM with RDI protocol arm*-*-*
3927M68K with dBUG monitor m68*-*-{aout,coff,elf}
3928DDB and LSI variants of PMON protocol mips*-*-*
3929PowerPC with DINK32 monitor powerpc{,le}-*-eabi
3930PowerPC with SDS protocol powerpc{,le}-*-eabi
3931Macraigor OCD (Wiggler) devices powerpc{,le}-*-eabi
3932
3933* DWARF 2
3934
3935All configurations can now understand and use the DWARF 2 debugging
3936format. The choice is automatic, if the symbol file contains DWARF 2
3937information.
3938
3939* Java frontend
3940
3941GDB now includes basic Java language support. This support is
3942only useful with Java compilers that produce native machine code.
3943
3944* solib-absolute-prefix and solib-search-path
3945
3946For SunOS and SVR4 shared libraries, you may now set the prefix for
3947loading absolute shared library symbol files, and the search path for
3948locating non-absolute shared library symbol files.
3949
3950* Live range splitting
3951
3952GDB can now effectively debug code for which GCC has performed live
3953range splitting as part of its optimization. See gdb/doc/LRS for
3954more details on the expected format of the stabs information.
3955
3956* Hurd support
3957
3958GDB's support for the GNU Hurd, including thread debugging, has been
3959updated to work with current versions of the Hurd.
3960
3961* ARM Thumb support
3962
3963GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit
3964instruction set. ARM GDB automatically detects when Thumb
3965instructions are in use, and adjusts disassembly and backtracing
3966accordingly.
3967
3968* MIPS16 support
3969
3970GDB's MIPS target configurations now handle the MIP16 16-bit
3971instruction set.
3972
3973* Overlay support
3974
3975GDB now includes support for overlays; if an executable has been
3976linked such that multiple sections are based at the same address, GDB
3977will decide which section to use for symbolic info. You can choose to
3978control the decision manually, using overlay commands, or implement
3979additional target-side support and use "overlay load-target" to bring
3980in the overlay mapping. Do "help overlay" for more detail.
3981
3982* info symbol
3983
3984The command "info symbol <address>" displays information about
3985the symbol at the specified address.
3986
3987* Trace support
3988
3989The standard remote protocol now includes an extension that allows
3990asynchronous collection and display of trace data. This requires
3991extensive support in the target-side debugging stub. Tracing mode
3992includes a new interaction mode in GDB and new commands: see the
3993file tracepoint.c for more details.
3994
3995* MIPS simulator
3996
3997Configurations for embedded MIPS now include a simulator contributed
3998by Cygnus Solutions. The simulator supports the instruction sets
3999of most MIPS variants.
4000
4001* Sparc simulator
4002
4003Sparc configurations may now include the ERC32 simulator contributed
4004by the European Space Agency. The simulator is not built into
4005Sparc targets by default; configure with --enable-sim to include it.
4006
4007* set architecture
4008
4009For target configurations that may include multiple variants of a
4010basic architecture (such as MIPS and SH), you may now set the
4011architecture explicitly. "set arch" sets, "info arch" lists
4012the possible architectures.
4013
4014*** Changes in GDB-4.16:
4015
4016* New native configurations
4017
4018Windows 95, x86 Windows NT i[345]86-*-cygwin32
4019M68K NetBSD m68k-*-netbsd*
4020PowerPC AIX 4.x powerpc-*-aix*
4021PowerPC MacOS powerpc-*-macos*
4022PowerPC Windows NT powerpcle-*-cygwin32
4023RS/6000 AIX 4.x rs6000-*-aix4*
4024
4025* New targets
4026
4027ARM with RDP protocol arm-*-*
4028I960 with MON960 i960-*-coff
4029MIPS VxWorks mips*-*-vxworks*
4030MIPS VR4300 with PMON mips64*vr4300{,el}-*-elf*
4031PowerPC with PPCBUG monitor powerpc{,le}-*-eabi*
4032Hitachi SH3 sh-*-*
4033Matra Sparclet sparclet-*-*
4034
4035* PowerPC simulator
4036
4037The powerpc-eabi configuration now includes the PSIM simulator,
4038contributed by Andrew Cagney, with assistance from Mike Meissner.
4039PSIM is a very elaborate model of the PowerPC, including not only
4040basic instruction set execution, but also details of execution unit
4041performance and I/O hardware. See sim/ppc/README for more details.
4042
4043* Solaris 2.5
4044
4045GDB now works with Solaris 2.5.
4046
4047* Windows 95/NT native
4048
4049GDB will now work as a native debugger on Windows 95 and Windows NT.
4050To build it from source, you must use the "gnu-win32" environment,
4051which uses a DLL to emulate enough of Unix to run the GNU tools.
4052Further information, binaries, and sources are available at
4053ftp.cygnus.com, under pub/gnu-win32.
4054
4055* dont-repeat command
4056
4057If a user-defined command includes the command `dont-repeat', then the
4058command will not be repeated if the user just types return. This is
4059useful if the command is time-consuming to run, so that accidental
4060extra keystrokes don't run the same command many times.
4061
4062* Send break instead of ^C
4063
4064The standard remote protocol now includes an option to send a break
4065rather than a ^C to the target in order to interrupt it. By default,
4066GDB will send ^C; to send a break, set the variable `remotebreak' to 1.
4067
4068* Remote protocol timeout
4069
4070The standard remote protocol includes a new variable `remotetimeout'
4071that allows you to set the number of seconds before GDB gives up trying
4072to read from the target. The default value is 2.
4073
4074* Automatic tracking of dynamic object loading (HPUX and Solaris only)
4075
4076By default GDB will automatically keep track of objects as they are
4077loaded and unloaded by the dynamic linker. By using the command `set
4078stop-on-solib-events 1' you can arrange for GDB to stop the inferior
4079when shared library events occur, thus allowing you to set breakpoints
4080in shared libraries which are explicitly loaded by the inferior.
4081
4082Note this feature does not work on hpux8. On hpux9 you must link
4083/usr/lib/end.o into your program. This feature should work
4084automatically on hpux10.
4085
4086* Irix 5.x hardware watchpoint support
4087
4088Irix 5 configurations now support the use of hardware watchpoints.
4089
4090* Mips protocol "SYN garbage limit"
4091
4092When debugging a Mips target using the `target mips' protocol, you
4093may set the number of characters that GDB will ignore by setting
4094the `syn-garbage-limit'. A value of -1 means that GDB will ignore
4095every character. The default value is 1050.
4096
4097* Recording and replaying remote debug sessions
4098
4099If you set `remotelogfile' to the name of a file, gdb will write to it
4100a recording of a remote debug session. This recording may then be
4101replayed back to gdb using "gdbreplay". See gdbserver/README for
4102details. This is useful when you have a problem with GDB while doing
4103remote debugging; you can make a recording of the session and send it
4104to someone else, who can then recreate the problem.
4105
4106* Speedups for remote debugging
4107
4108GDB includes speedups for downloading and stepping MIPS systems using
4109the IDT monitor, fast downloads to the Hitachi SH E7000 emulator,
4110and more efficient S-record downloading.
4111
4112* Memory use reductions and statistics collection
4113
4114GDB now uses less memory and reports statistics about memory usage.
4115Try the `maint print statistics' command, for example.
4116
4117*** Changes in GDB-4.15:
4118
4119* Psymtabs for XCOFF
4120
4121The symbol reader for AIX GDB now uses partial symbol tables. This
4122can greatly improve startup time, especially for large executables.
4123
4124* Remote targets use caching
4125
4126Remote targets now use a data cache to speed up communication with the
4127remote side. The data cache could lead to incorrect results because
4128it doesn't know about volatile variables, thus making it impossible to
4129debug targets which use memory mapped I/O devices. `set remotecache
4130off' turns the the data cache off.
4131
4132* Remote targets may have threads
4133
4134The standard remote protocol now includes support for multiple threads
4135in the target system, using new protocol commands 'H' and 'T'. See
4136gdb/remote.c for details.
4137
4138* NetROM support
4139
4140If GDB is configured with `--enable-netrom', then it will include
4141support for the NetROM ROM emulator from XLNT Designs. The NetROM
4142acts as though it is a bank of ROM on the target board, but you can
4143write into it over the network. GDB's support consists only of
4144support for fast loading into the emulated ROM; to debug, you must use
4145another protocol, such as standard remote protocol. The usual
4146sequence is something like
4147
4148 target nrom <netrom-hostname>
4149 load <prog>
4150 target remote <netrom-hostname>:1235
4151
4152* Macintosh host
4153
4154GDB now includes support for the Apple Macintosh, as a host only. It
4155may be run as either an MPW tool or as a standalone application, and
4156it can debug through the serial port. All the usual GDB commands are
4157available, but to the target command, you must supply "serial" as the
4158device type instead of "/dev/ttyXX". See mpw-README in the main
4159directory for more information on how to build. The MPW configuration
4160scripts */mpw-config.in support only a few targets, and only the
4161mips-idt-ecoff target has been tested.
4162
4163* Autoconf
4164
4165GDB configuration now uses autoconf. This is not user-visible,
4166but does simplify configuration and building.
4167
4168* hpux10
4169
4170GDB now supports hpux10.
4171
4172*** Changes in GDB-4.14:
4173
4174* New native configurations
4175
4176x86 FreeBSD i[345]86-*-freebsd
4177x86 NetBSD i[345]86-*-netbsd
4178NS32k NetBSD ns32k-*-netbsd
4179Sparc NetBSD sparc-*-netbsd
4180
4181* New targets
4182
4183A29K VxWorks a29k-*-vxworks
4184HP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro*
4185CPU32 EST-300 emulator m68*-*-est*
4186PowerPC ELF powerpc-*-elf
4187WDC 65816 w65-*-*
4188
4189* Alpha OSF/1 support for procfs
4190
4191GDB now supports procfs under OSF/1-2.x and higher, which makes it
4192possible to attach to running processes. As the mounting of the /proc
4193filesystem is optional on the Alpha, GDB automatically determines
4194the availability of /proc during startup. This can lead to problems
4195if /proc is unmounted after GDB has been started.
4196
4197* Arguments to user-defined commands
4198
4199User commands may accept up to 10 arguments separated by whitespace.
4200Arguments are accessed within the user command via $arg0..$arg9. A
4201trivial example:
4202define adder
4203 print $arg0 + $arg1 + $arg2
4204
4205To execute the command use:
4206adder 1 2 3
4207
4208Defines the command "adder" which prints the sum of its three arguments.
4209Note the arguments are text substitutions, so they may reference variables,
4210use complex expressions, or even perform inferior function calls.
4211
4212* New `if' and `while' commands
4213
4214This makes it possible to write more sophisticated user-defined
4215commands. Both commands take a single argument, which is the
4216expression to evaluate, and must be followed by the commands to
4217execute, one per line, if the expression is nonzero, the list being
4218terminated by the word `end'. The `if' command list may include an
4219`else' word, which causes the following commands to be executed only
4220if the expression is zero.
4221
4222* Fortran source language mode
4223
4224GDB now includes partial support for Fortran 77. It will recognize
4225Fortran programs and can evaluate a subset of Fortran expressions, but
4226variables and functions may not be handled correctly. GDB will work
4227with G77, but does not yet know much about symbols emitted by other
4228Fortran compilers.
4229
4230* Better HPUX support
4231
4232Most debugging facilities now work on dynamic executables for HPPAs
4233running hpux9 or later. You can attach to running dynamically linked
4234processes, but by default the dynamic libraries will be read-only, so
4235for instance you won't be able to put breakpoints in them. To change
4236that behavior do the following before running the program:
4237
4238 adb -w a.out
4239 __dld_flags?W 0x5
4240 control-d
4241
4242This will cause the libraries to be mapped private and read-write.
4243To revert to the normal behavior, do this:
4244
4245 adb -w a.out
4246 __dld_flags?W 0x4
4247 control-d
4248
4249You cannot set breakpoints or examine data in the library until after
4250the library is loaded if the function/data symbols do not have
4251external linkage.
4252
4253GDB can now also read debug symbols produced by the HP C compiler on
4254HPPAs (sorry, no C++, Fortran or 68k support).
4255
4256* Target byte order now dynamically selectable
4257
4258You can choose which byte order to use with a target system, via the
4259commands "set endian big" and "set endian little", and you can see the
4260current setting by using "show endian". You can also give the command
4261"set endian auto", in which case GDB will use the byte order
4262associated with the executable. Currently, only embedded MIPS
4263configurations support dynamic selection of target byte order.
4264
4265* New DOS host serial code
4266
4267This version uses DPMI interrupts to handle buffered I/O, so you
4268no longer need to run asynctsr when debugging boards connected to
4269a PC's serial port.
4270
4271*** Changes in GDB-4.13:
4272
4273* New "complete" command
4274
4275This lists all the possible completions for the rest of the line, if it
4276were to be given as a command itself. This is intended for use by emacs.
4277
4278* Trailing space optional in prompt
4279
4280"set prompt" no longer adds a space for you after the prompt you set. This
4281allows you to set a prompt which ends in a space or one that does not.
4282
4283* Breakpoint hit counts
4284
4285"info break" now displays a count of the number of times the breakpoint
4286has been hit. This is especially useful in conjunction with "ignore"; you
4287can ignore a large number of breakpoint hits, look at the breakpoint info
4288to see how many times the breakpoint was hit, then run again, ignoring one
4289less than that number, and this will get you quickly to the last hit of
4290that breakpoint.
4291
4292* Ability to stop printing at NULL character
4293
4294"set print null-stop" will cause GDB to stop printing the characters of
4295an array when the first NULL is encountered. This is useful when large
4296arrays actually contain only short strings.
4297
4298* Shared library breakpoints
4299
4300In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set
4301breakpoints in shared libraries before the executable is run.
4302
4303* Hardware watchpoints
4304
4305There is a new hardware breakpoint for the watch command for sparclite
4306targets. See gdb/sparclite/hw_breakpoint.note.
4307
55241689 4308Hardware watchpoints are also now supported under GNU/Linux.
c906108c
SS
4309
4310* Annotations
4311
4312Annotations have been added. These are for use with graphical interfaces,
4313and are still experimental. Currently only gdba.el uses these.
4314
4315* Improved Irix 5 support
4316
4317GDB now works properly with Irix 5.2.
4318
4319* Improved HPPA support
4320
4321GDB now works properly with the latest GCC and GAS.
4322
4323* New native configurations
4324
4325Sequent PTX4 i[34]86-sequent-ptx4
4326HPPA running OSF/1 hppa*-*-osf*
4327Atari TT running SVR4 m68*-*-sysv4*
4328RS/6000 LynxOS rs6000-*-lynxos*
4329
4330* New targets
4331
4332OS/9000 i[34]86-*-os9k
4333MIPS R4000 mips64*{,el}-*-{ecoff,elf}
4334Sparc64 sparc64-*-*
4335
4336* Hitachi SH7000 and E7000-PC ICE support
4337
4338There is now support for communicating with the Hitachi E7000-PC ICE.
4339This is available automatically when GDB is configured for the SH.
4340
4341* Fixes
4342
4343As usual, a variety of small fixes and improvements, both generic
4344and configuration-specific. See the ChangeLog for more detail.
4345
4346*** Changes in GDB-4.12:
4347
4348* Irix 5 is now supported
4349
4350* HPPA support
4351
4352GDB-4.12 on the HPPA has a number of changes which make it unable
4353to debug the output from the currently released versions of GCC and
4354GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36). Until the next major release
4355of GCC and GAS, versions of these tools designed to work with GDB-4.12
4356can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist.
4357
4358
4359*** Changes in GDB-4.11:
4360
4361* User visible changes:
4362
4363* Remote Debugging
4364
4365The "set remotedebug" option is now consistent between the mips remote
4366target, remote targets using the gdb-specific protocol, UDI (AMD's
4367debug protocol for the 29k) and the 88k bug monitor. It is now an
4368integer specifying a debug level (normally 0 or 1, but 2 means more
4369debugging info for the mips target).
4370
4371* DEC Alpha native support
4372
4373GDB now works on the DEC Alpha. GCC 2.4.5 does not produce usable
4374debug info, but GDB works fairly well with the DEC compiler and should
4375work with a future GCC release. See the README file for a few
4376Alpha-specific notes.
4377
4378* Preliminary thread implementation
4379
4380GDB now has preliminary thread support for both SGI/Irix and LynxOS.
4381
4382* LynxOS native and target support for 386
4383
4384This release has been hosted on LynxOS 2.2, and also can be configured
4385to remotely debug programs running under LynxOS (see gdb/gdbserver/README
4386for details).
4387
4388* Improvements in C++ mangling/demangling.
4389
4390This release has much better g++ debugging, specifically in name
4391mangling/demangling, virtual function calls, print virtual table,
4392call methods, ...etc.
4393
4394*** Changes in GDB-4.10:
4395
4396 * User visible changes:
4397
4398Remote debugging using the GDB-specific (`target remote') protocol now
4399supports the `load' command. This is only useful if you have some
4400other way of getting the stub to the target system, and you can put it
4401somewhere in memory where it won't get clobbered by the download.
4402
4403Filename completion now works.
4404
4405When run under emacs mode, the "info line" command now causes the
4406arrow to point to the line specified. Also, "info line" prints
4407addresses in symbolic form (as well as hex).
4408
4409All vxworks based targets now support a user settable option, called
4410vxworks-timeout. This option represents the number of seconds gdb
4411should wait for responses to rpc's. You might want to use this if
4412your vxworks target is, perhaps, a slow software simulator or happens
4413to be on the far side of a thin network line.
4414
4415 * DEC alpha support
4416
4417This release contains support for using a DEC alpha as a GDB host for
4418cross debugging. Native alpha debugging is not supported yet.
4419
4420
4421*** Changes in GDB-4.9:
4422
4423 * Testsuite
4424
4425This is the first GDB release which is accompanied by a matching testsuite.
4426The testsuite requires installation of dejagnu, which should be available
4427via ftp from most sites that carry GNU software.
4428
4429 * C++ demangling
4430
4431'Cfront' style demangling has had its name changed to 'ARM' style, to
4432emphasize that it was written from the specifications in the C++ Annotated
4433Reference Manual, not necessarily to be compatible with AT&T cfront. Despite
4434disclaimers, it still generated too much confusion with users attempting to
4435use gdb with AT&T cfront.
4436
4437 * Simulators
4438
4439GDB now uses a standard remote interface to a simulator library.
4440So far, the library contains simulators for the Zilog Z8001/2, the
4441Hitachi H8/300, H8/500 and Super-H.
4442
4443 * New targets supported
4444
4445H8/300 simulator h8300-hitachi-hms or h8300hms
4446H8/500 simulator h8500-hitachi-hms or h8500hms
4447SH simulator sh-hitachi-hms or sh
4448Z8000 simulator z8k-zilog-none or z8ksim
4449IDT MIPS board over serial line mips-idt-ecoff
4450
4451Cross-debugging to GO32 targets is supported. It requires a custom
4452version of the i386-stub.c module which is integrated with the
4453GO32 memory extender.
4454
4455 * New remote protocols
4456
4457MIPS remote debugging protocol.
4458
4459 * New source languages supported
4460
4461This version includes preliminary support for Chill, a Pascal like language
4462used by telecommunications companies. Chill support is also being integrated
4463into the GNU compiler, but we don't know when it will be publically available.
4464
4465
4466*** Changes in GDB-4.8:
4467
4468 * HP Precision Architecture supported
4469
4470GDB now supports HP PA-RISC machines running HPUX. A preliminary
4471version of this support was available as a set of patches from the
4472University of Utah. GDB does not support debugging of programs
4473compiled with the HP compiler, because HP will not document their file
4474format. Instead, you must use GCC (version 2.3.2 or later) and PA-GAS
4475(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z).
4476
4477Many problems in the preliminary version have been fixed.
4478
4479 * Faster and better demangling
4480
4481We have improved template demangling and fixed numerous bugs in the GNU style
4482demangler. It can now handle type modifiers such as `static' or `const'. Wide
4483character types (wchar_t) are now supported. Demangling of each symbol is now
4484only done once, and is cached when the symbol table for a file is read in.
4485This results in a small increase in memory usage for C programs, a moderate
4486increase in memory usage for C++ programs, and a fantastic speedup in
4487symbol lookups.
4488
4489`Cfront' style demangling still doesn't work with AT&T cfront. It was written
4490from the specifications in the Annotated Reference Manual, which AT&T's
4491compiler does not actually implement.
4492
4493 * G++ multiple inheritance compiler problem
4494
4495In the 2.3.2 release of gcc/g++, how the compiler resolves multiple
4496inheritance lattices was reworked to properly discover ambiguities. We
4497recently found an example which causes this new algorithm to fail in a
4498very subtle way, producing bad debug information for those classes.
4499The file 'gcc.patch' (in this directory) can be applied to gcc to
4500circumvent the problem. A future GCC release will contain a complete
4501fix.
4502
4503The previous G++ debug info problem (mentioned below for the gdb-4.7
4504release) is fixed in gcc version 2.3.2.
4505
4506 * Improved configure script
4507
4508The `configure' script will now attempt to guess your system type if
4509you don't supply a host system type. The old scheme of supplying a
4510host system triplet is preferable over using this. All the magic is
4511done in the new `config.guess' script. Examine it for details.
4512
4513We have also brought our configure script much more in line with the FSF's
4514version. It now supports the --with-xxx options. In particular,
4515`--with-minimal-bfd' can be used to make the GDB binary image smaller.
4516The resulting GDB will not be able to read arbitrary object file formats --
4517only the format ``expected'' to be used on the configured target system.
4518We hope to make this the default in a future release.
4519
4520 * Documentation improvements
4521
4522There's new internal documentation on how to modify GDB, and how to
4523produce clean changes to the code. We implore people to read it
4524before submitting changes.
4525
4526The GDB manual uses new, sexy Texinfo conditionals, rather than arcane
4527M4 macros. The new texinfo.tex is provided in this release. Pre-built
4528`info' files are also provided. To build `info' files from scratch,
4529you will need the latest `makeinfo' release, which will be available in
4530a future texinfo-X.Y release.
4531
4532*NOTE* The new texinfo.tex can cause old versions of TeX to hang.
4533We're not sure exactly which versions have this problem, but it has
4534been seen in 3.0. We highly recommend upgrading to TeX version 3.141
4535or better. If that isn't possible, there is a patch in
4536`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work
4537around this problem.
4538
4539 * New features
4540
4541GDB now supports array constants that can be used in expressions typed in by
4542the user. The syntax is `{element, element, ...}'. Ie: you can now type
4543`print {1, 2, 3}', and it will build up an array in memory malloc'd in
4544the target program.
4545
4546The new directory `gdb/sparclite' contains a program that demonstrates
4547how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor.
4548
4549 * New native hosts supported
4550
4551HP/PA-RISC under HPUX using GNU tools hppa1.1-hp-hpux
4552386 CPUs running SCO Unix 3.2v4 i386-unknown-sco3.2v4
4553
4554 * New targets supported
4555
4556AMD 29k family via UDI a29k-amd-udi or udi29k
4557
4558 * New file formats supported
4559
4560BFD now supports reading HP/PA-RISC executables (SOM file format?),
4561HPUX core files, and SCO 3.2v2 core files.
4562
4563 * Major bug fixes
4564
4565Attaching to processes now works again; thanks for the many bug reports.
4566
4567We have also stomped on a bunch of core dumps caused by
4568printf_filtered("%s") problems.
4569
4570We eliminated a copyright problem on the rpc and ptrace header files
4571for VxWorks, which was discovered at the last minute during the 4.7
4572release. You should now be able to build a VxWorks GDB.
4573
4574You can now interrupt gdb while an attached process is running. This
4575will cause the attached process to stop, and give control back to GDB.
4576
4577We fixed problems caused by using too many file descriptors
4578for reading symbols from object files and libraries. This was
4579especially a problem for programs that used many (~100) shared
4580libraries.
4581
4582The `step' command now only enters a subroutine if there is line number
4583information for the subroutine. Otherwise it acts like the `next'
4584command. Previously, `step' would enter subroutines if there was
4585any debugging information about the routine. This avoids problems
4586when using `cc -g1' on MIPS machines.
4587
4588 * Internal improvements
4589
4590GDB's internal interfaces have been improved to make it easier to support
4591debugging of multiple languages in the future.
4592
4593GDB now uses a common structure for symbol information internally.
4594Minimal symbols (derived from linkage symbols in object files), partial
4595symbols (from a quick scan of debug information), and full symbols
4596contain a common subset of information, making it easier to write
4597shared code that handles any of them.
4598
4599 * New command line options
4600
4601We now accept --silent as an alias for --quiet.
4602
4603 * Mmalloc licensing
4604
4605The memory-mapped-malloc library is now licensed under the GNU Library
4606General Public License.
4607
4608*** Changes in GDB-4.7:
4609
4610 * Host/native/target split
4611
4612GDB has had some major internal surgery to untangle the support for
4613hosts and remote targets. Now, when you configure GDB for a remote
4614target, it will no longer load in all of the support for debugging
4615local programs on the host. When fully completed and tested, this will
4616ensure that arbitrary host/target combinations are possible.
4617
4618The primary conceptual shift is to separate the non-portable code in
4619GDB into three categories. Host specific code is required any time GDB
4620is compiled on that host, regardless of the target. Target specific
4621code relates to the peculiarities of the target, but can be compiled on
4622any host. Native specific code is everything else: it can only be
4623built when the host and target are the same system. Child process
4624handling and core file support are two common `native' examples.
4625
4626GDB's use of /proc for controlling Unix child processes is now cleaner.
4627It has been split out into a single module under the `target_ops' vector,
4628plus two native-dependent functions for each system that uses /proc.
4629
4630 * New hosts supported
4631
4632HP/Apollo 68k (under the BSD domain) m68k-apollo-bsd or apollo68bsd
4633386 CPUs running various BSD ports i386-unknown-bsd or 386bsd
4634386 CPUs running SCO Unix i386-unknown-scosysv322 or i386sco
4635
4636 * New targets supported
4637
4638Fujitsu SPARClite sparclite-fujitsu-none or sparclite
463968030 and CPU32 m68030-*-*, m68332-*-*
4640
4641 * New native hosts supported
4642
4643386 CPUs running various BSD ports i386-unknown-bsd or 386bsd
4644 (386bsd is not well tested yet)
4645386 CPUs running SCO Unix i386-unknown-scosysv322 or sco
4646
4647 * New file formats supported
4648
4649BFD now supports COFF files for the Zilog Z8000 microprocessor. It
4650supports reading of `a.out.adobe' object files, which are an a.out
4651format extended with minimal information about multiple sections.
4652
4653 * New commands
4654
4655`show copying' is the same as the old `info copying'.
4656`show warranty' is the same as `info warrantee'.
4657These were renamed for consistency. The old commands continue to work.
4658
4659`info handle' is a new alias for `info signals'.
4660
4661You can now define pre-command hooks, which attach arbitrary command
4662scripts to any command. The commands in the hook will be executed
4663prior to the user's command. You can also create a hook which will be
4664executed whenever the program stops. See gdb.texinfo.
4665
4666 * C++ improvements
4667
4668We now deal with Cfront style name mangling, and can even extract type
4669info from mangled symbols. GDB can automatically figure out which
4670symbol mangling style your C++ compiler uses.
4671
4672Calling of methods and virtual functions has been improved as well.
4673
4674 * Major bug fixes
4675
4676The crash that occured when debugging Sun Ansi-C compiled binaries is
4677fixed. This was due to mishandling of the extra N_SO stabs output
4678by the compiler.
4679
4680We also finally got Ultrix 4.2 running in house, and fixed core file
4681support, with help from a dozen people on the net.
4682
4683John M. Farrell discovered that the reason that single-stepping was so
4684slow on all of the Mips based platforms (primarily SGI and DEC) was
4685that we were trying to demangle and lookup a symbol used for internal
4686purposes on every instruction that was being stepped through. Changing
4687the name of that symbol so that it couldn't be mistaken for a C++
4688mangled symbol sped things up a great deal.
4689
4690Rich Pixley sped up symbol lookups in general by getting much smarter
4691about when C++ symbol mangling is necessary. This should make symbol
4692completion (TAB on the command line) much faster. It's not as fast as
4693we'd like, but it's significantly faster than gdb-4.6.
4694
4695 * AMD 29k support
4696
4697A new user controllable variable 'call_scratch_address' can
4698specify the location of a scratch area to be used when GDB
4699calls a function in the target. This is necessary because the
4700usual method of putting the scratch area on the stack does not work
4701in systems that have separate instruction and data spaces.
4702
4703We integrated changes to support the 29k UDI (Universal Debugger
4704Interface), but discovered at the last minute that we didn't have all
4705of the appropriate copyright paperwork. We are working with AMD to
4706resolve this, and hope to have it available soon.
4707
4708 * Remote interfaces
4709
4710We have sped up the remote serial line protocol, especially for targets
4711with lots of registers. It now supports a new `expedited status' ('T')
4712message which can be used in place of the existing 'S' status message.
4713This allows the remote stub to send only the registers that GDB
4714needs to make a quick decision about single-stepping or conditional
4715breakpoints, eliminating the need to fetch the entire register set for
4716each instruction being stepped through.
4717
4718The GDB remote serial protocol now implements a write-through cache for
4719registers, only re-reading the registers if the target has run.
4720
4721There is also a new remote serial stub for SPARC processors. You can
4722find it in gdb-4.7/gdb/sparc-stub.c. This was written to support the
4723Fujitsu SPARClite processor, but will run on any stand-alone SPARC
4724processor with a serial port.
4725
4726 * Configuration
4727
4728Configure.in files have become much easier to read and modify. A new
4729`table driven' format makes it more obvious what configurations are
4730supported, and what files each one uses.
4731
4732 * Library changes
4733
4734There is a new opcodes library which will eventually contain all of the
4735disassembly routines and opcode tables. At present, it only contains
4736Sparc and Z8000 routines. This will allow the assembler, debugger, and
4737disassembler (binutils/objdump) to share these routines.
4738
4739The libiberty library is now copylefted under the GNU Library General
4740Public License. This allows more liberal use, and was done so libg++
4741can use it. This makes no difference to GDB, since the Library License
4742grants all the rights from the General Public License.
4743
4744 * Documentation
4745
4746The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete
4747reference to the stabs symbol info used by the debugger. It is (as far
4748as we know) the only published document on this fascinating topic. We
4749encourage you to read it, compare it to the stabs information on your
4750system, and send improvements on the document in general (to
4751bug-gdb@prep.ai.mit.edu).
4752
4753And, of course, many bugs have been fixed.
4754
4755
4756*** Changes in GDB-4.6:
4757
4758 * Better support for C++ function names
4759
4760GDB now accepts as input the "demangled form" of C++ overloaded function
4761names and member function names, and can do command completion on such names
4762(using TAB, TAB-TAB, and ESC-?). The names have to be quoted with a pair of
4763single quotes. Examples are 'func (int, long)' and 'obj::operator==(obj&)'.
4764Make use of command completion, it is your friend.
4765
4766GDB also now accepts a variety of C++ mangled symbol formats. They are
4767the GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style.
4768You can tell GDB which format to use by doing a 'set demangle-style {gnu,
4769lucid, cfront, auto}'. 'gnu' is the default. Do a 'set demangle-style foo'
4770for the list of formats.
4771
4772 * G++ symbol mangling problem
4773
4774Recent versions of gcc have a bug in how they emit debugging information for
4775C++ methods (when using dbx-style stabs). The file 'gcc.patch' (in this
4776directory) can be applied to gcc to fix the problem. Alternatively, if you
4777can't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The
4778usual symptom is difficulty with setting breakpoints on methods. GDB complains
4779about the method being non-existent. (We believe that version 2.2.2 of GCC has
4780this problem.)
4781
4782 * New 'maintenance' command
4783
4784All of the commands related to hacking GDB internals have been moved out of
4785the main command set, and now live behind the 'maintenance' command. This
4786can also be abbreviated as 'mt'. The following changes were made:
4787
4788 dump-me -> maintenance dump-me
4789 info all-breakpoints -> maintenance info breakpoints
4790 printmsyms -> maintenance print msyms
4791 printobjfiles -> maintenance print objfiles
4792 printpsyms -> maintenance print psymbols
4793 printsyms -> maintenance print symbols
4794
4795The following commands are new:
4796
4797 maintenance demangle Call internal GDB demangler routine to
4798 demangle a C++ link name and prints the result.
4799 maintenance print type Print a type chain for a given symbol
4800
4801 * Change to .gdbinit file processing
4802
4803We now read the $HOME/.gdbinit file before processing the argv arguments
4804(e.g. reading symbol files or core files). This allows global parameters to
4805be set, which will apply during the symbol reading. The ./.gdbinit is still
4806read after argv processing.
4807
4808 * New hosts supported
4809
4810Solaris-2.0 !!! sparc-sun-solaris2 or sun4sol2
4811
55241689 4812GNU/Linux support i386-unknown-linux or linux
c906108c
SS
4813
4814We are also including code to support the HP/PA running BSD and HPUX. This
4815is almost guaranteed not to work, as we didn't have time to test or build it
4816for this release. We are including it so that the more adventurous (or
4817masochistic) of you can play with it. We also had major problems with the
4818fact that the compiler that we got from HP doesn't support the -g option.
4819It costs extra.
4820
4821 * New targets supported
4822
4823Hitachi H8/300 h8300-hitachi-hms or h8300hms
4824
4825 * More smarts about finding #include files
4826
4827GDB now remembers the compilation directory for all include files, and for
4828all files from which C is generated (like yacc and lex sources). This
4829greatly improves GDB's ability to find yacc/lex sources, and include files,
4830especially if you are debugging your program from a directory different from
4831the one that contains your sources.
4832
4833We also fixed a bug which caused difficulty with listing and setting
4834breakpoints in include files which contain C code. (In the past, you had to
4835try twice in order to list an include file that you hadn't looked at before.)
4836
4837 * Interesting infernals change
4838
4839GDB now deals with arbitrary numbers of sections, where the symbols for each
4840section must be relocated relative to that section's landing place in the
4841target's address space. This work was needed to support ELF with embedded
4842stabs used by Solaris-2.0.
4843
4844 * Bug fixes (of course!)
4845
4846There have been loads of fixes for the following things:
4847 mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k,
4848 i960, stabs, DOS(GO32), procfs, etc...
4849
4850See the ChangeLog for details.
4851
4852*** Changes in GDB-4.5:
4853
4854 * New machines supported (host and target)
4855
4856IBM RS6000 running AIX rs6000-ibm-aix or rs6000
4857
4858SGI Irix-4.x mips-sgi-irix4 or iris4
4859
4860 * New malloc package
4861
4862GDB now uses a new memory manager called mmalloc, based on gmalloc.
4863Mmalloc is capable of handling mutiple heaps of memory. It is also
4864capable of saving a heap to a file, and then mapping it back in later.
4865This can be used to greatly speedup the startup of GDB by using a
4866pre-parsed symbol table which lives in a mmalloc managed heap. For
4867more details, please read mmalloc/mmalloc.texi.
4868
4869 * info proc
4870
4871The 'info proc' command (SVR4 only) has been enhanced quite a bit. See
4872'help info proc' for details.
4873
4874 * MIPS ecoff symbol table format
4875
4876The code that reads MIPS symbol table format is now supported on all hosts.
4877Thanks to MIPS for releasing the sym.h and symconst.h files to make this
4878possible.
4879
4880 * File name changes for MS-DOS
4881
4882Many files in the config directories have been renamed to make it easier to
4883support GDB on MS-DOSe systems (which have very restrictive file name
4884conventions :-( ). MS-DOSe host support (under DJ Delorie's GO32
4885environment) is close to working but has some remaining problems. Note
4886that debugging of DOS programs is not supported, due to limitations
4887in the ``operating system'', but it can be used to host cross-debugging.
4888
4889 * Cross byte order fixes
4890
4891Many fixes have been made to support cross debugging of Sparc and MIPS
4892targets from hosts whose byte order differs.
4893
4894 * New -mapped and -readnow options
4895
4896If memory-mapped files are available on your system through the 'mmap'
4897system call, you can use the -mapped option on the `file' or
4898`symbol-file' commands to cause GDB to write the symbols from your
4899program into a reusable file. If the program you are debugging is
4900called `/path/fred', the mapped symbol file will be `./fred.syms'.
4901Future GDB debugging sessions will notice the presence of this file,
4902and will quickly map in symbol information from it, rather than reading
4903the symbol table from the executable program. Using the '-mapped'
4904option in a GDB `file' or `symbol-file' command has the same effect as
4905starting GDB with the '-mapped' command-line option.
4906
4907You can cause GDB to read the entire symbol table immediately by using
4908the '-readnow' option with any of the commands that load symbol table
4909information (or on the GDB command line). This makes the command
4910slower, but makes future operations faster.
4911
4912The -mapped and -readnow options are typically combined in order to
4913build a `fred.syms' file that contains complete symbol information.
4914A simple GDB invocation to do nothing but build a `.syms' file for future
4915use is:
4916
4917 gdb -batch -nx -mapped -readnow programname
4918
4919The `.syms' file is specific to the host machine on which GDB is run.
4920It holds an exact image of GDB's internal symbol table. It cannot be
4921shared across multiple host platforms.
4922
4923 * longjmp() handling
4924
4925GDB is now capable of stepping and nexting over longjmp(), _longjmp(), and
4926siglongjmp() without losing control. This feature has not yet been ported to
4927all systems. It currently works on many 386 platforms, all MIPS-based
4928platforms (SGI, DECstation, etc), and Sun3/4.
4929
4930 * Solaris 2.0
4931
4932Preliminary work has been put in to support the new Solaris OS from Sun. At
4933this time, it can control and debug processes, but it is not capable of
4934reading symbols.
4935
4936 * Bug fixes
4937
4938As always, many many bug fixes. The major areas were with g++, and mipsread.
4939People using the MIPS-based platforms should experience fewer mysterious
4940crashes and trashed symbol tables.
4941
4942*** Changes in GDB-4.4:
4943
4944 * New machines supported (host and target)
4945
4946SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
4947 (except core files)
4948BSD Reno on Vax vax-dec-bsd
4949Ultrix on Vax vax-dec-ultrix
4950
4951 * New machines supported (target)
4952
4953AMD 29000 embedded, using EBMON a29k-none-none
4954
4955 * C++ support
4956
4957GDB continues to improve its handling of C++. `References' work better.
4958The demangler has also been improved, and now deals with symbols mangled as
4959per the Annotated C++ Reference Guide.
4960
4961GDB also now handles `stabs' symbol information embedded in MIPS
4962`ecoff' symbol tables. Since the ecoff format was not easily
4963extensible to handle new languages such as C++, this appeared to be a
4964good way to put C++ debugging info into MIPS binaries. This option
4965will be supported in the GNU C compiler, version 2, when it is
4966released.
4967
4968 * New features for SVR4
4969
4970GDB now handles SVR4 shared libraries, in the same fashion as SunOS
4971shared libraries. Debugging dynamically linked programs should present
4972only minor differences from debugging statically linked programs.
4973
4974The `info proc' command will print out information about any process
4975on an SVR4 system (including the one you are debugging). At the moment,
4976it prints the address mappings of the process.
4977
4978If you bring up GDB on another SVR4 system, please send mail to
4979bug-gdb@prep.ai.mit.edu to let us know what changes were reqired (if any).
4980
4981 * Better dynamic linking support in SunOS
4982
4983Reading symbols from shared libraries which contain debugging symbols
4984now works properly. However, there remain issues such as automatic
4985skipping of `transfer vector' code during function calls, which
4986make it harder to debug code in a shared library, than to debug the
4987same code linked statically.
4988
4989 * New Getopt
4990
4991GDB is now using the latest `getopt' routines from the FSF. This
4992version accepts the -- prefix for options with long names. GDB will
4993continue to accept the old forms (-option and +option) as well.
4994Various single letter abbreviations for options have been explicity
4995added to the option table so that they won't get overshadowed in the
4996future by other options that begin with the same letter.
4997
4998 * Bugs fixed
4999
5000The `cleanup_undefined_types' bug that many of you noticed has been squashed.
5001Many assorted bugs have been handled. Many more remain to be handled.
5002See the various ChangeLog files (primarily in gdb and bfd) for details.
5003
5004
5005*** Changes in GDB-4.3:
5006
5007 * New machines supported (host and target)
5008
5009Amiga 3000 running Amix m68k-cbm-svr4 or amix
5010NCR 3000 386 running SVR4 i386-ncr-svr4 or ncr3000
5011Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
5012
5013 * Almost SCO Unix support
5014
5015We had hoped to support:
5016SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
5017(except for core file support), but we discovered very late in the release
5018that it has problems with process groups that render gdb unusable. Sorry
5019about that. I encourage people to fix it and post the fixes.
5020
5021 * Preliminary ELF and DWARF support
5022
5023GDB can read ELF object files on System V Release 4, and can handle
5024debugging records for C, in DWARF format, in ELF files. This support
5025is preliminary. If you bring up GDB on another SVR4 system, please
5026send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were
5027reqired (if any).
5028
5029 * New Readline
5030
5031GDB now uses the latest `readline' library. One user-visible change
5032is that two tabs will list possible command completions, which previously
5033required typing M-? (meta-question mark, or ESC ?).
5034
5035 * Bugs fixed
5036
5037The `stepi' bug that many of you noticed has been squashed.
5038Many bugs in C++ have been handled. Many more remain to be handled.
5039See the various ChangeLog files (primarily in gdb and bfd) for details.
5040
5041 * State of the MIPS world (in case you wondered):
5042
5043GDB can understand the symbol tables emitted by the compilers
5044supplied by most vendors of MIPS-based machines, including DEC. These
5045symbol tables are in a format that essentially nobody else uses.
5046
5047Some versions of gcc come with an assembler post-processor called
5048mips-tfile. This program is required if you want to do source-level
5049debugging of gcc-compiled programs. I believe FSF does not ship
5050mips-tfile with gcc version 1, but it will eventually come with gcc
5051version 2.
5052
5053Debugging of g++ output remains a problem. g++ version 1.xx does not
5054really support it at all. (If you're lucky, you should be able to get
5055line numbers and stack traces to work, but no parameters or local
5056variables.) With some work it should be possible to improve the
5057situation somewhat.
5058
5059When gcc version 2 is released, you will have somewhat better luck.
5060However, even then you will get confusing results for inheritance and
5061methods.
5062
5063We will eventually provide full debugging of g++ output on
5064DECstations. This will probably involve some kind of stabs-in-ecoff
5065encapulation, but the details have not been worked out yet.
5066
5067
5068*** Changes in GDB-4.2:
5069
5070 * Improved configuration
5071
5072Only one copy of `configure' exists now, and it is not self-modifying.
5073Porting BFD is simpler.
5074
5075 * Stepping improved
5076
5077The `step' and `next' commands now only stop at the first instruction
5078of a source line. This prevents the multiple stops that used to occur
5079in switch statements, for-loops, etc. `Step' continues to stop if a
5080function that has debugging information is called within the line.
5081
5082 * Bug fixing
5083
5084Lots of small bugs fixed. More remain.
5085
5086 * New host supported (not target)
5087
5088Intel 386 PC clone running Mach i386-none-mach
5089
5090
5091*** Changes in GDB-4.1:
5092
5093 * Multiple source language support
5094
5095GDB now has internal scaffolding to handle several source languages.
5096It determines the type of each source file from its filename extension,
5097and will switch expression parsing and number formatting to match the
5098language of the function in the currently selected stack frame.
5099You can also specifically set the language to be used, with
5100`set language c' or `set language modula-2'.
5101
5102 * GDB and Modula-2
5103
5104GDB now has preliminary support for the GNU Modula-2 compiler,
5105currently under development at the State University of New York at
5106Buffalo. Development of both GDB and the GNU Modula-2 compiler will
5107continue through the fall of 1991 and into 1992.
5108
5109Other Modula-2 compilers are currently not supported, and attempting to
5110debug programs compiled with them will likely result in an error as the
5111symbol table is read. Feel free to work on it, though!
5112
5113There are hooks in GDB for strict type checking and range checking,
5114in the `Modula-2 philosophy', but they do not currently work.
5115
5116 * set write on/off
5117
5118GDB can now write to executable and core files (e.g. patch
5119a variable's value). You must turn this switch on, specify
5120the file ("exec foo" or "core foo"), *then* modify it, e.g.
5121by assigning a new value to a variable. Modifications take
5122effect immediately.
5123
5124 * Automatic SunOS shared library reading
5125
5126When you run your program, GDB automatically determines where its
5127shared libraries (if any) have been loaded, and reads their symbols.
5128The `share' command is no longer needed. This also works when
5129examining core files.
5130
5131 * set listsize
5132
5133You can specify the number of lines that the `list' command shows.
5134The default is 10.
5135
5136 * New machines supported (host and target)
5137
5138SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
5139Sony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news
5140Ultracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3
5141
5142 * New hosts supported (not targets)
5143
5144IBM RT/PC: romp-ibm-aix or rtpc
5145
5146 * New targets supported (not hosts)
5147
5148AMD 29000 embedded with COFF a29k-none-coff
5149AMD 29000 embedded with a.out a29k-none-aout
5150Ultracomputer remote kernel debug a29k-nyu-kern
5151
5152 * New remote interfaces
5153
5154AMD 29000 Adapt
5155AMD 29000 Minimon
5156
5157
5158*** Changes in GDB-4.0:
5159
5160 * New Facilities
5161
5162Wide output is wrapped at good places to make the output more readable.
5163
5164Gdb now supports cross-debugging from a host machine of one type to a
5165target machine of another type. Communication with the target system
5166is over serial lines. The ``target'' command handles connecting to the
5167remote system; the ``load'' command will download a program into the
5168remote system. Serial stubs for the m68k and i386 are provided. Gdb
5169also supports debugging of realtime processes running under VxWorks,
5170using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
5171stub on the target system.
5172
5173New CPUs supported include the AMD 29000 and Intel 960.
5174
5175GDB now reads object files and symbol tables via a ``binary file''
5176library, which allows a single copy of GDB to debug programs of multiple
5177object file types such as a.out and coff.
5178
5179There is now a GDB reference card in "doc/refcard.tex". (Make targets
5180refcard.dvi and refcard.ps are available to format it).
5181
5182
5183 * Control-Variable user interface simplified
5184
5185All variables that control the operation of the debugger can be set
5186by the ``set'' command, and displayed by the ``show'' command.
5187
5188For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
5189``Show prompt'' produces the response:
5190Gdb's prompt is new-gdb=>.
5191
5192What follows are the NEW set commands. The command ``help set'' will
5193print a complete list of old and new set commands. ``help set FOO''
5194will give a longer description of the variable FOO. ``show'' will show
5195all of the variable descriptions and their current settings.
5196
5197confirm on/off: Enables warning questions for operations that are
5198 hard to recover from, e.g. rerunning the program while
5199 it is already running. Default is ON.
5200
5201editing on/off: Enables EMACS style command line editing
5202 of input. Previous lines can be recalled with
5203 control-P, the current line can be edited with control-B,
5204 you can search for commands with control-R, etc.
5205 Default is ON.
5206
5207history filename NAME: NAME is where the gdb command history
5208 will be stored. The default is .gdb_history,
5209 or the value of the environment variable
5210 GDBHISTFILE.
5211
5212history size N: The size, in commands, of the command history. The
5213 default is 256, or the value of the environment variable
5214 HISTSIZE.
5215
5216history save on/off: If this value is set to ON, the history file will
5217 be saved after exiting gdb. If set to OFF, the
5218 file will not be saved. The default is OFF.
5219
5220history expansion on/off: If this value is set to ON, then csh-like
5221 history expansion will be performed on
5222 command line input. The default is OFF.
5223
5224radix N: Sets the default radix for input and output. It can be set
5225 to 8, 10, or 16. Note that the argument to "radix" is interpreted
5226 in the current radix, so "set radix 10" is always a no-op.
5227
5228height N: This integer value is the number of lines on a page. Default
5229 is 24, the current `stty rows'' setting, or the ``li#''
5230 setting from the termcap entry matching the environment
5231 variable TERM.
5232
5233width N: This integer value is the number of characters on a line.
5234 Default is 80, the current `stty cols'' setting, or the ``co#''
5235 setting from the termcap entry matching the environment
5236 variable TERM.
5237
5238Note: ``set screensize'' is obsolete. Use ``set height'' and
5239``set width'' instead.
5240
5241print address on/off: Print memory addresses in various command displays,
5242 such as stack traces and structure values. Gdb looks
5243 more ``symbolic'' if you turn this off; it looks more
5244 ``machine level'' with it on. Default is ON.
5245
5246print array on/off: Prettyprint arrays. New convenient format! Default
5247 is OFF.
5248
5249print demangle on/off: Print C++ symbols in "source" form if on,
5250 "raw" form if off.
5251
5252print asm-demangle on/off: Same, for assembler level printouts
5253 like instructions.
5254
5255print vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF.
5256
5257
5258 * Support for Epoch Environment.
5259
5260The epoch environment is a version of Emacs v18 with windowing. One
5261new command, ``inspect'', is identical to ``print'', except that if you
5262are running in the epoch environment, the value is printed in its own
5263window.
5264
5265
5266 * Support for Shared Libraries
5267
5268GDB can now debug programs and core files that use SunOS shared libraries.
5269Symbols from a shared library cannot be referenced
5270before the shared library has been linked with the program (this
5271happens after you type ``run'' and before the function main() is entered).
5272At any time after this linking (including when examining core files
5273from dynamically linked programs), gdb reads the symbols from each
5274shared library when you type the ``sharedlibrary'' command.
5275It can be abbreviated ``share''.
5276
5277sharedlibrary REGEXP: Load shared object library symbols for files
5278 matching a unix regular expression. No argument
5279 indicates to load symbols for all shared libraries.
5280
5281info sharedlibrary: Status of loaded shared libraries.
5282
5283
5284 * Watchpoints
5285
5286A watchpoint stops execution of a program whenever the value of an
5287expression changes. Checking for this slows down execution
5288tremendously whenever you are in the scope of the expression, but is
5289quite useful for catching tough ``bit-spreader'' or pointer misuse
5290problems. Some machines such as the 386 have hardware for doing this
5291more quickly, and future versions of gdb will use this hardware.
5292
5293watch EXP: Set a watchpoint (breakpoint) for an expression.
5294
5295info watchpoints: Information about your watchpoints.
5296
5297delete N: Deletes watchpoint number N (same as breakpoints).
5298disable N: Temporarily turns off watchpoint number N (same as breakpoints).
5299enable N: Re-enables watchpoint number N (same as breakpoints).
5300
5301
5302 * C++ multiple inheritance
5303
5304When used with a GCC version 2 compiler, GDB supports multiple inheritance
5305for C++ programs.
5306
5307 * C++ exception handling
5308
5309Gdb now supports limited C++ exception handling. Besides the existing
5310ability to breakpoint on an exception handler, gdb can breakpoint on
5311the raising of an exception (before the stack is peeled back to the
5312handler's context).
5313
5314catch FOO: If there is a FOO exception handler in the dynamic scope,
5315 set a breakpoint to catch exceptions which may be raised there.
5316 Multiple exceptions (``catch foo bar baz'') may be caught.
5317
5318info catch: Lists all exceptions which may be caught in the
5319 current stack frame.
5320
5321
5322 * Minor command changes
5323
5324The command ``call func (arg, arg, ...)'' now acts like the print
5325command, except it does not print or save a value if the function's result
5326is void. This is similar to dbx usage.
5327
5328The ``up'' and ``down'' commands now always print the frame they end up
5329at; ``up-silently'' and `down-silently'' can be used in scripts to change
5330frames without printing.
5331
5332 * New directory command
5333
5334'dir' now adds directories to the FRONT of the source search path.
5335The path starts off empty. Source files that contain debug information
5336about the directory in which they were compiled can be found even
5337with an empty path; Sun CC and GCC include this information. If GDB can't
5338find your source file in the current directory, type "dir .".
5339
5340 * Configuring GDB for compilation
5341
5342For normal use, type ``./configure host''. See README or gdb.texinfo
5343for more details.
5344
5345GDB now handles cross debugging. If you are remotely debugging between
5346two different machines, type ``./configure host -target=targ''.
5347Host is the machine where GDB will run; targ is the machine
5348where the program that you are debugging will run.
This page took 1.013383 seconds and 4 git commands to generate.