OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [gdb/] [NEWS] - Blame information for rev 853

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

Line No. Rev Author Line
1 24 jeremybenn
                What has changed in GDB?
2
             (Organized release by release)
3
 
4
*** Changes in the OpenRISC 1000 port
5
 
6
* New target
7
 
8
or32-uclinux. Use of this port is described in doc/or1k.texinfo. After
9
configuring and building GDB, go to this directory and use "make info", "make
10
html", "make pdf", "make ps" as required to build the document.
11
 
12
This interface supports both the proprietary OpenRISC Remote JTAG Protocol and
13
GDB Remote Serial Protocol.
14
 
15
*** Changes in GDB 6.8
16
 
17
* New native configurations
18
 
19
NetBSD/hppa                     hppa*-*netbsd*
20
Xtensa GNU/Linux                xtensa*-*-linux*
21
 
22
* New targets
23
 
24
NetBSD/hppa                     hppa*-*-netbsd*
25
Xtensa GNU/Lunux                xtensa*-*-linux*
26
 
27
* Change in command line behavior -- corefiles vs. process ids.
28
 
29
  When the '-p NUMBER' or '--pid NUMBER' options are used, and
30
  attaching to process NUMBER fails, GDB no longer attempts to open a
31
  core file named NUMBER.  Attaching to a program using the -c option
32
  is no longer supported.  Instead, use the '-p' or '--pid' options.
33
 
34
* GDB can now be built as a native debugger for debugging Windows x86
35
(mingw32) Portable Executable (PE) programs.
36
 
37
* Pending breakpoints no longer change their number when their address
38
is resolved.
39
 
40
* GDB now supports breakpoints with multiple locations,
41
including breakpoints on C++ constructors, inside C++ templates,
42
and in inlined functions.
43
 
44
* GDB's ability to debug optimized code has been improved.  GDB more
45
accurately identifies function bodies and lexical blocks that occupy
46
more than one contiguous range of addresses.
47
 
48
* Target descriptions can now describe registers for PowerPC.
49
 
50
* The GDB remote stub, gdbserver, now supports the AltiVec and SPE
51
registers on PowerPC targets.
52
 
53
* The GDB remote stub, gdbserver, now supports thread debugging on GNU/Linux
54
targets even when the libthread_db library is not available.
55
 
56
* The GDB remote stub, gdbserver, now supports the new file transfer
57
commands (remote put, remote get, and remote delete).
58
 
59
* The GDB remote stub, gdbserver, now supports run and attach in
60
extended-remote mode.
61
 
62
* hppa*64*-*-hpux11* target broken
63
  The debugger is unable to start a program and fails with the following
64
  error: "Error trying to get information about dynamic linker".
65
  The gdb-6.7 release is also affected.
66
 
67
* GDB now supports the --enable-targets= configure option to allow
68
building a single GDB executable that supports multiple remote
69
target architectures.
70
 
71
* GDB now supports debugging C and C++ programs which use the
72
Decimal Floating Point extension.  In addition, the PowerPC target
73
now has a set of pseudo-registers to inspect decimal float values
74
stored in two consecutive float registers.
75
 
76
* The -break-insert MI command can optionally create pending
77
breakpoints now.
78
 
79
* Improved support for debugging Ada
80
  Many improvements to the Ada language support have been made.  These
81
  include:
82
    - Better support for Ada2005 interface types
83
    - Improved handling of arrays and slices in general
84
    - Better support for Taft-amendment types
85
    - The '{type} ADDRESS' expression is now allowed on the left hand-side
86
      of an assignment
87
    - Improved command completion in Ada
88
    - Several bug fixes
89
 
90
* New commands
91
 
92
set print frame-arguments (all|scalars|none)
93
show print frame-arguments
94
  The value of this variable can be changed to control which argument
95
  values should be printed by the debugger when displaying a frame.
96
 
97
remote put
98
remote get
99
remote delete
100
  Transfer files to and from a remote target, and delete remote files.
101
 
102
* New MI commands
103
 
104
-target-file-put
105
-target-file-get
106
-target-file-delete
107
  Transfer files to and from a remote target, and delete remote files.
108
 
109
* New remote packets
110
 
111
vFile:open:
112
vFile:close:
113
vFile:pread:
114
vFile:pwrite:
115
vFile:unlink:
116
  Open, close, read, write, and delete files on the remote system.
117
 
118
* GDB on GNU/Linux and HP/UX can now debug through "exec" of a new
119
process.
120
 
121
vAttach
122
  Attach to an existing process on the remote system, in extended-remote
123
  mode.
124
 
125
vRun
126
  Run a new process on the remote system, in extended-remote mode.
127
 
128
*** Changes in GDB 6.7
129
 
