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