OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [NEWS] - Blame information for rev 522

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.