130
* Resolved 101 resource leaks, null pointer dereferences, etc. in gdb,
131
bfd, libiberty and opcodes, as revealed by static analysis donated by
132
Coverity, Inc. (http://scan.coverity.com).
133
 
134
* When looking up multiply-defined global symbols, GDB will now prefer the
135
symbol definition in the current shared library if it was built using the
136
-Bsymbolic linker option.
137
 
138
* When the Text User Interface (TUI) is not configured, GDB will now
139
recognize the -tui command-line option and print a message that the TUI
140
is not supported.
141
 
142
* The GDB remote stub, gdbserver, now has lower overhead for high
143
frequency signals (e.g. SIGALRM) via the QPassSignals packet.
144
 
145
* GDB for MIPS targets now autodetects whether a remote target provides
146
32-bit or 64-bit register values.
147
 
148
* Support for C++ member pointers has been improved.
149
 
150
* GDB now understands XML target descriptions, which specify the
151
target's overall architecture.  GDB can read a description from
152
a local file or over the remote serial protocol.
153
 
154
* Vectors of single-byte data use a new integer type which is not
155
automatically displayed as character or string data.
156
 
157
* The /s format now works with the print command.  It displays
158
arrays of single-byte integers and pointers to single-byte integers
159
as strings.
160
 
161
* Target descriptions can now describe target-specific registers,
162
for architectures which have implemented the support (currently
163
only ARM, M68K, and MIPS).
164
 
165
* GDB and the GDB remote stub, gdbserver, now support the XScale
166
iWMMXt coprocessor.
167
 
168
* The GDB remote stub, gdbserver, has been updated to support
169
ARM Windows CE (mingw32ce) debugging, and GDB Windows CE support
170
has been rewritten to use the standard GDB remote protocol.
171
 
172
* GDB can now step into C++ functions which are called through thunks.
173
 
174
* GDB for the Cell/B.E. SPU now supports overlay debugging.
175
 
176
* The GDB remote protocol "qOffsets" packet can now honor ELF segment
177
layout.  It also supports a TextSeg= and DataSeg= response when only
178
segment base addresses (rather than offsets) are available.
179
 
180
* The /i format now outputs any trailing branch delay slot instructions
181
immediately following the last instruction within the count specified.
182
 
183
* The GDB remote protocol "T" stop reply packet now supports a
184
"library" response.  Combined with the new "qXfer:libraries:read"
185
packet, this response allows GDB to debug shared libraries on targets
186
where the operating system manages the list of loaded libraries (e.g.
187
Windows and SymbianOS).
188
 
189
* The GDB remote stub, gdbserver, now supports dynamic link libraries
190
(DLLs) on Windows and Windows CE targets.
191
 
192
* GDB now supports a faster verification that a .debug file matches its binary
193
according to its build-id signature, if the signature is present.
194
 
195
* New commands
196
 
197
set remoteflow
198
show remoteflow
199
  Enable or disable hardware flow control (RTS/CTS) on the serial port
200
  when debugging using remote targets.
201
 
202
set mem inaccessible-by-default
203
show mem inaccessible-by-default
204
  If the target supplies a memory map, for instance via the remote
205
  protocol's "qXfer:memory-map:read" packet, setting this variable
206
  prevents GDB from accessing memory outside the memory map.  This
207
  is useful for targets with memory mapped registers or which react
208
  badly to accesses of unmapped address space.
209
 
210
set breakpoint auto-hw
211
show breakpoint auto-hw
212
  If the target supplies a memory map, for instance via the remote
213
  protocol's "qXfer:memory-map:read" packet, setting this variable
214
  lets GDB use hardware breakpoints automatically for memory regions
215
  where it can not use software breakpoints.  This covers both the
216
  "break" command and internal breakpoints used for other commands
217
  including "next" and "finish".
218
 
219
catch exception
220
catch exception unhandled
221
  Stop the program execution when Ada exceptions are raised.
222
 
223
catch assert
224
  Stop the program execution when an Ada assertion failed.
225
 
226
set sysroot
227
show sysroot
228
  Set an alternate system root for target files.  This is a more
229
  general version of "set solib-absolute-prefix", which is now
230
  an alias to "set sysroot".
231
 
232
info spu
233
  Provide extended SPU facility status information.  This set of
234
  commands is available only when debugging the Cell/B.E. SPU
235
  architecture.
236
 
237
* New native configurations
238
 
239
OpenBSD/sh                      sh*-*openbsd*
240
 
241
set tdesc filename
242
unset tdesc filename
243
show tdesc filename
244
  Use the specified local file as an XML target description, and do
245
  not query the target for its built-in description.
246
 
247
* New targets
248
 
249
OpenBSD/sh                      sh*-*-openbsd*
250
MIPS64 GNU/Linux (gdbserver)    mips64-linux-gnu
251
Toshiba Media Processor         mep-elf
252
 
253
* New remote packets
254
 
255
QPassSignals:
256
  Ignore the specified signals; pass them directly to the debugged program
257
  without stopping other threads or reporting them to GDB.
258
 
259
qXfer:features:read:
260
  Read an XML target description from the target, which describes its
261
  features.
262
 
263
qXfer:spu:read:
264
qXfer:spu:write:
265
  Read or write contents of an spufs file on the target system.  These
266
  packets are available only on the Cell/B.E. SPU architecture.
267
 
268
qXfer:libraries:read:
269
  Report the loaded shared libraries.  Combined with new "T" packet
270
  response, this packet allows GDB to debug shared libraries on
271
  targets where the operating system manages the list of loaded
272
  libraries (e.g. Windows and SymbianOS).
273
 
274
* Removed targets
275
 
276
Support for these obsolete configurations has been removed.
277
 
278
alpha*-*-osf1*
279
alpha*-*-osf2*
280
d10v-*-*
281
hppa*-*-hiux*
282
i[34567]86-ncr-*
283
i[34567]86-*-dgux*
284
i[34567]86-*-lynxos*
285
i[34567]86-*-netware*
286
i[34567]86-*-sco3.2v5*
287
i[34567]86-*-sco3.2v4*
288
i[34567]86-*-sco*
289
i[34567]86-*-sysv4.2*
290
i[34567]86-*-sysv4*
291
i[34567]86-*-sysv5*
292
i[34567]86-*-unixware2*
293
i[34567]86-*-unixware*
294
i[34567]86-*-sysv*
295
i[34567]86-*-isc*
296
m68*-cisco*-*
297
m68*-tandem-*
298
mips*-*-pe
299
rs6000-*-lynxos*
300
sh*-*-pe
301
 
302
* Other removed features
303
 
304
target abug
305
target cpu32bug
306
target est
307
target rom68k
308
 
309
        Various m68k-only ROM monitors.
310
 
311
target hms
312
target e7000
313
target sh3
314
target sh3e
315
 
316
        Various Renesas ROM monitors and debugging interfaces for SH and
317
        H8/300.
318
 
319
target ocd
320
 
321
        Support for a Macraigor serial interface to on-chip debugging.
322
        GDB does not directly support the newer parallel or USB
323
        interfaces.
324
 
325
DWARF 1 support
326
 
327
        A debug information format.  The predecessor to DWARF 2 and
328
        DWARF 3, which are still supported.
329
 
330
Support for the HP aCC compiler on HP-UX/PA-RISC
331
 
332
        SOM-encapsulated symbolic debugging information, automatic
333
        invocation of pxdb, and the aCC custom C++ ABI.  This does not
334
        affect HP-UX for Itanium or GCC for HP-UX/PA-RISC.  Code compiled
335
        with aCC can still be debugged on an assembly level.
336
 
337
MIPS ".pdr" sections
338
 
339
        A MIPS-specific format used to describe stack frame layout
340
        in debugging information.
341
 
342
Scheme support
343
 
344
        GDB could work with an older version of Guile to debug
345
        the interpreter and Scheme programs running in it.
346
 
347
set mips stack-arg-size
348
set mips saved-gpreg-size
349
 
350
        Use "set mips abi" to control parameter passing for MIPS.
351
 
352
*** Changes in GDB 6.6
353
 
354
* New targets
355
 
356
Xtensa                          xtensa-elf
357
Cell Broadband Engine SPU       spu-elf
358
 
359
* GDB can now be configured as a cross-debugger targeting native Windows
360
(mingw32) or Cygwin.  It can communicate with a remote debugging stub
361
running on a Windows system over TCP/IP to debug Windows programs.
362
 
363
* The GDB remote stub, gdbserver, has been updated to support Windows and
364
Cygwin debugging.  Both single-threaded and multi-threaded programs are
365
supported.
366
 
367
* The "set trust-readonly-sections" command works again.  This command was
368
broken in GDB 6.3, 6.4, and 6.5.
369
 
370
* The "load" command now supports writing to flash memory, if the remote
371
stub provides the required support.
372
 
373
* Support for GNU/Linux Thread Local Storage (TLS, per-thread variables) no
374
longer requires symbolic debug information (e.g. DWARF-2).
375
 
376
* New commands
377
 
378
set substitute-path
379
unset substitute-path
380
show substitute-path
381
  Manage a list of substitution rules that GDB uses to rewrite the name
382
  of the directories where the sources are located. This can be useful
383
  for instance when the sources were moved to a different location
384
  between compilation and debugging.
385
 
386
set trace-commands
387
show trace-commands
388
  Print each CLI command as it is executed.  Each command is prefixed with
389
  a number of `+' symbols representing the nesting depth.
390
  The source command now has a `-v' option to enable the same feature.
391
 
392
* REMOVED features
393
 
394
The ARM Demon monitor support (RDP protocol, "target rdp").
395
 
396
Kernel Object Display, an embedded debugging feature which only worked with
397
an obsolete version of Cisco IOS.
398
 
399
The 'set download-write-size' and 'show download-write-size' commands.
400
 
401
* New remote packets
402
 
403
qSupported:
404
  Tell a stub about GDB client features, and request remote target features.
405
  The first feature implemented is PacketSize, which allows the target to
406
  specify the size of packets it can handle - to minimize the number of
407
  packets required and improve performance when connected to a remote
408
  target.
409
 
410
qXfer:auxv:read:
411
  Fetch an OS auxilliary vector from the remote stub.  This packet is a
412
  more efficient replacement for qPart:auxv:read.
413
 
414
qXfer:memory-map:read:
415
  Fetch a memory map from the remote stub, including information about
416
  RAM, ROM, and flash memory devices.
417
 
418
vFlashErase:
419
vFlashWrite:
420
vFlashDone:
421
  Erase and program a flash memory device.
422
 
423
* Removed remote packets
424
 
425
qPart:auxv:read:
426
  This packet has been replaced by qXfer:auxv:read.  Only GDB 6.4 and 6.5
427
  used it, and only gdbserver implemented it.
428
 
429
*** Changes in GDB 6.5
430
 
431
* New targets
432
 
433
Renesas M32C/M16C               m32c-elf
434
 
435
Morpho Technologies ms1         ms1-elf
436
 
437
* New commands
438
 
439
init-if-undefined               Initialize a convenience variable, but
440
                                only if it doesn't already have a value.
441
 
442
The following commands are presently only implemented for native GNU/Linux:
443
 
444
checkpoint                      Save a snapshot of the program state.
445
 
446
restart                         Return the program state to a
447
                                previously saved state.
448
 
449
info checkpoints                List currently saved checkpoints.
450
 
451
delete-checkpoint               Delete a previously saved checkpoint.
452
 
453
set|show detach-on-fork         Tell gdb whether to detach from a newly
454
                                forked process, or to keep debugging it.
455
 
456
info forks                      List forks of the user program that
457
                                are available to be debugged.
458
 
459
fork                    Switch to debugging one of several
460
                                forks of the user program that are
461
                                available to be debugged.
462
 
463
delete-fork                     Delete a fork from the list of forks
464
                                that are available to be debugged (and
465
                                kill the forked process).
466
 
467
detach-fork                     Delete a fork from the list of forks
468
                                that are available to be debugged (and
469
                                allow the process to continue).
470
 
471
* New architecture
472
 
473
Morpho Technologies ms2         ms1-elf
474
 
475
* Improved Windows host support
476
 
477
GDB now builds as a cross debugger hosted on i686-mingw32, including
478
native console support, and remote communications using either
479
network sockets or serial ports.
480
 
481
* Improved Modula-2 language support
482
 
483
GDB can now print most types in the Modula-2 syntax.  This includes:
484
basic types, set types, record types, enumerated types, range types,
485
pointer types and ARRAY types.  Procedure var parameters are correctly
486
printed and hexadecimal addresses and character constants are also
487
written in the Modula-2 syntax.  Best results can be obtained by using
488
GNU Modula-2 together with the -gdwarf-2 command line option.
489
 
490
* REMOVED features
491
 
492
The ARM rdi-share module.
493
 
494
The Netware NLM debug server.
495
 
496
*** Changes in GDB 6.4
497
 
498
* New native configurations
499
 
500
OpenBSD/arm                     arm*-*-openbsd*
501
OpenBSD/mips64                  mips64-*-openbsd*
502
 
503
* New targets
504
 
505
Morpho Technologies ms1         ms1-elf
506
 
507
* New command line options
508
 
509
--batch-silent                  As for --batch, but totally silent.
510
--return-child-result           The debugger will exist with the same value
511
                                the child (debugged) program exited with.
512
--eval-command COMMAND, -ex COMMAND
513
                                Execute a single GDB CLI command. This may be
514
                                specified multiple times and in conjunction
515
                                with the --command (-x) option.
516
 
517
* Deprecated commands removed
518
 
519
The following commands, that were deprecated in 2000, have been
520
removed:
521
 
522
  Command                               Replacement
523
  set|show arm disassembly-flavor       set|show arm disassembler
524
  othernames                            set arm disassembler
525
  set|show remotedebug                  set|show debug remote
526
  set|show archdebug                    set|show debug arch
527
  set|show eventdebug                   set|show debug event
528
  regs                                  info registers
529
 
530
* New BSD user-level threads support
531
 
532
It is now possible to debug programs using the user-level threads
533
library on OpenBSD and FreeBSD.  Currently supported (target)
534
configurations are:
535
 
536
FreeBSD/amd64                   x86_64-*-freebsd*
537
FreeBSD/i386                    i386-*-freebsd*
538
OpenBSD/i386                    i386-*-openbsd*
539
 
540
Note that the new kernel threads libraries introduced in FreeBSD 5.x
541
are not yet supported.
542
 
543
* New support for Matsushita MN10300 w/sim added
544
(Work in progress).  mn10300-elf.
545
 
546
* REMOVED configurations and files
547
 
548
VxWorks and the XDR protocol                    *-*-vxworks
549
Motorola MCORE                                  mcore-*-*
550
National Semiconductor NS32000                  ns32k-*-*
551
 
552
* New "set print array-indexes" command
553
 
554
After turning this setting "on", GDB prints the index of each element
555
when displaying arrays.  The default is "off" to preserve the previous
556
behavior.
557
 
558
* VAX floating point support
559
 
560
GDB now supports the not-quite-ieee VAX F and D floating point formats.
561
 
562
* User-defined command support
563
 
564
In addition to using $arg0..$arg9 for argument passing, it is now possible
565
to use $argc to determine now many arguments have been passed.  See the
566
section on user-defined commands in the user manual for more information.
567
 
568
*** Changes in GDB 6.3:
569
 
570
* New command line option
571
 
572
GDB now accepts -l followed by a number to set the timeout for remote
573
debugging.
574
 
575
* GDB works with GCC -feliminate-dwarf2-dups
576
 
577
GDB now supports a more compact representation of DWARF-2 debug
578
information using DW_FORM_ref_addr references.  These are produced
579
by GCC with the option -feliminate-dwarf2-dups and also by some
580
proprietary compilers.  With GCC, you must use GCC 3.3.4 or later
581
to use -feliminate-dwarf2-dups.
582
 
583
* Internationalization
584
 
585
When supported by the host system, GDB will be built with
586
internationalization (libintl).  The task of marking up the sources is
587
continued, we're looking forward to our first translation.
588
 
589
* Ada
590
 
591
Initial support for debugging programs compiled with the GNAT
592
implementation of the Ada programming language has been integrated
593
into GDB.  In this release, support is limited to expression evaluation.
594
 
595
* New native configurations
596
 
597
GNU/Linux/m32r                                  m32r-*-linux-gnu
598
 
599
* Remote 'p' packet
600
 
601
GDB's remote protocol now includes support for the 'p' packet.  This
602
packet is used to fetch individual registers from a remote inferior.
603
 
604
* END-OF-LIFE registers[] compatibility module
605
 
606
GDB's internal register infrastructure has been completely rewritten.
607
The new infrastructure making possible the implementation of key new
608
features including 32x64 (e.g., 64-bit amd64 GDB debugging a 32-bit
609
i386 application).
610
 
611
GDB 6.3 will be the last release to include the the registers[]
612
compatibility module that allowed out-of-date configurations to
613
continue to work.  This change directly impacts the following
614
configurations:
615
 
616
hppa-*-hpux
617
ia64-*-aix
618
mips-*-irix*
619
*-*-lynx
620
mips-*-linux-gnu
621
sds protocol
622
xdr protocol
623
powerpc bdm protocol
624
 
625
Unless there is activity to revive these configurations, they will be
626
made OBSOLETE in GDB 6.4, and REMOVED from GDB 6.5.
627
 
628
* OBSOLETE configurations and files
629
 
630
Configurations that have been declared obsolete in this release have
631
been commented out.  Unless there is activity to revive these
632
configurations, the next release of GDB will have their sources
633
permanently REMOVED.
634
 
635
h8300-*-*
636
mcore-*-*
637
mn10300-*-*
638
ns32k-*-*
639
sh64-*-*
640
v850-*-*
641
 
642
*** Changes in GDB 6.2.1:
643
 
644
* MIPS `break main; run' gave an heuristic-fence-post warning
645
 
646
When attempting to run even a simple program, a warning about
647
heuristic-fence-post being hit would be reported.  This problem has
648
been fixed.
649
 
650
* MIPS IRIX 'long double' crashed GDB
651
 
652
When examining a long double variable, GDB would get a segmentation
653
fault.  The crash has been fixed (but GDB 6.2 cannot correctly examine
654
IRIX long double values).
655
 
656
* VAX and "next"
657
 
658
A bug in the VAX stack code was causing problems with the "next"
659
command.  This problem has been fixed.
660
 
661
*** Changes in GDB 6.2:
662
 
663
* Fix for ``many threads''
664
 
665
On GNU/Linux systems that use the NPTL threads library, a program
666
rapidly creating and deleting threads would confuse GDB leading to the
667
error message:
668
 
669
        ptrace: No such process.
670
        thread_db_get_info: cannot get thread info: generic error
671
 
672
This problem has been fixed.
673
 
674
* "-async" and "-noasync" options removed.
675
 
676
Support for the broken "-noasync" option has been removed (it caused
677
GDB to dump core).
678
 
679
* New ``start'' command.
680
 
681
This command runs the program until the begining of the main procedure.
682
 
683
* New BSD Kernel Data Access Library (libkvm) interface
684
 
685
Using ``target kvm'' it is now possible to debug kernel core dumps and
686
live kernel memory images on various FreeBSD, NetBSD and OpenBSD
687
platforms.  Currently supported (native-only) configurations are:
688
 
689
FreeBSD/amd64                   x86_64-*-freebsd*
690
FreeBSD/i386                    i?86-*-freebsd*
691
NetBSD/i386                     i?86-*-netbsd*
692
NetBSD/m68k                     m68*-*-netbsd*
693
NetBSD/sparc                    sparc-*-netbsd*
694
OpenBSD/amd64                   x86_64-*-openbsd*
695
OpenBSD/i386                    i?86-*-openbsd*
696
OpenBSD/m68k                    m68*-openbsd*
697
OpenBSD/sparc                   sparc-*-openbsd*
698
 
699
* Signal trampoline code overhauled
700
 
701
Many generic problems with GDB's signal handling code have been fixed.
702
These include: backtraces through non-contiguous stacks; recognition
703
of sa_sigaction signal trampolines; backtrace from a NULL pointer
704
call; backtrace through a signal trampoline; step into and out of
705
signal handlers; and single-stepping in the signal trampoline.
706
 
707
Please note that kernel bugs are a limiting factor here.  These
708
features have been shown to work on an s390 GNU/Linux system that
709
include a 2.6.8-rc1 kernel.  Ref PR breakpoints/1702.
710
 
711
* Cygwin support for DWARF 2 added.
712
 
713
* New native configurations
714
 
715
GNU/Linux/hppa                                  hppa*-*-linux*
716
OpenBSD/hppa                                    hppa*-*-openbsd*
717
OpenBSD/m68k                                    m68*-*-openbsd*
718
OpenBSD/m88k                                    m88*-*-openbsd*
719
OpenBSD/powerpc                                 powerpc-*-openbsd*
720
NetBSD/vax                                      vax-*-netbsd*
721
OpenBSD/vax                                     vax-*-openbsd*
722
 
723
* END-OF-LIFE frame compatibility module
724
 
725
GDB's internal frame infrastructure has been completely rewritten.
726
The new infrastructure making it possible to support key new features
727
including DWARF 2 Call Frame Information.  To aid in the task of
728
migrating old configurations to this new infrastructure, a
729
compatibility module, that allowed old configurations to continue to
730
work, was also included.
731
 
732
GDB 6.2 will be the last release to include this frame compatibility
733
module.  This change directly impacts the following configurations:
734
 
735
h8300-*-*
736
mcore-*-*
737
mn10300-*-*
738
ns32k-*-*
739
sh64-*-*
740
v850-*-*
741
xstormy16-*-*
742
 
743
Unless there is activity to revive these configurations, they will be
744
made OBSOLETE in GDB 6.3, and REMOVED from GDB 6.4.
745
 
746
* REMOVED configurations and files
747
 
748
Sun 3, running SunOS 3                          m68*-*-sunos3*
749
Sun 3, running SunOS 4                          m68*-*-sunos4*
750
Sun 2, running SunOS 3                          m68000-*-sunos3*
751
Sun 2, running SunOS 4                          m68000-*-sunos4*
752
Motorola 680x0 running LynxOS                   m68*-*-lynxos*
753
AT&T 3b1/Unix pc                                m68*-att-*
754
Bull DPX2 (68k, System V release 3)             m68*-bull-sysv*
755
decstation                                      mips-dec-* mips-little-*
756
riscos                                          mips-*-riscos* mips-*-sysv*
757
sonymips                                        mips-sony-*
758
sysv                                    mips*-*-sysv4* (IRIX 5/6 not included)
759
 
760
*** Changes in GDB 6.1.1:
761
 
762
* TUI (Text-mode User Interface) built-in (also included in GDB 6.1)
763
 
764
The TUI (Text-mode User Interface) is now built as part of a default
765
GDB configuration.  It is enabled by either selecting the TUI with the
766
command line option "-i=tui" or by running the separate "gdbtui"
767
program.  For more information on the TUI, see the manual "Debugging
768
with GDB".
769
 
770
* Pending breakpoint support (also included in GDB 6.1)
771
 
772
Support has been added to allow you to specify breakpoints in shared
773
libraries that have not yet been loaded.  If a breakpoint location
774
cannot be found, and the "breakpoint pending" option is set to auto,
775
GDB queries you if you wish to make the breakpoint pending on a future
776
shared-library load.  If and when GDB resolves the breakpoint symbol,
777
the pending breakpoint is removed as one or more regular breakpoints
778
are created.
779
 
780
Pending breakpoints are very useful for GCJ Java debugging.
781
 
782
* Fixed ISO-C build problems
783
 
784
The files bfd/elf-bfd.h, gdb/dictionary.c and gdb/types.c contained
785
non ISO-C code that stopped them being built using a more strict ISO-C
786
compiler (e.g., IBM's C compiler).
787
 
788
* Fixed build problem on IRIX 5
789
 
790
Due to header problems with , the file gdb/proc-api.c
791
wasn't able to compile compile on an IRIX 5 system.
792
 
793
* Added execute permission to gdb/gdbserver/configure
794
 
795
The shell script gdb/testsuite/gdb.stabs/configure lacked execute
796
permission.  This bug would cause configure to fail on a number of
797
systems (Solaris, IRIX).  Ref: server/519.
798
 
799
* Fixed build problem on hpux2.0w-hp-hpux11.00 using the HP ANSI C compiler
800
 
801
Older HPUX ANSI C compilers did not accept variable array sizes.  somsolib.c
802
has been updated to use constant array sizes.
803
 
804
* Fixed a panic in the DWARF Call Frame Info code on Solaris 2.7
805
 
806
GCC 3.3.2, on Solaris 2.7, includes the DW_EH_PE_funcrel encoding in
807
its generated DWARF Call Frame Info.  This encoding was causing GDB to
808
panic, that panic has been fixed.  Ref: gdb/1628.
809
 
810
* Fixed a problem when examining parameters in shared library code.
811
 
812
When examining parameters in optimized shared library code generated
813
by a mainline GCC, GDB would incorrectly report ``Variable "..." is
814
not available''.  GDB now correctly displays the variable's value.
815
 
816
*** Changes in GDB 6.1:
817
 
818
* Removed --with-mmalloc
819
 
820
Support for the mmalloc memory manager has been removed, as it
821
conflicted with the internal gdb byte cache.
822
 
823
* Changes in AMD64 configurations
824
 
825
The AMD64 target now includes the %cs and %ss registers.  As a result
826
the AMD64 remote protocol has changed; this affects the floating-point
827
and SSE registers.  If you rely on those registers for your debugging,
828
you should upgrade gdbserver on the remote side.
829
 
830
* Revised SPARC target
831
 
832
The SPARC target has been completely revised, incorporating the
833
FreeBSD/sparc64 support that was added for GDB 6.0.  As a result
834
support for LynxOS and SunOS 4 has been dropped.  Calling functions
835
from within GDB on operating systems with a non-executable stack
836
(Solaris, OpenBSD) now works.
837
 
838
* New C++ demangler
839
 
840
GDB has a new C++ demangler which does a better job on the mangled
841
names generated by current versions of g++.  It also runs faster, so
842
with this and other changes gdb should now start faster on large C++
843
programs.
844
 
845
* DWARF 2 Location Expressions
846
 
847
GDB support for location expressions has been extended to support function
848
arguments and frame bases.  Older versions of GDB could crash when they
849
encountered these.
850
 
851
* C++ nested types and namespaces
852
 
853
GDB's support for nested types and namespaces in C++ has been
854
improved, especially if you use the DWARF 2 debugging format.  (This
855
is the default for recent versions of GCC on most platforms.)
856
Specifically, if you have a class "Inner" defined within a class or
857
namespace "Outer", then GDB realizes that the class's name is
858
"Outer::Inner", not simply "Inner".  This should greatly reduce the
859
frequency of complaints about not finding RTTI symbols.  In addition,
860
if you are stopped at inside of a function defined within a namespace,
861
GDB modifies its name lookup accordingly.
862
 
863
* New native configurations
864
 
865
NetBSD/amd64                                    x86_64-*-netbsd*
866
OpenBSD/amd64                                   x86_64-*-openbsd*
867
OpenBSD/alpha                                   alpha*-*-openbsd*
868
OpenBSD/sparc                                   sparc-*-openbsd*
869
OpenBSD/sparc64                                 sparc64-*-openbsd*
870
 
871
* New debugging protocols
872
 
873
M32R with SDI protocol                          m32r-*-elf*
874
 
875
* "set prompt-escape-char" command deleted.
876
 
877
The command "set prompt-escape-char" has been deleted.  This command,
878
and its very obscure effet on GDB's prompt, was never documented,
879
tested, nor mentioned in the NEWS file.
880
 
881
* OBSOLETE configurations and files
882
 
883
Configurations that have been declared obsolete in this release have
884
been commented out.  Unless there is activity to revive these
885
configurations, the next release of GDB will have their sources
886
permanently REMOVED.
887
 
888
Sun 3, running SunOS 3                          m68*-*-sunos3*
889
Sun 3, running SunOS 4                          m68*-*-sunos4*
890
Sun 2, running SunOS 3                          m68000-*-sunos3*
891
Sun 2, running SunOS 4                          m68000-*-sunos4*
892
Motorola 680x0 running LynxOS                   m68*-*-lynxos*
893
AT&T 3b1/Unix pc                                m68*-att-*
894
Bull DPX2 (68k, System V release 3)             m68*-bull-sysv*
895
decstation                                      mips-dec-* mips-little-*
896
riscos                                          mips-*-riscos* mips-*-sysv*
897
sonymips                                        mips-sony-*
898
sysv                                    mips*-*-sysv4* (IRIX 5/6 not included)
899
 
900
* REMOVED configurations and files
901
 
902
SGI Irix-4.x                            mips-sgi-irix4  or iris4
903
SGI Iris (MIPS) running Irix V3:        mips-sgi-irix   or  iris
904
Z8000 simulator                         z8k-zilog-none    or z8ksim
905
Matsushita MN10200 w/simulator                  mn10200-*-*
906
H8/500 simulator                        h8500-hitachi-hms or h8500hms
907
HP/PA running BSD                               hppa*-*-bsd*
908
HP/PA running OSF/1                             hppa*-*-osf*
909
HP/PA Pro target                                hppa*-*-pro*
910
PMAX (MIPS) running Mach 3.0                    mips*-*-mach3*
911
386BSD                                          i[3456]86-*-bsd*
912
Sequent family                                  i[3456]86-sequent-sysv4*
913
                                                i[3456]86-sequent-sysv*
914
                                                i[3456]86-sequent-bsd*
915
SPARC running LynxOS                            sparc-*-lynxos*
916
SPARC running SunOS 4                           sparc-*-sunos4*
917
Tsqware Sparclet                                sparclet-*-*
918
Fujitsu SPARClite                       sparclite-fujitsu-none  or  sparclite
919
 
920
*** Changes in GDB 6.0:
921
 
922
* Objective-C
923
 
924
Support for debugging the Objective-C programming language has been
925
integrated into GDB.
926
 
927
* New backtrace mechanism (includes DWARF 2 Call Frame Information).
928
 
929
DWARF 2's Call Frame Information makes available compiler generated
930
information that more exactly describes the program's run-time stack.
931
By using this information, GDB is able to provide more robust stack
932
backtraces.
933
 
934
The i386, amd64 (nee, x86-64), Alpha, m68hc11, ia64, and m32r targets
935
have been updated to use a new backtrace mechanism which includes
936
DWARF 2 CFI support.
937
 
938
* Hosted file I/O.
939
 
940
GDB's remote protocol has been extended to include support for hosted
941
file I/O (where the remote target uses GDB's file system).  See GDB's
942
remote protocol documentation for details.
943
 
944
* All targets using the new architecture framework.
945
 
946
All of GDB's targets have been updated to use the new internal
947
architecture framework.  The way is now open for future GDB releases
948
to include cross-architecture native debugging support (i386 on amd64,
949
ppc32 on ppc64).
950
 
951
* GNU/Linux's Thread Local Storage (TLS)
952
 
953
GDB now includes support for for the GNU/Linux implementation of
954
per-thread variables.
955
 
956
* GNU/Linux's Native POSIX Thread Library (NPTL)
957
 
958
GDB's thread code has been updated to work with either the new
959
GNU/Linux NPTL thread library or the older "LinuxThreads" library.
960
 
961
* Separate debug info.
962
 
963
GDB, in conjunction with BINUTILS, now supports a mechanism for
964
automatically loading debug information from a separate file.  Instead
965
of shipping full debug and non-debug versions of system libraries,
966
system integrators can now instead ship just the stripped libraries
967
and optional debug files.
968
 
969
* DWARF 2 Location Expressions
970
 
971
DWARF 2 Location Expressions allow the compiler to more completely
972
describe the location of variables (even in optimized code) to the
973
debugger.
974
 
975
GDB now includes preliminary support for location expressions (support
976
for DW_OP_piece is still missing).
977
 
978
* Java
979
 
980
A number of long standing bugs that caused GDB to die while starting a
981
Java application have been fixed.  GDB's Java support is now
982
considered "useable".
983
 
984
* GNU/Linux support for fork, vfork, and exec.
985
 
986
The "catch fork", "catch exec", "catch vfork", and "set follow-fork-mode"
987
commands are now implemented for GNU/Linux.  They require a 2.5.x or later
988
kernel.
989
 
990
* GDB supports logging output to a file
991
 
992
There are two new commands, "set logging" and "show logging", which can be
993
used to capture GDB's output to a file.
994
 
995
* The meaning of "detach" has changed for gdbserver
996
 
997
The "detach" command will now resume the application, as documented.  To
998
disconnect from gdbserver and leave it stopped, use the new "disconnect"
999
command.
1000
 
1001
* d10v, m68hc11 `regs' command deprecated
1002
 
1003
The `info registers' command has been updated so that it displays the
1004
registers using a format identical to the old `regs' command.
1005
 
1006
* Profiling support
1007
 
1008
A new command, "maint set profile on/off", has been added.  This command can
1009
be used to enable or disable profiling while running GDB, to profile a
1010
session or a set of commands.  In addition there is a new configure switch,
1011
"--enable-profiling", which will cause GDB to be compiled with profiling
1012
data, for more informative profiling results.
1013
 
1014
* Default MI syntax changed to "mi2".
1015
 
1016
The default MI (machine interface) syntax, enabled by the command line
1017
option "-i=mi", has been changed to "mi2".  The previous MI syntax,
1018
"mi1", can be enabled by specifying the option "-i=mi1".
1019
 
1020
Support for the original "mi0" syntax (included in GDB 5.0) has been
1021
removed.
1022
 
1023
Fix for gdb/192: removed extraneous space when displaying frame level.
1024
Fix for gdb/672: update changelist is now output in mi list format.
1025
Fix for gdb/702: a -var-assign that updates the value now shows up
1026
                 in a subsequent -var-update.
1027
 
1028
* New native configurations.
1029
 
1030
FreeBSD/amd64                                   x86_64-*-freebsd*
1031
 
1032
* Multi-arched targets.
1033
 
1034
HP/PA HPUX11                                    hppa*-*-hpux*
1035
Renesas M32R/D w/simulator                      m32r-*-elf*
1036
 
1037
* OBSOLETE configurations and files
1038
 
1039
Configurations that have been declared obsolete in this release have
1040
been commented out.  Unless there is activity to revive these
1041
configurations, the next release of GDB will have their sources
1042
permanently REMOVED.
1043
 
1044
Z8000 simulator                         z8k-zilog-none    or z8ksim
1045
Matsushita MN10200 w/simulator                  mn10200-*-*
1046
H8/500 simulator                        h8500-hitachi-hms or h8500hms
1047
HP/PA running BSD                               hppa*-*-bsd*
1048
HP/PA running OSF/1                             hppa*-*-osf*
1049
HP/PA Pro target                                hppa*-*-pro*
1050
PMAX (MIPS) running Mach 3.0                    mips*-*-mach3*
1051
Sequent family                                  i[3456]86-sequent-sysv4*
1052
                                                i[3456]86-sequent-sysv*
1053
                                                i[3456]86-sequent-bsd*
1054
Tsqware Sparclet                                sparclet-*-*
1055
Fujitsu SPARClite                       sparclite-fujitsu-none  or  sparclite
1056
 
1057
* REMOVED configurations and files
1058
 
1059
V850EA ISA
1060
Motorola Delta 88000 running Sys V              m88k-motorola-sysv  or  delta88
1061
IBM AIX PS/2                                    i[3456]86-*-aix
1062
i386 running Mach 3.0                           i[3456]86-*-mach3*
1063
i386 running Mach                               i[3456]86-*-mach*
1064
i386 running OSF/1                              i[3456]86-*osf1mk*
1065
HP/Apollo 68k Family                            m68*-apollo*-sysv*,
1066
                                                m68*-apollo*-bsd*,
1067
                                                m68*-hp-bsd*, m68*-hp-hpux*
1068
Argonaut Risc Chip (ARC)                        arc-*-*
1069
Mitsubishi D30V                                 d30v-*-*
1070
Fujitsu FR30                                    fr30-*-elf*
1071
OS/9000                                         i[34]86-*-os9k
1072
I960 with MON960                                i960-*-coff
1073
 
1074
* MIPS $fp behavior changed
1075
 
1076
The convenience variable $fp, for the MIPS, now consistently returns
1077
the address of the current frame's base.  Previously, depending on the
1078
context, $fp could refer to either $sp or the current frame's base
1079
address.  See ``8.10 Registers'' in the manual ``Debugging with GDB:
1080
The GNU Source-Level Debugger''.
1081
 
1082
*** Changes in GDB 5.3:
1083
 
1084
* GNU/Linux shared library multi-threaded performance improved.
1085
 
1086
When debugging a multi-threaded application on GNU/Linux, GDB now uses
1087
`/proc', in preference to `ptrace' for memory reads.  This may result
1088
in an improvement in the start-up time of multi-threaded, shared
1089
library applications when run under GDB.  One GDB user writes: ``loads
1090
shared libs like mad''.
1091
 
1092
* ``gdbserver'' now supports multi-threaded applications on some targets
1093
 
1094
Support for debugging multi-threaded applications which use
1095
the GNU/Linux LinuxThreads package has been added for
1096
arm*-*-linux*-gnu*, i[3456]86-*-linux*-gnu*, mips*-*-linux*-gnu*,
1097
powerpc*-*-linux*-gnu*, and sh*-*-linux*-gnu*.
1098
 
1099
* GDB now supports C/C++ preprocessor macros.
1100
 
1101
GDB now expands preprocessor macro invocations in C/C++ expressions,
1102
and provides various commands for showing macro definitions and how
1103
they expand.
1104
 
1105
The new command `macro expand EXPRESSION' expands any macro
1106
invocations in expression, and shows the result.
1107
 
1108
The new command `show macro MACRO-NAME' shows the definition of the
1109
macro named MACRO-NAME, and where it was defined.
1110
 
1111
Most compilers don't include information about macros in the debugging
1112
information by default.  In GCC 3.1, for example, you need to compile
1113
your program with the options `-gdwarf-2 -g3'.  If the macro
1114
information is present in the executable, GDB will read it.
1115
 
1116
* Multi-arched targets.
1117
 
1118
DEC Alpha (partial)                             alpha*-*-*
1119
DEC VAX (partial)                               vax-*-*
1120
NEC V850                                        v850-*-*
1121
National Semiconductor NS32000 (partial)        ns32k-*-*
1122
Motorola 68000 (partial)                        m68k-*-*
1123
Motorola MCORE                                  mcore-*-*
1124
 
1125
* New targets.
1126
 
1127
Fujitsu FRV architecture added by Red Hat       frv*-*-*
1128
 
1129
 
1130
* New native configurations
1131
 
1132
Alpha NetBSD                                    alpha*-*-netbsd*
1133
SH NetBSD                                       sh*-*-netbsdelf*
1134
MIPS NetBSD                                     mips*-*-netbsd*
1135
UltraSPARC NetBSD                               sparc64-*-netbsd*
1136
 
1137
* OBSOLETE configurations and files
1138
 
1139
Configurations that have been declared obsolete in this release have
1140
been commented out.  Unless there is activity to revive these
1141
configurations, the next release of GDB will have their sources
1142
permanently REMOVED.
1143
 
1144
Mitsubishi D30V                                 d30v-*-*
1145
OS/9000                                         i[34]86-*-os9k
1146
IBM AIX PS/2                                    i[3456]86-*-aix
1147
Fujitsu FR30                                    fr30-*-elf*
1148
Motorola Delta 88000 running Sys V              m88k-motorola-sysv  or  delta88
1149
Argonaut Risc Chip (ARC)                        arc-*-*
1150
i386 running Mach 3.0                           i[3456]86-*-mach3*
1151
i386 running Mach                               i[3456]86-*-mach*
1152
i386 running OSF/1                              i[3456]86-*osf1mk*
1153
HP/Apollo 68k Family                            m68*-apollo*-sysv*,
1154
                                                m68*-apollo*-bsd*,
1155
                                                m68*-hp-bsd*, m68*-hp-hpux*
1156
I960 with MON960                                i960-*-coff
1157
 
1158
* OBSOLETE languages
1159
 
1160
CHILL, a Pascal like language used by telecommunications companies.
1161
 
1162
* REMOVED configurations and files
1163
 
1164
AMD 29k family via UDI                          a29k-amd-udi, udi29k
1165
A29K VxWorks                                    a29k-*-vxworks
1166
AMD 29000 embedded, using EBMON                 a29k-none-none
1167
AMD 29000 embedded with COFF                    a29k-none-coff
1168
AMD 29000 embedded with a.out                   a29k-none-aout
1169
 
1170
testsuite/gdb.hp/gdb.threads-hp/                directory
1171
 
1172
* New command "set max-user-call-depth "
1173
 
1174
This command allows the user to limit the call depth of user-defined
1175
commands.  The default is 1024.
1176
 
1177
* Changes in FreeBSD/i386 native debugging.
1178
 
1179
Support for the "generate-core-file" has been added.
1180
 
1181
* New commands "dump", "append", and "restore".
1182
 
1183
These commands allow data to be copied from target memory
1184
to a bfd-format or binary file (dump and append), and back
1185
from a file into memory (restore).
1186
 
1187
* Improved "next/step" support on multi-processor Alpha Tru64.
1188
 
1189
The previous single-step mechanism could cause unpredictable problems,
1190
including the random appearance of SIGSEGV or SIGTRAP signals. The use
1191
of a software single-step mechanism prevents this.
1192
 
1193
*** Changes in GDB 5.2.1:
1194
 
1195
* New targets.
1196
 
1197
Atmel AVR                                       avr*-*-*
1198
 
1199
* Bug fixes
1200
 
1201
gdb/182: gdb/323: gdb/237: On alpha, gdb was reporting:
1202
mdebugread.c:2443: gdb-internal-error: sect_index_data not initialized
1203
Fix, by Joel Brobecker imported from mainline.
1204
 
1205
gdb/439: gdb/291: On some ELF object files, gdb was reporting:
1206
dwarf2read.c:1072: gdb-internal-error: sect_index_text not initialize
1207
Fix, by Fred Fish, imported from mainline.
1208
 
1209
Dwarf2 .debug_frame & .eh_frame handler improved in many ways.
1210
Surprisingly enough, it works now.
1211
By Michal Ludvig, imported from mainline.
1212
 
1213
i386 hardware watchpoint support:
1214
avoid misses on second run for some targets.
1215
By Pierre Muller, imported from mainline.
1216
 
1217
*** Changes in GDB 5.2:
1218
 
1219
* New command "set trust-readonly-sections on[off]".
1220
 
1221
This command is a hint that tells gdb that read-only sections
1222
really are read-only (ie. that their contents will not change).
1223
In this mode, gdb will go to the object file rather than the
1224
target to read memory from read-only sections (such as ".text").
1225
This can be a significant performance improvement on some
1226
(notably embedded) targets.
1227
 
1228
* New command "generate-core-file" (or "gcore").
1229
 
1230
This new gdb command allows the user to drop a core file of the child
1231
process state at any time.  So far it's been implemented only for
1232
GNU/Linux and Solaris, but should be relatively easily ported to other
1233
hosts.  Argument is core file name (defaults to core.).
1234
 
1235
* New command line option
1236
 
1237
GDB now accepts --pid or -p followed by a process id.
1238
 
1239
* Change in command line behavior -- corefiles vs. process ids.
1240
 
1241
There is a subtle behavior in the way in which GDB handles
1242
command line arguments.  The first non-flag argument is always
1243
a program to debug, but the second non-flag argument may either
1244
be a corefile or a process id.  Previously, GDB would attempt to
1245
open the second argument as a corefile, and if that failed, would
1246
issue a superfluous error message and then attempt to attach it as
1247
a process.  Now, if the second argument begins with a non-digit,
1248
it will be treated as a corefile.  If it begins with a digit,
1249
GDB will attempt to attach it as a process, and if no such process
1250
is found, will then attempt to open it as a corefile.
1251
 
1252
* Changes in ARM configurations.
1253
 
1254
Multi-arch support is enabled for all ARM configurations.  The ARM/NetBSD
1255
configuration is fully multi-arch.
1256
 
1257
* New native configurations
1258
 
1259
ARM NetBSD                                      arm*-*-netbsd*
1260
x86 OpenBSD                                     i[3456]86-*-openbsd*
1261
AMD x86-64 running GNU/Linux                    x86_64-*-linux-*
1262
Sparc64 running FreeBSD                         sparc64-*-freebsd*
1263
 
1264
* New targets
1265
 
1266
Sanyo XStormy16                                 xstormy16-elf
1267
 
1268
* OBSOLETE configurations and files
1269
 
1270
Configurations that have been declared obsolete in this release have
1271
been commented out.  Unless there is activity to revive these
1272
configurations, the next release of GDB will have their sources
1273
permanently REMOVED.
1274
 
1275
AMD 29k family via UDI                          a29k-amd-udi, udi29k
1276
A29K VxWorks                                    a29k-*-vxworks
1277
AMD 29000 embedded, using EBMON                 a29k-none-none
1278
AMD 29000 embedded with COFF                    a29k-none-coff
1279
AMD 29000 embedded with a.out                   a29k-none-aout
1280
 
1281
testsuite/gdb.hp/gdb.threads-hp/                directory
1282
 
1283
* REMOVED configurations and files
1284
 
1285
TI TMS320C80                                    tic80-*-*
1286
WDC 65816                                       w65-*-*
1287
PowerPC Solaris                                 powerpcle-*-solaris*
1288
PowerPC Windows NT                              powerpcle-*-cygwin32
1289
PowerPC Netware                                 powerpc-*-netware*
1290
Harris/CXUX m88k                                m88*-harris-cxux*
1291
Most ns32k hosts and targets                    ns32k-*-mach3* ns32k-umax-*
1292
                                                ns32k-utek-sysv* ns32k-utek-*
1293
SunOS 4.0.Xi on i386                            i[3456]86-*-sunos*
1294
Ultracomputer (29K) running Sym1                a29k-nyu-sym1 a29k-*-kern*
1295
Sony NEWS (68K) running NEWSOS 3.x              m68*-sony-sysv news
1296
ISI Optimum V (3.05) under 4.3bsd.              m68*-isi-*
1297
Apple Macintosh (MPW) host and target           N/A host, powerpc-*-macos*
1298
 
1299
* Changes to command line processing
1300
 
1301
The new `--args' feature can be used to specify command-line arguments
1302
for the inferior from gdb's command line.
1303
 
1304
* Changes to key bindings
1305
 
1306
There is a new `operate-and-get-next' function bound to `C-o'.
1307
 
1308
*** Changes in GDB 5.1.1
1309
 
1310
Fix compile problem on DJGPP.
1311
 
1312
Fix a problem with floating-point registers on the i386 being
1313
corrupted.
1314
 
1315
Fix to stop GDB crashing on .debug_str debug info.
1316
 
1317
Numerous documentation fixes.
1318
 
1319
Numerous testsuite fixes.
1320
 
1321
*** Changes in GDB 5.1:
1322
 
1323
* New native configurations
1324
 
1325
Alpha FreeBSD                                   alpha*-*-freebsd*
1326
x86 FreeBSD 3.x and 4.x                         i[3456]86*-freebsd[34]*
1327
MIPS GNU/Linux                                  mips*-*-linux*
1328
MIPS SGI Irix 6.x                               mips*-sgi-irix6*
1329
ia64 AIX                                        ia64-*-aix*
1330
s390 and s390x GNU/Linux                        {s390,s390x}-*-linux*
1331
 
1332
* New targets
1333
 
1334
Motorola 68HC11 and 68HC12                      m68hc11-elf
1335
CRIS                                            cris-axis
1336
UltraSparc running GNU/Linux                    sparc64-*-linux*
1337
 
1338
* OBSOLETE configurations and files
1339
 
1340
x86 FreeBSD before 2.2                          i[3456]86*-freebsd{1,2.[01]}*,
1341
Harris/CXUX m88k                                m88*-harris-cxux*
1342
Most ns32k hosts and targets                    ns32k-*-mach3* ns32k-umax-*
1343
                                                ns32k-utek-sysv* ns32k-utek-*
1344
TI TMS320C80                                    tic80-*-*
1345
WDC 65816                                       w65-*-*
1346
Ultracomputer (29K) running Sym1                a29k-nyu-sym1 a29k-*-kern*
1347
PowerPC Solaris                                 powerpcle-*-solaris*
1348
PowerPC Windows NT                              powerpcle-*-cygwin32
1349
PowerPC Netware                                 powerpc-*-netware*
1350
SunOS 4.0.Xi on i386                            i[3456]86-*-sunos*
1351
Sony NEWS (68K) running NEWSOS 3.x              m68*-sony-sysv news
1352
ISI Optimum V (3.05) under 4.3bsd.              m68*-isi-*
1353
Apple Macintosh (MPW) host                      N/A
1354
 
1355
stuff.c (Program to stuff files into a specially prepared space in kdb)
1356
kdb-start.c (Main loop for the standalone kernel debugger)
1357
 
1358
Configurations that have been declared obsolete in this release have
1359
been commented out.  Unless there is activity to revive these
1360
configurations, the next release of GDB will have their sources
1361
permanently REMOVED.
1362
 
1363
* REMOVED configurations and files
1364
 
1365
Altos 3068                                      m68*-altos-*
1366
Convex                                          c1-*-*, c2-*-*
1367
Pyramid                                         pyramid-*-*
1368
ARM RISCix                                      arm-*-* (as host)
1369
Tahoe                                           tahoe-*-*
1370
ser-ocd.c                                       *-*-*
1371
 
1372
* GDB has been converted to ISO C.
1373
 
1374
GDB's source code has been converted to ISO C.  In particular, the
1375
sources are fully protoized, and rely on standard headers being
1376
present.
1377
 
1378
* Other news:
1379
 
1380
* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM.
1381
 
1382
* The MI enabled by default.
1383
 
1384
The new machine oriented interface (MI) introduced in GDB 5.0 has been
1385
revised and enabled by default.  Packages which use GDB as a debugging
1386
engine behind a UI or another front end are encouraged to switch to
1387
using the GDB/MI interface, instead of the old annotations interface
1388
which is now deprecated.
1389
 
1390
* Support for debugging Pascal programs.
1391
 
1392
GDB now includes support for debugging Pascal programs.  The following
1393
main features are supported:
1394
 
1395
    - Pascal-specific data types such as sets;
1396
 
1397
    - automatic recognition of Pascal sources based on file-name
1398
      extension;
1399
 
1400
    - Pascal-style display of data types, variables, and functions;
1401
 
1402
    - a Pascal expression parser.
1403
 
1404
However, some important features are not yet supported.
1405
 
1406
    - Pascal string operations are not supported at all;
1407
 
1408
    - there are some problems with boolean types;
1409
 
1410
    - Pascal type hexadecimal constants are not supported
1411
      because they conflict with the internal variables format;
1412
 
1413
    - support for Pascal objects and classes is not full yet;
1414
 
1415
    - unlike Pascal, GDB is case-sensitive for symbol names.
1416
 
1417
* Changes in completion.
1418
 
1419
Commands such as `shell', `run' and `set args', which pass arguments
1420
to inferior programs, now complete on file names, similar to what
1421
users expect at the shell prompt.
1422
 
1423
Commands which accept locations, such as `disassemble', `print',
1424
`breakpoint', `until', etc. now complete on filenames as well as
1425
program symbols.  Thus, if you type "break foob TAB", and the source
1426
files linked into the programs include `foobar.c', that file name will
1427
be one of the candidates for completion.  However, file names are not
1428
considered for completion after you typed a colon that delimits a file
1429
name from a name of a function in that file, as in "break foo.c:bar".
1430
 
1431
`set demangle-style' completes on available demangling styles.
1432
 
1433
* New platform-independent commands:
1434
 
1435
It is now possible to define a post-hook for a command as well as a
1436
hook that runs before the command.  For more details, see the
1437
documentation of `hookpost' in the GDB manual.
1438
 
1439
* Changes in GNU/Linux native debugging.
1440
 
1441
Support for debugging multi-threaded programs has been completely
1442
revised for all platforms except m68k and sparc.  You can now debug as
1443
many threads as your system allows you to have.
1444
 
1445
Attach/detach is supported for multi-threaded programs.
1446
 
1447
Support for SSE registers was added for x86.  This doesn't work for
1448
multi-threaded programs though.
1449
 
1450
* Changes in MIPS configurations.
1451
 
1452
Multi-arch support is enabled for all MIPS configurations.
1453
 
1454
GDB can now be built as native debugger on SGI Irix 6.x systems for
1455
debugging n32 executables.  (Debugging 64-bit executables is not yet
1456
supported.)
1457
 
1458
* Unified support for hardware watchpoints in all x86 configurations.
1459
 
1460
Most (if not all) native x86 configurations support hardware-assisted
1461
breakpoints and watchpoints in a unified manner.  This support
1462
implements debug register sharing between watchpoints, which allows to
1463
put a virtually infinite number of watchpoints on the same address,
1464
and also supports watching regions up to 16 bytes with several debug
1465
registers.
1466
 
1467
The new maintenance command `maintenance show-debug-regs' toggles
1468
debugging print-outs in functions that insert, remove, and test
1469
watchpoints and hardware breakpoints.
1470
 
1471
* Changes in the DJGPP native configuration.
1472
 
1473
New command ``info dos sysinfo'' displays assorted information about
1474
the CPU, OS, memory, and DPMI server.
1475
 
1476
New commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt''
1477
display information about segment descriptors stored in GDT, LDT, and
1478
IDT.
1479
 
1480
New commands ``info dos pde'' and ``info dos pte'' display entries
1481
from Page Directory and Page Tables (for now works with CWSDPMI only).
1482
New command ``info dos address-pte'' displays the Page Table entry for
1483
a given linear address.
1484
 
1485
GDB can now pass command lines longer than 126 characters to the
1486
program being debugged (requires an update to the libdbg.a library
1487
which is part of the DJGPP development kit).
1488
 
1489
DWARF2 debug info is now supported.
1490
 
1491
It is now possible to `step' and `next' through calls to `longjmp'.
1492
 
1493
* Changes in documentation.
1494
 
1495
All GDB documentation was converted to GFDL, the GNU Free
1496
Documentation License.
1497
 
1498
Tracepoints-related commands are now fully documented in the GDB
1499
manual.
1500
 
1501
TUI, the Text-mode User Interface, is now documented in the manual.
1502
 
1503
Tracepoints-related commands are now fully documented in the GDB
1504
manual.
1505
 
1506
The "GDB Internals" manual now has an index.  It also includes
1507
documentation of `ui_out' functions, GDB coding standards, x86
1508
hardware watchpoints, and memory region attributes.
1509
 
1510
* GDB's version number moved to ``version.in''
1511
 
1512
The Makefile variable VERSION has been replaced by the file
1513
``version.in''.  People creating GDB distributions should update the
1514
contents of this file.
1515
 
1516
* gdba.el deleted
1517
 
1518
GUD support is now a standard part of the EMACS distribution.
1519
 
1520
*** Changes in GDB 5.0:
1521
 
1522
* Improved support for debugging FP programs on x86 targets
1523
 
1524
Unified and much-improved support for debugging floating-point
1525
programs on all x86 targets.  In particular, ``info float'' now
1526
displays the FP registers in the same format on all x86 targets, with
1527
greater level of detail.
1528
 
1529
* Improvements and bugfixes in hardware-assisted watchpoints
1530
 
1531
It is now possible to watch array elements, struct members, and
1532
bitfields with hardware-assisted watchpoints.  Data-read watchpoints
1533
on x86 targets no longer erroneously trigger when the address is
1534
written.
1535
 
1536
* Improvements in the native DJGPP version of GDB
1537
 
1538
The distribution now includes all the scripts and auxiliary files
1539
necessary to build the native DJGPP version on MS-DOS/MS-Windows
1540
machines ``out of the box''.
1541
 
1542
The DJGPP version can now debug programs that use signals.  It is
1543
possible to catch signals that happened in the debuggee, deliver
1544
signals to it, interrupt it with Ctrl-C, etc.  (Previously, a signal
1545
would kill the program being debugged.)  Programs that hook hardware
1546
interrupts (keyboard, timer, etc.) can also be debugged.
1547
 
1548
It is now possible to debug DJGPP programs that redirect their
1549
standard handles or switch them to raw (as opposed to cooked) mode, or
1550
even close them.  The command ``run < foo > bar'' works as expected,
1551
and ``info terminal'' reports useful information about the debuggee's
1552
terminal, including raw/cooked mode, redirection, etc.
1553
 
1554
The DJGPP version now uses termios functions for console I/O, which
1555
enables debugging graphics programs.  Interrupting GDB with Ctrl-C
1556
also works.
1557
 
1558
DOS-style file names with drive letters are now fully supported by
1559
GDB.
1560
 
1561
It is now possible to debug DJGPP programs that switch their working
1562
directory.  It is also possible to rerun the debuggee any number of
1563
times without restarting GDB; thus, you can use the same setup,
1564
breakpoints, etc. for many debugging sessions.
1565
 
1566
* New native configurations
1567
 
1568
ARM GNU/Linux                                   arm*-*-linux*
1569
PowerPC GNU/Linux                               powerpc-*-linux*
1570
 
1571
* New targets
1572
 
1573
Motorola MCore                                  mcore-*-*
1574
x86 VxWorks                                     i[3456]86-*-vxworks*
1575
PowerPC VxWorks                                 powerpc-*-vxworks*
1576
TI TMS320C80                                    tic80-*-*
1577
 
1578
* OBSOLETE configurations
1579
 
1580
Altos 3068                                      m68*-altos-*
1581
Convex                                          c1-*-*, c2-*-*
1582
Pyramid                                         pyramid-*-*
1583
ARM RISCix                                      arm-*-* (as host)
1584
Tahoe                                           tahoe-*-*
1585
 
1586
Configurations that have been declared obsolete will be commented out,
1587
but the code will be left in place.  If there is no activity to revive
1588
these configurations before the next release of GDB, the sources will
1589
be permanently REMOVED.
1590
 
1591
* Gould support removed
1592
 
1593
Support for the Gould PowerNode and NP1 has been removed.
1594
 
1595
* New features for SVR4
1596
 
1597
On SVR4 native platforms (such as Solaris), if you attach to a process
1598
without first loading a symbol file, GDB will now attempt to locate and
1599
load symbols from the running process's executable file.
1600
 
1601
* Many C++ enhancements
1602
 
1603
C++ support has been greatly improved. Overload resolution now works properly
1604
in almost all cases. RTTI support is on the way.
1605
 
1606
* Remote targets can connect to a sub-program
1607
 
1608
A popen(3) style serial-device has been added.  This device starts a
1609
sub-process (such as a stand-alone simulator) and then communicates
1610
with that.  The sub-program to run is specified using the syntax
1611
``| '' vis:
1612
 
1613
        (gdb) set remotedebug 1
1614
        (gdb) target extended-remote |mn10300-elf-sim program-args
1615
 
1616
* MIPS 64 remote protocol
1617
 
1618
A long standing bug in the mips64 remote protocol where by GDB
1619
expected certain 32 bit registers (ex SR) to be transfered as 32
1620
instead of 64 bits has been fixed.
1621
 
1622
The command ``set remote-mips64-transfers-32bit-regs on'' has been
1623
added to provide backward compatibility with older versions of GDB.
1624
 
1625
* ``set remotebinarydownload'' replaced by ``set remote X-packet''
1626
 
1627
The command ``set remotebinarydownload'' command has been replaced by
1628
``set remote X-packet''.  Other commands in ``set remote'' family
1629
include ``set remote P-packet''.
1630
 
1631
* Breakpoint commands accept ranges.
1632
 
1633
The breakpoint commands ``enable'', ``disable'', and ``delete'' now
1634
accept a range of breakpoints, e.g. ``5-7''.  The tracepoint command
1635
``tracepoint passcount'' also accepts a range of tracepoints.
1636
 
1637
* ``apropos'' command added.
1638
 
1639
The ``apropos'' command searches through command names and
1640
documentation strings, printing out matches, making it much easier to
1641
try to find a command that does what you are looking for.
1642
 
1643
* New MI interface
1644
 
1645
A new machine oriented interface (MI) has been added to GDB.  This
1646
interface is designed for debug environments running GDB as a separate
1647
process.  This is part of the long term libGDB project.  See the
1648
"GDB/MI" chapter of the GDB manual for further information.  It can be
1649
enabled by configuring with:
1650
 
1651
        .../configure --enable-gdbmi
1652
 
1653
*** Changes in GDB-4.18:
1654
 
1655
* New native configurations
1656
 
1657
HP-UX 10.20                                     hppa*-*-hpux10.20
1658
HP-UX 11.x                                      hppa*-*-hpux11.0*
1659
M68K GNU/Linux                                  m68*-*-linux*
1660
 
1661
* New targets
1662
 
1663
Fujitsu FR30                                    fr30-*-elf*
1664
Intel StrongARM                                 strongarm-*-*
1665
Mitsubishi D30V                                 d30v-*-*
1666
 
1667
* OBSOLETE configurations
1668
 
1669
Gould PowerNode, NP1                            np1-*-*, pn-*-*
1670
 
1671
Configurations that have been declared obsolete will be commented out,
1672
but the code will be left in place.  If there is no activity to revive
1673
these configurations before the next release of GDB, the sources will
1674
be permanently REMOVED.
1675
 
1676
* ANSI/ISO C
1677
 
1678
As a compatibility experiment, GDB's source files buildsym.h and
1679
buildsym.c have been converted to pure standard C, no longer
1680
containing any K&R compatibility code.  We believe that all systems in
1681
use today either come with a standard C compiler, or have a GCC port
1682
available.  If this is not true, please report the affected
1683
configuration to bug-gdb@gnu.org immediately.  See the README file for
1684
information about getting a standard C compiler if you don't have one
1685
already.
1686
 
1687
* Readline 2.2
1688
 
1689
GDB now uses readline 2.2.
1690
 
1691
* set extension-language
1692
 
1693
You can now control the mapping between filename extensions and source
1694
languages by using the `set extension-language' command.  For instance,
1695
you can ask GDB to treat .c files as C++ by saying
1696
        set extension-language .c c++
1697
The command `info extensions' lists all of the recognized extensions
1698
and their associated languages.
1699
 
1700
* Setting processor type for PowerPC and RS/6000
1701
 
1702
When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
1703
you can use the `set processor' command to specify what variant of the
1704
PowerPC family you are debugging.  The command
1705
 
1706
        set processor NAME
1707
 
1708
sets the PowerPC/RS6000 variant to NAME.  GDB knows about the
1709
following PowerPC and RS6000 variants:
1710
 
1711
  ppc-uisa  PowerPC UISA - a PPC processor as viewed by user-level code
1712
  rs6000    IBM RS6000 ("POWER") architecture, user-level view
1713
  403       IBM PowerPC 403
1714
  403GC     IBM PowerPC 403GC
1715
  505       Motorola PowerPC 505
1716
  860       Motorola PowerPC 860 or 850
1717
  601       Motorola PowerPC 601
1718
  602       Motorola PowerPC 602
1719
  603       Motorola/IBM PowerPC 603 or 603e
1720
  604       Motorola PowerPC 604 or 604e
1721
  750       Motorola/IBM PowerPC 750 or 750
1722
 
1723
At the moment, this command just tells GDB what to name the
1724
special-purpose processor registers.  Since almost all the affected
1725
registers are inaccessible to user-level programs, this command is
1726
only useful for remote debugging in its present form.
1727
 
1728
* HP-UX support
1729
 
1730
Thanks to a major code donation from Hewlett-Packard, GDB now has much
1731
more extensive support for HP-UX.  Added features include shared
1732
library support, kernel threads and hardware watchpoints for 11.00,
1733
support for HP's ANSI C and C++ compilers, and a compatibility mode
1734
for xdb and dbx commands.
1735
 
1736
* Catchpoints
1737
 
1738
HP's donation includes the new concept of catchpoints, which is a
1739
generalization of the old catch command.  On HP-UX, it is now possible
1740
to catch exec, fork, and vfork, as well as library loading.
1741
 
1742
This means that the existing catch command has changed; its first
1743
argument now specifies the type of catch to be set up.  See the
1744
output of "help catch" for a list of catchpoint types.
1745
 
1746
* Debugging across forks
1747
 
1748
On HP-UX, you can choose which process to debug when a fork() happens
1749
in the inferior.
1750
 
1751
* TUI
1752
 
1753
HP has donated a curses-based terminal user interface (TUI).  To get
1754
it, build with --enable-tui.  Although this can be enabled for any
1755
configuration, at present it only works for native HP debugging.
1756
 
1757
* GDB remote protocol additions
1758
 
1759
A new protocol packet 'X' that writes binary data is now available.
1760
Default behavior is to try 'X', then drop back to 'M' if the stub
1761
fails to respond.  The settable variable `remotebinarydownload'
1762
allows explicit control over the use of 'X'.
1763
 
1764
For 64-bit targets, the memory packets ('M' and 'm') can now contain a
1765
full 64-bit address.  The command
1766
 
1767
        set remoteaddresssize 32
1768
 
1769
can be used to revert to the old behaviour.  For existing remote stubs
1770
the change should not be noticed, as the additional address information
1771
will be discarded.
1772
 
1773
In order to assist in debugging stubs, you may use the maintenance
1774
command `packet' to send any text string to the stub.  For instance,
1775
 
1776
        maint packet heythere
1777
 
1778
sends the packet "$heythere#".  Note that it is very easy to
1779
disrupt a debugging session by sending the wrong packet at the wrong
1780
time.
1781
 
1782
The compare-sections command allows you to compare section data on the
1783
target to what is in the executable file without uploading or
1784
downloading, by comparing CRC checksums.
1785
 
1786
* Tracing can collect general expressions
1787
 
1788
You may now collect general expressions at tracepoints.  This requires
1789
further additions to the target-side stub; see tracepoint.c and
1790
doc/agentexpr.texi for further details.
1791
 
1792
* mask-address variable for Mips
1793
 
1794
For Mips targets, you may control the zeroing of the upper 32 bits of
1795
a 64-bit address by entering `set mask-address on'.  This is mainly
1796
of interest to users of embedded R4xxx and R5xxx processors.
1797
 
1798
* Higher serial baud rates
1799
 
1800
GDB's serial code now allows you to specify baud rates 57600, 115200,
1801
230400, and 460800 baud.  (Note that your host system may not be able
1802
to achieve all of these rates.)
1803
 
1804
* i960 simulator
1805
 
1806
The i960 configuration now includes an initial implementation of a
1807
builtin simulator, contributed by Jim Wilson.
1808
 
1809
 
1810
*** Changes in GDB-4.17:
1811
 
1812
* New native configurations
1813
 
1814
Alpha GNU/Linux                                 alpha*-*-linux*
1815
Unixware 2.x                                    i[3456]86-unixware2*
1816
Irix 6.x                                        mips*-sgi-irix6*
1817
PowerPC GNU/Linux                               powerpc-*-linux*
1818
PowerPC Solaris                                 powerpcle-*-solaris*
1819
Sparc GNU/Linux                                 sparc-*-linux*
1820
Motorola sysV68 R3V7.1                          m68k-motorola-sysv
1821
 
1822
* New targets
1823
 
1824
Argonaut Risc Chip (ARC)                        arc-*-*
1825
Hitachi H8/300S                                 h8300*-*-*
1826
Matsushita MN10200 w/simulator                  mn10200-*-*
1827
Matsushita MN10300 w/simulator                  mn10300-*-*
1828
MIPS NEC VR4100                                 mips64*vr4100*{,el}-*-elf*
1829
MIPS NEC VR5000                                 mips64*vr5000*{,el}-*-elf*
1830
MIPS Toshiba TX39                               mips64*tx39*{,el}-*-elf*
1831
Mitsubishi D10V w/simulator                     d10v-*-*
1832
Mitsubishi M32R/D w/simulator                   m32r-*-elf*
1833
Tsqware Sparclet                                sparclet-*-*
1834
NEC V850 w/simulator                            v850-*-*
1835
 
1836
* New debugging protocols
1837
 
1838
ARM with RDI protocol                           arm*-*-*
1839
M68K with dBUG monitor                          m68*-*-{aout,coff,elf}
1840
DDB and LSI variants of PMON protocol           mips*-*-*
1841
PowerPC with DINK32 monitor                     powerpc{,le}-*-eabi
1842
PowerPC with SDS protocol                       powerpc{,le}-*-eabi
1843
Macraigor OCD (Wiggler) devices                 powerpc{,le}-*-eabi
1844
 
1845
* DWARF 2
1846
 
1847
All configurations can now understand and use the DWARF 2 debugging
1848
format.  The choice is automatic, if the symbol file contains DWARF 2
1849
information.
1850
 
1851
* Java frontend
1852
 
1853
GDB now includes basic Java language support.  This support is
1854
only useful with Java compilers that produce native machine code.
1855
 
1856
* solib-absolute-prefix and solib-search-path
1857
 
1858
For SunOS and SVR4 shared libraries, you may now set the prefix for
1859
loading absolute shared library symbol files, and the search path for
1860
locating non-absolute shared library symbol files.
1861
 
1862
* Live range splitting
1863
 
1864
GDB can now effectively debug code for which GCC has performed live
1865
range splitting as part of its optimization.  See gdb/doc/LRS for
1866
more details on the expected format of the stabs information.
1867
 
1868
* Hurd support
1869
 
1870
GDB's support for the GNU Hurd, including thread debugging, has been
1871
updated to work with current versions of the Hurd.
1872
 
1873
* ARM Thumb support
1874
 
1875
GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit
1876
instruction set.  ARM GDB automatically detects when Thumb
1877
instructions are in use, and adjusts disassembly and backtracing
1878
accordingly.
1879
 
1880
* MIPS16 support
1881
 
1882
GDB's MIPS target configurations now handle the MIP16 16-bit
1883
instruction set.
1884
 
1885
* Overlay support
1886
 
1887
GDB now includes support for overlays; if an executable has been
1888
linked such that multiple sections are based at the same address, GDB
1889
will decide which section to use for symbolic info.  You can choose to
1890
control the decision manually, using overlay commands, or implement
1891
additional target-side support and use "overlay load-target" to bring
1892
in the overlay mapping.  Do "help overlay" for more detail.
1893
 
1894
* info symbol
1895
 
1896
The command "info symbol 
" displays information about
1897
the symbol at the specified address.
1898
 
1899
* Trace support
1900
 
1901
The standard remote protocol now includes an extension that allows
1902
asynchronous collection and display of trace data.  This requires
1903
extensive support in the target-side debugging stub.  Tracing mode
1904
includes a new interaction mode in GDB and new commands: see the
1905
file tracepoint.c for more details.
1906
 
1907
* MIPS simulator
1908
 
1909
Configurations for embedded MIPS now include a simulator contributed
1910
by Cygnus Solutions.  The simulator supports the instruction sets
1911
of most MIPS variants.
1912
 
1913
* Sparc simulator
1914
 
1915
Sparc configurations may now include the ERC32 simulator contributed
1916
by the European Space Agency.  The simulator is not built into
1917
Sparc targets by default; configure with --enable-sim to include it.
1918
 
1919
* set architecture
1920
 
1921
For target configurations that may include multiple variants of a
1922
basic architecture (such as MIPS and SH), you may now set the
1923
architecture explicitly.  "set arch" sets, "info arch" lists
1924
the possible architectures.
1925
 
1926
*** Changes in GDB-4.16:
1927
 
1928
* New native configurations
1929
 
1930
Windows 95, x86 Windows NT                      i[345]86-*-cygwin32
1931
M68K NetBSD                                     m68k-*-netbsd*
1932
PowerPC AIX 4.x                                 powerpc-*-aix*
1933
PowerPC MacOS                                   powerpc-*-macos*
1934
PowerPC Windows NT                              powerpcle-*-cygwin32
1935
RS/6000 AIX 4.x                                 rs6000-*-aix4*
1936
 
1937
* New targets
1938
 
1939
ARM with RDP protocol                           arm-*-*
1940
I960 with MON960                                i960-*-coff
1941
MIPS VxWorks                                    mips*-*-vxworks*
1942
MIPS VR4300 with PMON                           mips64*vr4300{,el}-*-elf*
1943
PowerPC with PPCBUG monitor                     powerpc{,le}-*-eabi*
1944
Hitachi SH3                                     sh-*-*
1945
Matra Sparclet                                  sparclet-*-*
1946
 
1947
* PowerPC simulator
1948
 
1949
The powerpc-eabi configuration now includes the PSIM simulator,
1950
contributed by Andrew Cagney, with assistance from Mike Meissner.
1951
PSIM is a very elaborate model of the PowerPC, including not only
1952
basic instruction set execution, but also details of execution unit
1953
performance and I/O hardware.  See sim/ppc/README for more details.
1954
 
1955
* Solaris 2.5
1956
 
1957
GDB now works with Solaris 2.5.
1958
 
1959
* Windows 95/NT native
1960
 
1961
GDB will now work as a native debugger on Windows 95 and Windows NT.
1962
To build it from source, you must use the "gnu-win32" environment,
1963
which uses a DLL to emulate enough of Unix to run the GNU tools.
1964
Further information, binaries, and sources are available at
1965
ftp.cygnus.com, under pub/gnu-win32.
1966
 
1967
* dont-repeat command
1968
 
1969
If a user-defined command includes the command `dont-repeat', then the
1970
command will not be repeated if the user just types return.  This is
1971
useful if the command is time-consuming to run, so that accidental
1972
extra keystrokes don't run the same command many times.
1973
 
1974
* Send break instead of ^C
1975
 
1976
The standard remote protocol now includes an option to send a break
1977
rather than a ^C to the target in order to interrupt it.  By default,
1978
GDB will send ^C; to send a break, set the variable `remotebreak' to 1.
1979
 
1980
* Remote protocol timeout
1981
 
1982
The standard remote protocol includes a new variable `remotetimeout'
1983
that allows you to set the number of seconds before GDB gives up trying
1984
to read from the target.  The default value is 2.
1985
 
1986
* Automatic tracking of dynamic object loading (HPUX and Solaris only)
1987
 
1988
By default GDB will automatically keep track of objects as they are
1989
loaded and unloaded by the dynamic linker.  By using the command `set
1990
stop-on-solib-events 1' you can arrange for GDB to stop the inferior
1991
when shared library events occur, thus allowing you to set breakpoints
1992
in shared libraries which are explicitly loaded by the inferior.
1993
 
1994
Note this feature does not work on hpux8.  On hpux9 you must link
1995
/usr/lib/end.o into your program.  This feature should work
1996
automatically on hpux10.
1997
 
1998
* Irix 5.x hardware watchpoint support
1999
 
2000
Irix 5 configurations now support the use of hardware watchpoints.
2001
 
2002
* Mips protocol "SYN garbage limit"
2003
 
2004
When debugging a Mips target using the `target mips' protocol, you
2005
may set the number of characters that GDB will ignore by setting
2006
the `syn-garbage-limit'.  A value of -1 means that GDB will ignore
2007
every character.  The default value is 1050.
2008
 
2009
* Recording and replaying remote debug sessions
2010
 
2011
If you set `remotelogfile' to the name of a file, gdb will write to it
2012
a recording of a remote debug session.  This recording may then be
2013
replayed back to gdb using "gdbreplay".  See gdbserver/README for
2014
details.  This is useful when you have a problem with GDB while doing
2015
remote debugging; you can make a recording of the session and send it
2016
to someone else, who can then recreate the problem.
2017
 
2018
* Speedups for remote debugging
2019
 
2020
GDB includes speedups for downloading and stepping MIPS systems using
2021
the IDT monitor, fast downloads to the Hitachi SH E7000 emulator,
2022
and more efficient S-record downloading.
2023
 
2024
* Memory use reductions and statistics collection
2025
 
2026
GDB now uses less memory and reports statistics about memory usage.
2027
Try the `maint print statistics' command, for example.
2028
 
2029
*** Changes in GDB-4.15:
2030
 
2031
* Psymtabs for XCOFF
2032
 
2033
The symbol reader for AIX GDB now uses partial symbol tables.  This
2034
can greatly improve startup time, especially for large executables.
2035
 
2036
* Remote targets use caching
2037
 
2038
Remote targets now use a data cache to speed up communication with the
2039
remote side.  The data cache could lead to incorrect results because
2040
it doesn't know about volatile variables, thus making it impossible to
2041
debug targets which use memory mapped I/O devices. `set remotecache
2042
off' turns the the data cache off.
2043
 
2044
* Remote targets may have threads
2045
 
2046
The standard remote protocol now includes support for multiple threads
2047
in the target system, using new protocol commands 'H' and 'T'.  See
2048
gdb/remote.c for details.
2049
 
2050
* NetROM support
2051
 
2052
If GDB is configured with `--enable-netrom', then it will include
2053
support for the NetROM ROM emulator from XLNT Designs.  The NetROM
2054
acts as though it is a bank of ROM on the target board, but you can
2055
write into it over the network.  GDB's support consists only of
2056
support for fast loading into the emulated ROM; to debug, you must use
2057
another protocol, such as standard remote protocol.  The usual
2058
sequence is something like
2059
 
2060
        target nrom 
2061
        load 
2062
        target remote :1235
2063
 
2064
* Macintosh host
2065
 
2066
GDB now includes support for the Apple Macintosh, as a host only.  It
2067
may be run as either an MPW tool or as a standalone application, and
2068
it can debug through the serial port.  All the usual GDB commands are
2069
available, but to the target command, you must supply "serial" as the
2070
device type instead of "/dev/ttyXX".  See mpw-README in the main
2071
directory for more information on how to build.  The MPW configuration
2072
scripts */mpw-config.in support only a few targets, and only the
2073
mips-idt-ecoff target has been tested.
2074
 
2075
* Autoconf
2076
 
2077
GDB configuration now uses autoconf.  This is not user-visible,
2078
but does simplify configuration and building.
2079
 
2080
* hpux10
2081
 
2082
GDB now supports hpux10.
2083
 
2084
*** Changes in GDB-4.14:
2085
 
2086
* New native configurations
2087
 
2088
x86 FreeBSD                                     i[345]86-*-freebsd
2089
x86 NetBSD                                      i[345]86-*-netbsd
2090
NS32k NetBSD                                    ns32k-*-netbsd
2091
Sparc NetBSD                                    sparc-*-netbsd
2092
 
2093
* New targets
2094
 
2095
A29K VxWorks                                    a29k-*-vxworks
2096
HP PA PRO embedded (WinBond W89K & Oki OP50N)   hppa*-*-pro*
2097
CPU32 EST-300 emulator                          m68*-*-est*
2098
PowerPC ELF                                     powerpc-*-elf
2099
WDC 65816                                       w65-*-*
2100
 
2101
* Alpha OSF/1 support for procfs
2102
 
2103
GDB now supports procfs under OSF/1-2.x and higher, which makes it
2104
possible to attach to running processes.  As the mounting of the /proc
2105
filesystem is optional on the Alpha, GDB automatically determines
2106
the availability of /proc during startup.  This can lead to problems
2107
if /proc is unmounted after GDB has been started.
2108
 
2109
* Arguments to user-defined commands
2110
 
2111
User commands may accept up to 10 arguments separated by whitespace.
2112
Arguments are accessed within the user command via $arg0..$arg9.  A
2113
trivial example:
2114
define adder
2115
  print $arg0 + $arg1 + $arg2
2116
 
2117
To execute the command use:
2118
adder 1 2 3
2119
 
2120
Defines the command "adder" which prints the sum of its three arguments.
2121
Note the arguments are text substitutions, so they may reference variables,
2122
use complex expressions, or even perform inferior function calls.
2123
 
2124
* New `if' and `while' commands
2125
 
2126
This makes it possible to write more sophisticated user-defined
2127
commands.  Both commands take a single argument, which is the
2128
expression to evaluate, and must be followed by the commands to
2129
execute, one per line, if the expression is nonzero, the list being
2130
terminated by the word `end'.  The `if' command list may include an
2131
`else' word, which causes the following commands to be executed only
2132
if the expression is zero.
2133
 
2134
* Fortran source language mode
2135
 
2136
GDB now includes partial support for Fortran 77.  It will recognize
2137
Fortran programs and can evaluate a subset of Fortran expressions, but
2138
variables and functions may not be handled correctly.  GDB will work
2139
with G77, but does not yet know much about symbols emitted by other
2140
Fortran compilers.
2141
 
2142
* Better HPUX support
2143
 
2144
Most debugging facilities now work on dynamic executables for HPPAs
2145
running hpux9 or later.  You can attach to running dynamically linked
2146
processes, but by default the dynamic libraries will be read-only, so
2147
for instance you won't be able to put breakpoints in them.  To change
2148
that behavior do the following before running the program:
2149
 
2150
        adb -w a.out
2151
        __dld_flags?W 0x5
2152
        control-d
2153
 
2154
This will cause the libraries to be mapped private and read-write.
2155
To revert to the normal behavior, do this:
2156
 
2157
        adb -w a.out
2158
        __dld_flags?W 0x4
2159
        control-d
2160
 
2161
You cannot set breakpoints or examine data in the library until after
2162
the library is loaded if the function/data symbols do not have
2163
external linkage.
2164
 
2165
GDB can now also read debug symbols produced by the HP C compiler on
2166
HPPAs (sorry, no C++, Fortran or 68k support).
2167
 
2168
* Target byte order now dynamically selectable
2169
 
2170
You can choose which byte order to use with a target system, via the
2171
commands "set endian big" and "set endian little", and you can see the
2172
current setting by using "show endian".  You can also give the command
2173
"set endian auto", in which case GDB will use the byte order
2174
associated with the executable.  Currently, only embedded MIPS
2175
configurations support dynamic selection of target byte order.
2176
 
2177
* New DOS host serial code
2178
 
2179
This version uses DPMI interrupts to handle buffered I/O, so you
2180
no longer need to run asynctsr when debugging boards connected to
2181
a PC's serial port.
2182
 
2183
*** Changes in GDB-4.13:
2184
 
2185
* New "complete" command
2186
 
2187
This lists all the possible completions for the rest of the line, if it
2188
were to be given as a command itself.  This is intended for use by emacs.
2189
 
2190
* Trailing space optional in prompt
2191
 
2192
"set prompt" no longer adds a space for you after the prompt you set.  This
2193
allows you to set a prompt which ends in a space or one that does not.
2194
 
2195
* Breakpoint hit counts
2196
 
2197
"info break" now displays a count of the number of times the breakpoint
2198
has been hit.  This is especially useful in conjunction with "ignore"; you
2199
can ignore a large number of breakpoint hits, look at the breakpoint info
2200
to see how many times the breakpoint was hit, then run again, ignoring one
2201
less than that number, and this will get you quickly to the last hit of
2202
that breakpoint.
2203
 
2204
* Ability to stop printing at NULL character
2205
 
2206
"set print null-stop" will cause GDB to stop printing the characters of
2207
an array when the first NULL is encountered.  This is useful when large
2208
arrays actually contain only short strings.
2209
 
2210
* Shared library breakpoints
2211
 
2212
In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set
2213
breakpoints in shared libraries before the executable is run.
2214
 
2215
* Hardware watchpoints
2216
 
2217
There is a new hardware breakpoint for the watch command for sparclite
2218
targets.  See gdb/sparclite/hw_breakpoint.note.
2219
 
2220
Hardware watchpoints are also now supported under GNU/Linux.
2221
 
2222
* Annotations
2223
 
2224
Annotations have been added.  These are for use with graphical interfaces,
2225
and are still experimental.  Currently only gdba.el uses these.
2226
 
2227
* Improved Irix 5 support
2228
 
2229
GDB now works properly with Irix 5.2.
2230
 
2231
* Improved HPPA support
2232
 
2233
GDB now works properly with the latest GCC and GAS.
2234
 
2235
* New native configurations
2236
 
2237
Sequent PTX4                            i[34]86-sequent-ptx4
2238
HPPA running OSF/1                      hppa*-*-osf*
2239
Atari TT running SVR4                   m68*-*-sysv4*
2240
RS/6000 LynxOS                          rs6000-*-lynxos*
2241
 
2242
* New targets
2243
 
2244
OS/9000                                 i[34]86-*-os9k
2245
MIPS R4000                              mips64*{,el}-*-{ecoff,elf}
2246
Sparc64                                 sparc64-*-*
2247
 
2248
* Hitachi SH7000 and E7000-PC ICE support
2249
 
2250
There is now support for communicating with the Hitachi E7000-PC ICE.
2251
This is available automatically when GDB is configured for the SH.
2252
 
2253
* Fixes
2254
 
2255
As usual, a variety of small fixes and improvements, both generic
2256
and configuration-specific.  See the ChangeLog for more detail.
2257
 
2258
*** Changes in GDB-4.12:
2259
 
2260
* Irix 5 is now supported
2261
 
2262
* HPPA support
2263
 
2264
GDB-4.12 on the HPPA has a number of changes which make it unable
2265
to debug the output from the currently released versions of GCC and
2266
GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36).  Until the next major release
2267
of GCC and GAS, versions of these tools designed to work with GDB-4.12
2268
can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist.
2269
 
2270
 
2271
*** Changes in GDB-4.11:
2272
 
2273
* User visible changes:
2274
 
2275
* Remote Debugging
2276
 
2277
The "set remotedebug" option is now consistent between the mips remote
2278
target, remote targets using the gdb-specific protocol, UDI (AMD's
2279
debug protocol for the 29k) and the 88k bug monitor.  It is now an
2280
integer specifying a debug level (normally 0 or 1, but 2 means more
2281
debugging info for the mips target).
2282
 
2283
* DEC Alpha native support
2284
 
2285
GDB now works on the DEC Alpha.  GCC 2.4.5 does not produce usable
2286
debug info, but GDB works fairly well with the DEC compiler and should
2287
work with a future GCC release.  See the README file for a few
2288
Alpha-specific notes.
2289
 
2290
* Preliminary thread implementation
2291
 
2292
GDB now has preliminary thread support for both SGI/Irix and LynxOS.
2293
 
2294
* LynxOS native and target support for 386
2295
 
2296
This release has been hosted on LynxOS 2.2, and also can be configured
2297
to remotely debug programs running under LynxOS (see gdb/gdbserver/README
2298
for details).
2299
 
2300
* Improvements in C++ mangling/demangling.
2301
 
2302
This release has much better g++ debugging, specifically in name
2303
mangling/demangling, virtual function calls, print virtual table,
2304
call methods, ...etc.
2305
 
2306
*** Changes in GDB-4.10:
2307
 
2308
 * User visible changes:
2309
 
2310
Remote debugging using the GDB-specific (`target remote') protocol now
2311
supports the `load' command.  This is only useful if you have some
2312
other way of getting the stub to the target system, and you can put it
2313
somewhere in memory where it won't get clobbered by the download.
2314
 
2315
Filename completion now works.
2316
 
2317
When run under emacs mode, the "info line" command now causes the
2318
arrow to point to the line specified.  Also, "info line" prints
2319
addresses in symbolic form (as well as hex).
2320
 
2321
All vxworks based targets now support a user settable option, called
2322
vxworks-timeout.  This option represents the number of seconds gdb
2323
should wait for responses to rpc's.  You might want to use this if
2324
your vxworks target is, perhaps, a slow software simulator or happens
2325
to be on the far side of a thin network line.
2326
 
2327
 * DEC alpha support
2328
 
2329
This release contains support for using a DEC alpha as a GDB host for
2330
cross debugging.  Native alpha debugging is not supported yet.
2331
 
2332
 
2333
*** Changes in GDB-4.9:
2334
 
2335
 * Testsuite
2336
 
2337
This is the first GDB release which is accompanied by a matching testsuite.
2338
The testsuite requires installation of dejagnu, which should be available
2339
via ftp from most sites that carry GNU software.
2340
 
2341
 * C++ demangling
2342
 
2343
'Cfront' style demangling has had its name changed to 'ARM' style, to
2344
emphasize that it was written from the specifications in the C++ Annotated
2345
Reference Manual, not necessarily to be compatible with AT&T cfront.  Despite
2346
disclaimers, it still generated too much confusion with users attempting to
2347
use gdb with AT&T cfront.
2348
 
2349
 * Simulators
2350
 
2351
GDB now uses a standard remote interface to a simulator library.
2352
So far, the library contains simulators for the Zilog Z8001/2, the
2353
Hitachi H8/300, H8/500 and Super-H.
2354
 
2355
 * New targets supported
2356
 
2357
H8/300 simulator                        h8300-hitachi-hms or h8300hms
2358
H8/500 simulator                        h8500-hitachi-hms or h8500hms
2359
SH simulator                            sh-hitachi-hms    or sh
2360
Z8000 simulator                         z8k-zilog-none    or z8ksim
2361
IDT MIPS board over serial line         mips-idt-ecoff
2362
 
2363
Cross-debugging to GO32 targets is supported.  It requires a custom
2364
version of the i386-stub.c module which is integrated with the
2365
GO32 memory extender.
2366
 
2367
 * New remote protocols
2368
 
2369
MIPS remote debugging protocol.
2370
 
2371
 * New source languages supported
2372
 
2373
This version includes preliminary support for Chill, a Pascal like language
2374
used by telecommunications companies.  Chill support is also being integrated
2375
into the GNU compiler, but we don't know when it will be publically available.
2376
 
2377
 
2378
*** Changes in GDB-4.8:
2379
 
2380
 * HP Precision Architecture supported
2381
 
2382
GDB now supports HP PA-RISC machines running HPUX.  A preliminary
2383
version of this support was available as a set of patches from the
2384
University of Utah.  GDB does not support debugging of programs
2385
compiled with the HP compiler, because HP will not document their file
2386
format.  Instead, you must use GCC (version 2.3.2 or later) and PA-GAS
2387
(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z).
2388
 
2389
Many problems in the preliminary version have been fixed.
2390
 
2391
 * Faster and better demangling
2392
 
2393
We have improved template demangling and fixed numerous bugs in the GNU style
2394
demangler.  It can now handle type modifiers such as `static' or `const'.  Wide
2395
character types (wchar_t) are now supported.  Demangling of each symbol is now
2396
only done once, and is cached when the symbol table for a file is read in.
2397
This results in a small increase in memory usage for C programs, a moderate
2398
increase in memory usage for C++ programs, and a fantastic speedup in
2399
symbol lookups.
2400
 
2401
`Cfront' style demangling still doesn't work with AT&T cfront.  It was written
2402
from the specifications in the Annotated Reference Manual, which AT&T's
2403
compiler does not actually implement.
2404
 
2405
 * G++ multiple inheritance compiler problem
2406
 
2407
In the 2.3.2 release of gcc/g++, how the compiler resolves multiple
2408
inheritance lattices was reworked to properly discover ambiguities.  We
2409
recently found an example which causes this new algorithm to fail in a
2410
very subtle way, producing bad debug information for those classes.
2411
The file 'gcc.patch' (in this directory) can be applied to gcc to
2412
circumvent the problem.  A future GCC release will contain a complete
2413
fix.
2414
 
2415
The previous G++ debug info problem (mentioned below for the gdb-4.7
2416
release) is fixed in gcc version 2.3.2.
2417
 
2418
 * Improved configure script
2419
 
2420
The `configure' script will now attempt to guess your system type if
2421
you don't supply a host system type.  The old scheme of supplying a
2422
host system triplet is preferable over using this.  All the magic is
2423
done in the new `config.guess' script.  Examine it for details.
2424
 
2425
We have also brought our configure script much more in line with the FSF's
2426
version.  It now supports the --with-xxx options.  In particular,
2427
`--with-minimal-bfd' can be used to make the GDB binary image smaller.
2428
The resulting GDB will not be able to read arbitrary object file formats --
2429
only the format ``expected'' to be used on the configured target system.
2430
We hope to make this the default in a future release.
2431
 
2432
 * Documentation improvements
2433
 
2434
There's new internal documentation on how to modify GDB, and how to
2435
produce clean changes to the code.  We implore people to read it
2436
before submitting changes.
2437
 
2438
The GDB manual uses new, sexy Texinfo conditionals, rather than arcane
2439
M4 macros.  The new texinfo.tex is provided in this release.  Pre-built
2440
`info' files are also provided.  To build `info' files from scratch,
2441
you will need the latest `makeinfo' release, which will be available in
2442
a future texinfo-X.Y release.
2443
 
2444
*NOTE*  The new texinfo.tex can cause old versions of TeX to hang.
2445
We're not sure exactly which versions have this problem, but it has
2446
been seen in 3.0.  We highly recommend upgrading to TeX version 3.141
2447
or better.  If that isn't possible, there is a patch in
2448
`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work
2449
around this problem.
2450
 
2451
 * New features
2452
 
2453
GDB now supports array constants that can be used in expressions typed in by
2454
the user.  The syntax is `{element, element, ...}'.  Ie: you can now type
2455
`print {1, 2, 3}', and it will build up an array in memory malloc'd in
2456
the target program.
2457
 
2458
The new directory `gdb/sparclite' contains a program that demonstrates
2459
how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor.
2460
 
2461
 * New native hosts supported
2462
 
2463
HP/PA-RISC under HPUX using GNU tools   hppa1.1-hp-hpux
2464
386 CPUs running SCO Unix 3.2v4         i386-unknown-sco3.2v4
2465
 
2466
 * New targets supported
2467
 
2468
AMD 29k family via UDI                  a29k-amd-udi  or  udi29k
2469
 
2470
 * New file formats supported
2471
 
2472
BFD now supports reading HP/PA-RISC executables (SOM file format?),
2473
HPUX core files, and SCO 3.2v2 core files.
2474
 
2475
 * Major bug fixes
2476
 
2477
Attaching to processes now works again; thanks for the many bug reports.
2478
 
2479
We have also stomped on a bunch of core dumps caused by
2480
printf_filtered("%s") problems.
2481
 
2482
We eliminated a copyright problem on the rpc and ptrace header files
2483
for VxWorks, which was discovered at the last minute during the 4.7
2484
release.  You should now be able to build a VxWorks GDB.
2485
 
2486
You can now interrupt gdb while an attached process is running.  This
2487
will cause the attached process to stop, and give control back to GDB.
2488
 
2489
We fixed problems caused by using too many file descriptors
2490
for reading symbols from object files and libraries.  This was
2491
especially a problem for programs that used many (~100) shared
2492
libraries.
2493
 
2494
The `step' command now only enters a subroutine if there is line number
2495
information for the subroutine.  Otherwise it acts like the `next'
2496
command.  Previously, `step' would enter subroutines if there was
2497
any debugging information about the routine.  This avoids problems
2498
when using `cc -g1' on MIPS machines.
2499
 
2500
 * Internal improvements
2501
 
2502
GDB's internal interfaces have been improved to make it easier to support
2503
debugging of multiple languages in the future.
2504
 
2505
GDB now uses a common structure for symbol information internally.
2506
Minimal symbols (derived from linkage symbols in object files), partial
2507
symbols (from a quick scan of debug information), and full symbols
2508
contain a common subset of information, making it easier to write
2509
shared code that handles any of them.
2510
 
2511
 * New command line options
2512
 
2513
We now accept --silent as an alias for --quiet.
2514
 
2515
 * Mmalloc licensing
2516
 
2517
The memory-mapped-malloc library is now licensed under the GNU Library
2518
General Public License.
2519
 
2520
*** Changes in GDB-4.7:
2521
 
2522
 * Host/native/target split
2523
 
2524
GDB has had some major internal surgery to untangle the support for
2525
hosts and remote targets.  Now, when you configure GDB for a remote
2526
target, it will no longer load in all of the support for debugging
2527
local programs on the host.  When fully completed and tested, this will
2528
ensure that arbitrary host/target combinations are possible.
2529
 
2530
The primary conceptual shift is to separate the non-portable code in
2531
GDB into three categories.  Host specific code is required any time GDB
2532
is compiled on that host, regardless of the target.  Target specific
2533
code relates to the peculiarities of the target, but can be compiled on
2534
any host.  Native specific code is everything else:  it can only be
2535
built when the host and target are the same system.  Child process
2536
handling and core file support are two common `native' examples.
2537
 
2538
GDB's use of /proc for controlling Unix child processes is now cleaner.
2539
It has been split out into a single module under the `target_ops' vector,
2540
plus two native-dependent functions for each system that uses /proc.
2541
 
2542
 * New hosts supported
2543
 
2544
HP/Apollo 68k (under the BSD domain)    m68k-apollo-bsd  or  apollo68bsd
2545
386 CPUs running various BSD ports      i386-unknown-bsd  or  386bsd
2546
386 CPUs running SCO Unix               i386-unknown-scosysv322  or  i386sco
2547
 
2548
 * New targets supported
2549
 
2550
Fujitsu SPARClite                       sparclite-fujitsu-none  or  sparclite
2551
68030 and CPU32                         m68030-*-*, m68332-*-*
2552
 
2553
 * New native hosts supported
2554
 
2555
386 CPUs running various BSD ports      i386-unknown-bsd  or  386bsd
2556
    (386bsd is not well tested yet)
2557
386 CPUs running SCO Unix               i386-unknown-scosysv322  or  sco
2558
 
2559
 * New file formats supported
2560
 
2561
BFD now supports COFF files for the Zilog Z8000 microprocessor.  It
2562
supports reading of `a.out.adobe' object files, which are an a.out
2563
format extended with minimal information about multiple sections.
2564
 
2565
 * New commands
2566
 
2567
`show copying' is the same as the old `info copying'.
2568
`show warranty' is the same as `info warrantee'.
2569
These were renamed for consistency.  The old commands continue to work.
2570
 
2571
`info handle' is a new alias for `info signals'.
2572
 
2573
You can now define pre-command hooks, which attach arbitrary command
2574
scripts to any command.  The commands in the hook will be executed
2575
prior to the user's command.  You can also create a hook which will be
2576
executed whenever the program stops.  See gdb.texinfo.
2577
 
2578
 * C++ improvements
2579
 
2580
We now deal with Cfront style name mangling, and can even extract type
2581
info from mangled symbols.  GDB can automatically figure out which
2582
symbol mangling style your C++ compiler uses.
2583
 
2584
Calling of methods and virtual functions has been improved as well.
2585
 
2586
 * Major bug fixes
2587
 
2588
The crash that occured when debugging Sun Ansi-C compiled binaries is
2589
fixed.  This was due to mishandling of the extra N_SO stabs output
2590
by the compiler.
2591
 
2592
We also finally got Ultrix 4.2 running in house, and fixed core file
2593
support, with help from a dozen people on the net.
2594
 
2595
John M. Farrell discovered that the reason that single-stepping was so
2596
slow on all of the Mips based platforms (primarily SGI and DEC) was
2597
that we were trying to demangle and lookup a symbol used for internal
2598
purposes on every instruction that was being stepped through.  Changing
2599
the name of that symbol so that it couldn't be mistaken for a C++
2600
mangled symbol sped things up a great deal.
2601
 
2602
Rich Pixley sped up symbol lookups in general by getting much smarter
2603
about when C++ symbol mangling is necessary.  This should make symbol
2604
completion (TAB on the command line) much faster.  It's not as fast as
2605
we'd like, but it's significantly faster than gdb-4.6.
2606
 
2607
 * AMD 29k support
2608
 
2609
A new user controllable variable 'call_scratch_address' can
2610
specify the location of a scratch area to be used when GDB
2611
calls a function in the target.  This is necessary because the
2612
usual method of putting the scratch area on the stack does not work
2613
in systems that have separate instruction and data spaces.
2614
 
2615
We integrated changes to support the 29k UDI (Universal Debugger
2616
Interface), but discovered at the last minute that we didn't have all
2617
of the appropriate copyright paperwork.  We are working with AMD to
2618
resolve this, and hope to have it available soon.
2619
 
2620
 * Remote interfaces
2621
 
2622
We have sped up the remote serial line protocol, especially for targets
2623
with lots of registers.  It now supports a new `expedited status' ('T')
2624
message which can be used in place of the existing 'S' status message.
2625
This allows the remote stub to send only the registers that GDB
2626
needs to make a quick decision about single-stepping or conditional
2627
breakpoints, eliminating the need to fetch the entire register set for
2628
each instruction being stepped through.
2629
 
2630
The GDB remote serial protocol now implements a write-through cache for
2631
registers, only re-reading the registers if the target has run.
2632
 
2633
There is also a new remote serial stub for SPARC processors.  You can
2634
find it in gdb-4.7/gdb/sparc-stub.c.  This was written to support the
2635
Fujitsu SPARClite processor, but will run on any stand-alone SPARC
2636
processor with a serial port.
2637
 
2638
 * Configuration
2639
 
2640
Configure.in files have become much easier to read and modify.  A new
2641
`table driven' format makes it more obvious what configurations are
2642
supported, and what files each one uses.
2643
 
2644
 * Library changes
2645
 
2646
There is a new opcodes library which will eventually contain all of the
2647
disassembly routines and opcode tables.  At present, it only contains
2648
Sparc and Z8000 routines.  This will allow the assembler, debugger, and
2649
disassembler (binutils/objdump) to share these routines.
2650
 
2651
The libiberty library is now copylefted under the GNU Library General
2652
Public License.  This allows more liberal use, and was done so libg++
2653
can use it.  This makes no difference to GDB, since the Library License
2654
grants all the rights from the General Public License.
2655
 
2656
 * Documentation
2657
 
2658
The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete
2659
reference to the stabs symbol info used by the debugger.  It is (as far
2660
as we know) the only published document on this fascinating topic.  We
2661
encourage you to read it, compare it to the stabs information on your
2662
system, and send improvements on the document in general (to
2663
bug-gdb@prep.ai.mit.edu).
2664
 
2665
And, of course, many bugs have been fixed.
2666
 
2667
 
2668
*** Changes in GDB-4.6:
2669
 
2670
 * Better support for C++ function names
2671
 
2672
GDB now accepts as input the "demangled form" of C++ overloaded function
2673
names and member function names, and can do command completion on such names
2674
(using TAB, TAB-TAB, and ESC-?).  The names have to be quoted with a pair of
2675
single quotes.  Examples are 'func (int, long)' and 'obj::operator==(obj&)'.
2676
Make use of command completion, it is your friend.
2677
 
2678
GDB also now accepts a variety of C++ mangled symbol formats.  They are
2679
the GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style.
2680
You can tell GDB which format to use by doing a 'set demangle-style {gnu,
2681
lucid, cfront, auto}'.  'gnu' is the default.  Do a 'set demangle-style foo'
2682
for the list of formats.
2683
 
