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