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