2684
 * G++ symbol mangling problem
2685
 
2686
Recent versions of gcc have a bug in how they emit debugging information for
2687
C++ methods (when using dbx-style stabs).  The file 'gcc.patch' (in this
2688
directory) can be applied to gcc to fix the problem.  Alternatively, if you
2689
can't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The
2690
usual symptom is difficulty with setting breakpoints on methods.  GDB complains
2691
about the method being non-existent.  (We believe that version 2.2.2 of GCC has
2692
this problem.)
2693
 
2694
 * New 'maintenance' command
2695
 
2696
All of the commands related to hacking GDB internals have been moved out of
2697
the main command set, and now live behind the 'maintenance' command.  This
2698
can also be abbreviated as 'mt'.  The following changes were made:
2699
 
2700
        dump-me ->              maintenance dump-me
2701
        info all-breakpoints -> maintenance info breakpoints
2702
        printmsyms ->           maintenance print msyms
2703
        printobjfiles ->        maintenance print objfiles
2704
        printpsyms ->           maintenance print psymbols
2705
        printsyms ->            maintenance print symbols
2706
 
2707
The following commands are new:
2708
 
2709
        maintenance demangle    Call internal GDB demangler routine to
2710
                                demangle a C++ link name and prints the result.
2711
        maintenance print type  Print a type chain for a given symbol
