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