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