2712
 
2713
 * Change to .gdbinit file processing
2714
 
2715
We now read the $HOME/.gdbinit file before processing the argv arguments
2716
(e.g. reading symbol files or core files).  This allows global parameters to
2717
be set, which will apply during the symbol reading.  The ./.gdbinit is still
2718
read after argv processing.
2719
 
2720
 * New hosts supported
2721
 
2722
Solaris-2.0 !!!                         sparc-sun-solaris2  or  sun4sol2
2723
 
2724
GNU/Linux support                       i386-unknown-linux  or  linux
2725
 
2726
We are also including code to support the HP/PA running BSD and HPUX.  This
2727
is almost guaranteed not to work, as we didn't have time to test or build it
2728
for this release.  We are including it so that the more adventurous (or
2729
masochistic) of you can play with it.  We also had major problems with the
2730
fact that the compiler that we got from HP doesn't support the -g option.
2731
It costs extra.
2732
 
2733
 * New targets supported
2734
 
2735
Hitachi H8/300                          h8300-hitachi-hms  or  h8300hms
2736
 
2737
 * More smarts about finding #include files
2738
 
2739
GDB now remembers the compilation directory for all include files, and for
2740
all files from which C is generated (like yacc and lex sources).  This
2741
greatly improves GDB's ability to find yacc/lex sources, and include files,
2742
especially if you are debugging your program from a directory different from
2743
the one that contains your sources.
2744
 
2745
We also fixed a bug which caused difficulty with listing and setting
2746
breakpoints in include files which contain C code.  (In the past, you had to
2747
try twice in order to list an include file that you hadn't looked at before.)
2748
 
2749
 * Interesting infernals change
2750
 
2751
GDB now deals with arbitrary numbers of sections, where the symbols for each
2752
section must be relocated relative to that section's landing place in the
2753
target's address space.  This work was needed to support ELF with embedded
2754
stabs used by Solaris-2.0.
2755
 
2756
 * Bug fixes (of course!)
2757
 
2758
There have been loads of fixes for the following things:
2759
        mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k,
2760
        i960, stabs, DOS(GO32), procfs, etc...
2761
 
2762
See the ChangeLog for details.
2763
 
2764
*** Changes in GDB-4.5:
2765
 
2766
 * New machines supported (host and target)
2767
 
2768
IBM RS6000 running AIX                  rs6000-ibm-aix  or rs6000
2769
 
2770
SGI Irix-4.x                            mips-sgi-irix4  or iris4
2771
 
2772
 * New malloc package
2773
 
2774
GDB now uses a new memory manager called mmalloc, based on gmalloc.
2775
Mmalloc is capable of handling mutiple heaps of memory.  It is also
2776
capable of saving a heap to a file, and then mapping it back in later.
2777
This can be used to greatly speedup the startup of GDB by using a
2778
pre-parsed symbol table which lives in a mmalloc managed heap.  For
2779
more details, please read mmalloc/mmalloc.texi.
2780
 
2781
 * info proc
2782
 
2783
The 'info proc' command (SVR4 only) has been enhanced quite a bit.  See
2784
'help info proc' for details.
2785
 
2786
 * MIPS ecoff symbol table format
2787
 
2788
The code that reads MIPS symbol table format is now supported on all hosts.
2789
Thanks to MIPS for releasing the sym.h and symconst.h files to make this
2790
possible.
2791
 
2792
 * File name changes for MS-DOS
2793
 
2794
Many files in the config directories have been renamed to make it easier to
2795
support GDB on MS-DOSe systems (which have very restrictive file name
2796
conventions :-( ).  MS-DOSe host support (under DJ Delorie's GO32
2797
environment) is close to working but has some remaining problems.  Note
2798
that debugging of DOS programs is not supported, due to limitations
2799
in the ``operating system'', but it can be used to host cross-debugging.
2800
 
2801
 * Cross byte order fixes
2802
 
2803
Many fixes have been made to support cross debugging of Sparc and MIPS
2804
targets from hosts whose byte order differs.
2805
 
2806
 * New -mapped and -readnow options
2807
 
2808
If memory-mapped files are available on your system through the 'mmap'
2809
system call, you can use the -mapped option on the `file' or
2810
`symbol-file' commands to cause GDB to write the symbols from your
2811
program into a reusable file.  If the program you are debugging is
2812
called `/path/fred', the mapped symbol file will be `./fred.syms'.
2813
Future GDB debugging sessions will notice the presence of this file,
2814
and will quickly map in symbol information from it, rather than reading
2815
the symbol table from the executable program.  Using the '-mapped'
2816
option in a GDB `file' or `symbol-file' command has the same effect as
2817
starting GDB with the '-mapped' command-line option.
2818
 
2819
You can cause GDB to read the entire symbol table immediately by using
2820
the '-readnow' option with any of the commands that load symbol table
2821
information (or on the GDB command line).  This makes the command
2822
slower, but makes future operations faster.
2823
 
2824
The -mapped and -readnow options are typically combined in order to
2825
build a `fred.syms' file that contains complete symbol information.
2826
A simple GDB invocation to do nothing but build a `.syms' file for future
2827
use is:
2828
 
2829
        gdb -batch -nx -mapped -readnow programname
2830
 
2831
The `.syms' file is specific to the host machine on which GDB is run.
2832
It holds an exact image of GDB's internal symbol table.  It cannot be
2833
shared across multiple host platforms.
2834
 
2835
 * longjmp() handling
2836
 
2837
GDB is now capable of stepping and nexting over longjmp(), _longjmp(), and
2838
siglongjmp() without losing control.  This feature has not yet been ported to
2839
all systems.  It currently works on many 386 platforms, all MIPS-based
2840
platforms (SGI, DECstation, etc), and Sun3/4.
2841
 
2842
 * Solaris 2.0
2843
 
2844
Preliminary work has been put in to support the new Solaris OS from Sun.  At
2845
this time, it can control and debug processes, but it is not capable of
2846
reading symbols.
2847
 
2848
 * Bug fixes
2849
 
2850
As always, many many bug fixes.  The major areas were with g++, and mipsread.
2851
People using the MIPS-based platforms should experience fewer mysterious
2852
crashes and trashed symbol tables.
2853
 
2854
*** Changes in GDB-4.4:
2855
 
2856
 * New machines supported (host and target)
2857
 
2858
SCO Unix on i386 IBM PC clones          i386-sco-sysv   or  i386sco
2859
        (except core files)
2860
BSD Reno on Vax                         vax-dec-bsd
2861
Ultrix on Vax                           vax-dec-ultrix
2862
 
2863
 * New machines supported (target)
2864
 
2865
AMD 29000 embedded, using EBMON         a29k-none-none
2866
 
2867
 * C++ support
2868
 
2869
GDB continues to improve its handling of C++.  `References' work better.
2870
The demangler has also been improved, and now deals with symbols mangled as
2871
per the Annotated C++ Reference Guide.
2872
 
2873
GDB also now handles `stabs' symbol information embedded in MIPS
2874
`ecoff' symbol tables.  Since the ecoff format was not easily
2875
extensible to handle new languages such as C++, this appeared to be a
2876
good way to put C++ debugging info into MIPS binaries.  This option
2877
will be supported in the GNU C compiler, version 2, when it is
2878
released.
2879
 
2880
 * New features for SVR4
2881
 
2882
GDB now handles SVR4 shared libraries, in the same fashion as SunOS
2883
shared libraries.  Debugging dynamically linked programs should present
2884
only minor differences from debugging statically linked programs.
2885
 
2886
The `info proc' command will print out information about any process
2887
on an SVR4 system (including the one you are debugging).  At the moment,
2888
it prints the address mappings of the process.
2889
 
2890
If you bring up GDB on another SVR4 system, please send mail to
2891
bug-gdb@prep.ai.mit.edu to let us know what changes were reqired (if any).
2892
 
2893
 * Better dynamic linking support in SunOS
2894
 
2895
Reading symbols from shared libraries which contain debugging symbols
2896
now works properly.  However, there remain issues such as automatic
2897
skipping of `transfer vector' code during function calls, which
2898
make it harder to debug code in a shared library, than to debug the
2899
same code linked statically.
2900
 
2901
 * New Getopt
2902
 
2903
GDB is now using the latest `getopt' routines from the FSF.  This
2904
version accepts the -- prefix for options with long names.  GDB will
2905
continue to accept the old forms (-option and +option) as well.
2906
Various single letter abbreviations for options have been explicity
2907
added to the option table so that they won't get overshadowed in the
2908
future by other options that begin with the same letter.
2909
 
2910
 * Bugs fixed
2911
 
2912
The `cleanup_undefined_types' bug that many of you noticed has been squashed.
2913
Many assorted bugs have been handled.  Many more remain to be handled.
2914
See the various ChangeLog files (primarily in gdb and bfd) for details.
2915
 
2916
 
2917
*** Changes in GDB-4.3:
2918
 
2919
 * New machines supported (host and target)
2920
 
2921
Amiga 3000 running Amix                 m68k-cbm-svr4   or  amix
2922
NCR 3000 386 running SVR4               i386-ncr-svr4   or  ncr3000
2923
Motorola Delta 88000 running Sys V      m88k-motorola-sysv  or  delta88
2924
 
2925
 * Almost SCO Unix support
2926
 
2927
We had hoped to support:
2928
SCO Unix on i386 IBM PC clones          i386-sco-sysv   or  i386sco
2929
(except for core file support), but we discovered very late in the release
2930
that it has problems with process groups that render gdb unusable.  Sorry
2931
about that.  I encourage people to fix it and post the fixes.
2932
 
2933
 * Preliminary ELF and DWARF support
2934
 
2935
GDB can read ELF object files on System V Release 4, and can handle
2936
debugging records for C, in DWARF format, in ELF files.  This support
2937
is preliminary.  If you bring up GDB on another SVR4 system, please
2938
send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were
2939
reqired (if any).
2940
 
2941
 * New Readline
2942
 
2943
GDB now uses the latest `readline' library.  One user-visible change
2944
is that two tabs will list possible command completions, which previously
2945
required typing M-? (meta-question mark, or ESC ?).
2946
 
2947
 * Bugs fixed
2948
 
2949
The `stepi' bug that many of you noticed has been squashed.
2950
Many bugs in C++ have been handled.  Many more remain to be handled.
2951
See the various ChangeLog files (primarily in gdb and bfd) for details.
2952
 
2953
 * State of the MIPS world (in case you wondered):
2954
 
2955
GDB can understand the symbol tables emitted by the compilers
2956
supplied by most vendors of MIPS-based machines, including DEC.  These
2957
symbol tables are in a format that essentially nobody else uses.
2958
 
2959
Some versions of gcc come with an assembler post-processor called
2960
mips-tfile.  This program is required if you want to do source-level
2961
debugging of gcc-compiled programs.  I believe FSF does not ship
2962
mips-tfile with gcc version 1, but it will eventually come with gcc
2963
version 2.
2964
 
2965
Debugging of g++ output remains a problem.  g++ version 1.xx does not
2966
really support it at all.  (If you're lucky, you should be able to get
2967
line numbers and stack traces to work, but no parameters or local
2968
variables.)  With some work it should be possible to improve the
2969
situation somewhat.
2970
 
2971
When gcc version 2 is released, you will have somewhat better luck.
2972
However, even then you will get confusing results for inheritance and
2973
methods.
2974
 
2975
We will eventually provide full debugging of g++ output on
2976
DECstations.  This will probably involve some kind of stabs-in-ecoff
2977
encapulation, but the details have not been worked out yet.
2978
 
2979
 
2980
*** Changes in GDB-4.2:
2981
 
2982
 *  Improved configuration
2983
 
2984
Only one copy of `configure' exists now, and it is not self-modifying.
2985
Porting BFD is simpler.
2986
 
2987
 *  Stepping improved
2988
 
2989
The `step' and `next' commands now only stop at the first instruction
2990
of a source line.  This prevents the multiple stops that used to occur
2991
in switch statements, for-loops, etc.  `Step' continues to stop if a
2992
function that has debugging information is called within the line.
2993
 
2994
 *  Bug fixing
2995
 
2996
Lots of small bugs fixed.  More remain.
2997
 
2998
 *  New host supported (not target)
2999
 
3000
Intel 386 PC clone running Mach         i386-none-mach
3001
 
3002
 
3003
*** Changes in GDB-4.1:
3004
 
3005
 *  Multiple source language support
3006
 
3007
GDB now has internal scaffolding to handle several source languages.
3008
It determines the type of each source file from its filename extension,
3009
and will switch expression parsing and number formatting to match the
3010
language of the function in the currently selected stack frame.
3011
You can also specifically set the language to be used, with
3012
`set language c' or `set language modula-2'.
3013
 
3014
 *  GDB and Modula-2
3015
 
3016
GDB now has preliminary support for the GNU Modula-2 compiler,
3017
currently under development at the State University of New York at
3018
Buffalo.  Development of both GDB and the GNU Modula-2 compiler will
3019
continue through the fall of 1991 and into 1992.
3020
 
3021
Other Modula-2 compilers are currently not supported, and attempting to
3022
debug programs compiled with them will likely result in an error as the
3023
symbol table is read.  Feel free to work on it, though!
3024
 
3025
There are hooks in GDB for strict type checking and range checking,
3026
in the `Modula-2 philosophy', but they do not currently work.
3027
 
3028
 * set write on/off
3029
 
3030
GDB can now write to executable and core files (e.g. patch
3031
a variable's value).   You must turn this switch on, specify
3032
the file ("exec foo" or "core foo"), *then* modify it, e.g.
3033
by assigning a new value to a variable.  Modifications take
3034
effect immediately.
3035
 
3036
 * Automatic SunOS shared library reading
3037
 
3038
When you run your program, GDB automatically determines where its
3039
shared libraries (if any) have been loaded, and reads their symbols.
3040
The `share' command is no longer needed.  This also works when
3041
examining core files.
3042
 
3043
 * set listsize
3044
 
3045
You can specify the number of lines that the `list' command shows.
3046
The default is 10.
3047
 
3048
 * New machines supported (host and target)
3049
 
3050
SGI Iris (MIPS) running Irix V3:        mips-sgi-irix   or  iris
3051
Sony NEWS (68K) running NEWSOS 3.x:     m68k-sony-sysv  or  news
3052
Ultracomputer (29K) running Sym1:       a29k-nyu-sym1   or  ultra3
3053
 
3054
 * New hosts supported (not targets)
3055
 
3056
IBM RT/PC:                              romp-ibm-aix    or  rtpc
3057
 
3058
 * New targets supported (not hosts)
3059
 
3060
AMD 29000 embedded with COFF            a29k-none-coff
3061
AMD 29000 embedded with a.out           a29k-none-aout
3062
Ultracomputer remote kernel debug       a29k-nyu-kern
3063
 
3064
 * New remote interfaces
3065
 
3066
AMD 29000 Adapt
3067
AMD 29000 Minimon
3068
 
3069
 
3070
*** Changes in GDB-4.0:
3071
 
3072
 *  New Facilities
3073
 
3074
Wide output is wrapped at good places to make the output more readable.
3075
 
3076
Gdb now supports cross-debugging from a host machine of one type to a
3077
target machine of another type.  Communication with the target system
3078
is over serial lines.  The ``target'' command handles connecting to the
3079
remote system; the ``load'' command will download a program into the
3080
remote system.  Serial stubs for the m68k and i386 are provided.  Gdb
3081
also supports debugging of realtime processes running under VxWorks,
3082
using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
3083
stub on the target system.
3084
 
3085
New CPUs supported include the AMD 29000 and Intel 960.
3086
 
3087
GDB now reads object files and symbol tables via a ``binary file''
3088
library, which allows a single copy of GDB to debug programs of multiple
3089
object file types such as a.out and coff.
3090
 
3091
There is now a GDB reference card in "doc/refcard.tex".  (Make targets
3092
refcard.dvi and refcard.ps are available to format it).
3093
 
3094
 
3095
 *  Control-Variable user interface simplified
3096
 
3097
All variables that control the operation of the debugger can be set
3098
by the ``set'' command, and displayed by the ``show'' command.
3099
 
3100
For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
3101
``Show prompt'' produces the response:
3102
Gdb's prompt is new-gdb=>.
3103
 
3104
What follows are the NEW set commands.  The command ``help set'' will
3105
print a complete list of old and new set commands.  ``help set FOO''
3106
will give a longer description of the variable FOO.  ``show'' will show
3107
all of the variable descriptions and their current settings.
3108
 
3109
confirm on/off:  Enables warning questions for operations that are
3110
                 hard to recover from, e.g. rerunning the program while
3111
                 it is already running.  Default is ON.
3112
 
3113
editing on/off:  Enables EMACS style command line editing
3114
                 of input.  Previous lines can be recalled with
3115
                 control-P, the current line can be edited with control-B,
3116
                 you can search for commands with control-R, etc.
3117
                 Default is ON.
3118
 
3119
history filename NAME:  NAME is where the gdb command history
3120
                        will be stored.  The default is .gdb_history,
3121
                        or the value of the environment variable
3122
                        GDBHISTFILE.
3123
 
3124
history size N:  The size, in commands, of the command history.  The
3125
                 default is 256, or the value of the environment variable
3126
                 HISTSIZE.
3127
 
3128
history save on/off: If this value is set to ON, the history file will
3129
                      be saved after exiting gdb.  If set to OFF, the
3130
                      file will not be saved.  The default is OFF.
3131
 
3132
history expansion on/off: If this value is set to ON, then csh-like
3133
                          history expansion will be performed  on
3134
                          command line input.  The default is OFF.
3135
 
3136
radix N:  Sets the default radix for input and output.  It can be set
3137
          to 8, 10, or 16.  Note that the argument to "radix" is interpreted
3138
          in the current radix, so "set radix 10" is always a no-op.
3139
 
3140
height N: This integer value is the number of lines on a page. Default
3141
          is 24, the current `stty rows'' setting, or the ``li#''
3142
          setting from the termcap entry matching the environment
3143
          variable TERM.
3144
 
3145
width N:  This integer value is the number of characters on a line.
3146
          Default is 80, the current `stty cols'' setting, or the ``co#''
3147
          setting from the termcap entry matching the environment
3148
          variable TERM.
3149
 
3150
Note: ``set screensize'' is obsolete. Use ``set height'' and
3151
``set width'' instead.
3152
 
3153
print address on/off:  Print memory addresses in various command displays,
3154
                      such as stack traces and structure values.  Gdb looks
3155
                      more ``symbolic'' if you turn this off; it looks more
3156
                      ``machine level'' with it on.  Default is ON.
3157
 
3158
print array on/off:  Prettyprint arrays.  New convenient format!  Default
3159
                    is OFF.
3160
 
3161
print demangle on/off:   Print C++ symbols in "source" form if on,
3162
                        "raw" form if off.
3163
 
3164
print asm-demangle on/off:  Same, for assembler level printouts
3165
                        like instructions.
3166
 
3167
print vtbl on/off:  Prettyprint C++ virtual function tables.  Default is OFF.
3168
 
3169
 
3170
 *  Support for Epoch Environment.
3171
 
3172
The epoch environment is a version of Emacs v18 with windowing.  One
3173
new command, ``inspect'', is identical to ``print'', except that if you
3174
are running in the epoch environment, the value is printed in its own
3175
window.
3176
 
3177
 
3178
 *  Support for Shared Libraries
3179
 
3180
GDB can now debug programs and core files that use SunOS shared libraries.
3181
Symbols from a shared library cannot be referenced
3182
before the shared library has been linked with the program (this
3183
happens after you type ``run'' and before the function main() is entered).
3184
At any time after this linking (including when examining core files
3185
from dynamically linked programs), gdb reads the symbols from each
3186
shared library when you type the ``sharedlibrary'' command.
3187
It can be abbreviated ``share''.
3188
 
3189
sharedlibrary REGEXP:  Load shared object library symbols for files
3190
                       matching a unix regular expression.  No argument
3191
                       indicates to load symbols for all shared libraries.
3192
 
3193
info sharedlibrary:  Status of loaded shared libraries.
3194
 
3195
 
3196
 *  Watchpoints
3197
 
3198
A watchpoint stops execution of a program whenever the value of an
3199
expression changes.  Checking for this slows down execution
3200
tremendously whenever you are in the scope of the expression, but is
3201
quite useful for catching tough ``bit-spreader'' or pointer misuse
3202
problems.  Some machines such as the 386 have hardware for doing this
3203
more quickly, and future versions of gdb will use this hardware.
3204
 
3205
watch EXP:  Set a watchpoint (breakpoint) for an expression.
3206
 
3207
info watchpoints:  Information about your watchpoints.
3208
 
3209
delete N:   Deletes watchpoint number N (same as breakpoints).
3210
disable N:  Temporarily turns off watchpoint number N (same as breakpoints).
3211
enable N:   Re-enables watchpoint number N (same as breakpoints).
3212
 
3213
 
3214
 *  C++ multiple inheritance
3215
 
3216
When used with a GCC version 2 compiler, GDB supports multiple inheritance
3217
for C++ programs.
3218
 
3219
 *  C++ exception handling
3220
 
3221
Gdb now supports limited C++ exception handling.  Besides the existing
3222
ability to breakpoint on an exception handler, gdb can breakpoint on
3223
the raising of an exception (before the stack is peeled back to the
3224
handler's context).
3225
 
3226
catch FOO:  If there is a FOO exception handler in the dynamic scope,
3227
            set a breakpoint to catch exceptions which may be raised there.
3228
            Multiple exceptions (``catch foo bar baz'') may be caught.
3229
 
3230
info catch:  Lists all exceptions which may be caught in the
3231
             current stack frame.
3232
 
3233
 
3234
 *  Minor command changes
3235
 
3236
The command ``call func (arg, arg, ...)'' now acts like the print
3237
command, except it does not print or save a value if the function's result
3238
is void.  This is similar to dbx usage.
3239
 
3240
The ``up'' and ``down'' commands now always print the frame they end up
3241
at; ``up-silently'' and `down-silently'' can be used in scripts to change
3242
frames without printing.
3243
 
3244
 *  New directory command
3245
 
3246
'dir' now adds directories to the FRONT of the source search path.
3247
The path starts off empty.  Source files that contain debug information
3248
about the directory in which they were compiled can be found even
3249
with an empty path; Sun CC and GCC include this information.  If GDB can't
3250
find your source file in the current directory, type "dir .".
3251
 
3252
 * Configuring GDB for compilation
3253
 
3254
For normal use, type ``./configure host''.  See README or gdb.texinfo
3255
for more details.
3256
 
3257
GDB now handles cross debugging.  If you are remotely debugging between
3258
two different machines, type ``./configure host -target=targ''.
3259
Host is the machine where GDB will run; targ is the machine
3260
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.