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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [NEWS] - Blame information for rev 1775

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

Line No. Rev Author Line
1 104 markom
                What has changed in GDB?
2
             (Organized release by release)
3
 
4
*** Changes in GDB 5.0:
5
 
6
* Improved support for debugging FP programs on x86 targets
7
 
8
Unified and much-improved support for debugging floating-point
9
programs on all x86 targets.  In particular, ``info float'' now
10
displays the FP registers in the same format on all x86 targets, with
11
greater level of detail.
12
 
13
* Improvements and bugfixes in hardware-assisted watchpoints
14
 
15
It is now possible to watch array elements, struct members, and
16
bitfields with hardware-assisted watchpoints.  Data-read watchpoints
17
on x86 targets no longer erroneously trigger when the address is
18
written.
19
 
20
* Improvements in the native DJGPP version of GDB
21
 
22
The distribution now includes all the scripts and auxiliary files
23
necessary to build the native DJGPP version on MS-DOS/MS-Windows
24
machines ``out of the box''.
25
 
26
The DJGPP version can now debug programs that use signals.  It is
27
possible to catch signals that happened in the debuggee, deliver
28
signals to it, interrupt it with Ctrl-C, etc.  (Previously, a signal
29
would kill the program being debugged.)  Programs that hook hardware
30
interrupts (keyboard, timer, etc.) can also be debugged.
31
 
32
It is now possible to debug DJGPP programs that redirect their
33
standard handles or switch them to raw (as opposed to cooked) mode, or
34
even close them.  The command ``run < foo > bar'' works as expected,
35
and ``info terminal'' reports useful information about the debuggee's
36
terminal, including raw/cooked mode, redirection, etc.
37
 
38
The DJGPP version now uses termios functions for console I/O, which
39
enables debugging graphics programs.  Interrupting GDB with Ctrl-C
40
also works.
41
 
42
DOS-style file names with drive letters are now fully supported by
43
GDB.
44
 
45
It is now possible to debug DJGPP programs that switch their working
46
directory.  It is also possible to rerun the debuggee any number of
47
times without restarting GDB; thus, you can use the same setup,
48
breakpoints, etc. for many debugging sessions.
49
 
50
* New native configurations
51
 
52
ARM GNU/Linux                                   arm*-*-linux*
53
PowerPC GNU/Linux                               powerpc-*-linux*
54
 
55
* New targets
56
 
57
Motorola MCore                                  mcore-*-*
58
x86 VxWorks                                     i[3456]86-*-vxworks*
59
PowerPC VxWorks                                 powerpc-*-vxworks*
60
TI TMS320C80                                    tic80-*-*
61
 
62
* OBSOLETE configurations
63
 
64
Altos 3068                                      m68*-altos-*
65
Convex                                          c1-*-*, c2-*-*
66
Pyramid                                         pyramid-*-*
67
ARM RISCix                                      arm-*-* (as host)
68
Tahoe                                           tahoe-*-*
69
 
70
Configurations that have been declared obsolete will be commented out,
71
but the code will be left in place.  If there is no activity to revive
72
these configurations before the next release of GDB, the sources will
73
be permanently REMOVED.
74
 
75
* Gould support removed
76
 
77
Support for the Gould PowerNode and NP1 has been removed.
78
 
79
* New features for SVR4
80
 
81
On SVR4 native platforms (such as Solaris), if you attach to a process
82
without first loading a symbol file, GDB will now attempt to locate and
83
load symbols from the running process's executable file.
84
 
85
* Many C++ enhancements
86
 
87
C++ support has been greatly improved. Overload resolution now works properly
88
in almost all cases. RTTI support is on the way.
89
 
90
* Remote targets can connect to a sub-program
91
 
92
A popen(3) style serial-device has been added.  This device starts a
93
sub-process (such as a stand-alone simulator) and then communicates
94
with that.  The sub-program to run is specified using the syntax
95
``| '' vis:
96
 
97
        (gdb) set remotedebug 1
98
        (gdb) target extended-remote |mn10300-elf-sim program-args
99
 
100
* MIPS 64 remote protocol
101
 
102
A long standing bug in the mips64 remote protocol where by GDB
103
expected certain 32 bit registers (ex SR) to be transfered as 32
104
instead of 64 bits has been fixed.
105
 
106
The command ``set remote-mips64-transfers-32bit-regs on'' has been
107
added to provide backward compatibility with older versions of GDB.
108
 
109
* ``set remotebinarydownload'' replaced by ``set remote X-packet''
110
 
111
The command ``set remotebinarydownload'' command has been replaced by
112
``set remote X-packet''.  Other commands in ``set remote'' family
113
include ``set remote P-packet''.
114
 
115
* Breakpoint commands accept ranges.
116
 
117
The breakpoint commands ``enable'', ``disable'', and ``delete'' now
118
accept a range of breakpoints, e.g. ``5-7''.  The tracepoint command
119
``tracepoint passcount'' also accepts a range of tracepoints.
120
 
121
* ``apropos'' command added.
122
 
123
The ``apropos'' command searches through command names and
124
documentation strings, printing out matches, making it much easier to
125
try to find a command that does what you are looking for.
126
 
127
* New MI interface
128
 
129
A new machine oriented interface (MI) has been added to GDB.  This
130
interface is designed for debug environments running GDB as a separate
131
process.  This is part of the long term libGDB project.  See the
132
"GDB/MI" chapter of the GDB manual for further information.  It can be
133
enabled by configuring with:
134
 
135
        .../configure --enable-gdbmi
136
 
137
*** Changes in GDB-4.18:
138
 
139
* New native configurations
140
 
141
HP-UX 10.20                                     hppa*-*-hpux10.20
142
HP-UX 11.x                                      hppa*-*-hpux11.0*
143
M68K Linux                                      m68*-*-linux*
144
 
145
* New targets
146
 
147
Fujitsu FR30                                    fr30-*-elf*
148
Intel StrongARM                                 strongarm-*-*
149
Mitsubishi D30V                                 d30v-*-*
150
 
151
* OBSOLETE configurations
152
 
153
Gould PowerNode, NP1                            np1-*-*, pn-*-*
154
 
155
Configurations that have been declared obsolete will be commented out,
156
but the code will be left in place.  If there is no activity to revive
157
these configurations before the next release of GDB, the sources will
158
be permanently REMOVED.
159
 
160
* ANSI/ISO C
161
 
162
As a compatibility experiment, GDB's source files buildsym.h and
163
buildsym.c have been converted to pure standard C, no longer
164
containing any K&R compatibility code.  We believe that all systems in
165
use today either come with a standard C compiler, or have a GCC port
166
available.  If this is not true, please report the affected
167
configuration to bug-gdb@gnu.org immediately.  See the README file for
168
information about getting a standard C compiler if you don't have one
169
already.
170
 
171
* Readline 2.2
172
 
173
GDB now uses readline 2.2.
174
 
175
* set extension-language
176
 
177
You can now control the mapping between filename extensions and source
178
languages by using the `set extension-language' command.  For instance,
179
you can ask GDB to treat .c files as C++ by saying
180
        set extension-language .c c++
181
The command `info extensions' lists all of the recognized extensions
182
and their associated languages.
183
 
184
* Setting processor type for PowerPC and RS/6000
185
 
186
When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
187
you can use the `set processor' command to specify what variant of the
188
PowerPC family you are debugging.  The command
189
 
190
        set processor NAME
191
 
192
sets the PowerPC/RS6000 variant to NAME.  GDB knows about the
193
following PowerPC and RS6000 variants:
194
 
195
  ppc-uisa  PowerPC UISA - a PPC processor as viewed by user-level code
196
  rs6000    IBM RS6000 ("POWER") architecture, user-level view
197
  403       IBM PowerPC 403
198
  403GC     IBM PowerPC 403GC
199
  505       Motorola PowerPC 505
200
  860       Motorola PowerPC 860 or 850
201
  601       Motorola PowerPC 601
202
  602       Motorola PowerPC 602
203
  603       Motorola/IBM PowerPC 603 or 603e
204
  604       Motorola PowerPC 604 or 604e
205
  750       Motorola/IBM PowerPC 750 or 750
206
 
207
At the moment, this command just tells GDB what to name the
208
special-purpose processor registers.  Since almost all the affected
209
registers are inaccessible to user-level programs, this command is
210
only useful for remote debugging in its present form.
211
 
212
* HP-UX support
213
 
214
Thanks to a major code donation from Hewlett-Packard, GDB now has much
215
more extensive support for HP-UX.  Added features include shared
216
library support, kernel threads and hardware watchpoints for 11.00,
217
support for HP's ANSI C and C++ compilers, and a compatibility mode
218
for xdb and dbx commands.
219
 
220
* Catchpoints
221
 
222
HP's donation includes the new concept of catchpoints, which is a
223
generalization of the old catch command.  On HP-UX, it is now possible
224
to catch exec, fork, and vfork, as well as library loading.
225
 
226
This means that the existing catch command has changed; its first
227
argument now specifies the type of catch to be set up.  See the
228
output of "help catch" for a list of catchpoint types.
229
 
230
* Debugging across forks
231
 
232
On HP-UX, you can choose which process to debug when a fork() happens
233
in the inferior.
234
 
235
* TUI
236
 
237
HP has donated a curses-based terminal user interface (TUI).  To get
238
it, build with --enable-tui.  Although this can be enabled for any
239
configuration, at present it only works for native HP debugging.
240
 
241
* GDB remote protocol additions
242
 
243
A new protocol packet 'X' that writes binary data is now available.
244
Default behavior is to try 'X', then drop back to 'M' if the stub
245
fails to respond.  The settable variable `remotebinarydownload'
246
allows explicit control over the use of 'X'.
247
 
248
For 64-bit targets, the memory packets ('M' and 'm') can now contain a
249
full 64-bit address.  The command
250
 
251
        set remoteaddresssize 32
252
 
253
can be used to revert to the old behaviour.  For existing remote stubs
254
the change should not be noticed, as the additional address information
255
will be discarded.
256
 
257
In order to assist in debugging stubs, you may use the maintenance
258
command `packet' to send any text string to the stub.  For instance,
259
 
260
        maint packet heythere
261
 
262
sends the packet "$heythere#".  Note that it is very easy to
263
disrupt a debugging session by sending the wrong packet at the wrong
264
time.
265
 
266
The compare-sections command allows you to compare section data on the
267
target to what is in the executable file without uploading or
268
downloading, by comparing CRC checksums.
269
 
270
* Tracing can collect general expressions
271
 
272
You may now collect general expressions at tracepoints.  This requires
273
further additions to the target-side stub; see tracepoint.c and
274
doc/agentexpr.texi for further details.
275
 
276
* mask-address variable for Mips
277
 
278
For Mips targets, you may control the zeroing of the upper 32 bits of
279
a 64-bit address by entering `set mask-address on'.  This is mainly
280
of interest to users of embedded R4xxx and R5xxx processors.
281
 
282
* Higher serial baud rates
283
 
284
GDB's serial code now allows you to specify baud rates 57600, 115200,
285
230400, and 460800 baud.  (Note that your host system may not be able
286
to achieve all of these rates.)
287
 
288
* i960 simulator
289
 
290
The i960 configuration now includes an initial implementation of a
291
builtin simulator, contributed by Jim Wilson.
292
 
293
 
294
*** Changes in GDB-4.17:
295
 
296
* New native configurations
297
 
298
Alpha GNU/Linux                                 alpha*-*-linux*
299
Unixware 2.x                                    i[3456]86-unixware2*
300
Irix 6.x                                        mips*-sgi-irix6*
301
PowerPC GNU/Linux                               powerpc-*-linux*
302
PowerPC Solaris                                 powerpcle-*-solaris*
303
Sparc GNU/Linux                                 sparc-*-linux*
304
Motorola sysV68 R3V7.1                          m68k-motorola-sysv
305
 
306
* New targets
307
 
308
Argonaut Risc Chip (ARC)                        arc-*-*
309
Hitachi H8/300S                                 h8300*-*-*
310
Matsushita MN10200 w/simulator                  mn10200-*-*
311
Matsushita MN10300 w/simulator                  mn10300-*-*
312
MIPS NEC VR4100                                 mips64*vr4100*{,el}-*-elf*
313
MIPS NEC VR5000                                 mips64*vr5000*{,el}-*-elf*
314
MIPS Toshiba TX39                               mips64*tx39*{,el}-*-elf*
315
Mitsubishi D10V w/simulator                     d10v-*-*
316
Mitsubishi M32R/D w/simulator                   m32r-*-elf*
317
Tsqware Sparclet                                sparclet-*-*
318
NEC V850 w/simulator                            v850-*-*
319
 
320
* New debugging protocols
321
 
322
ARM with RDI protocol                           arm*-*-*
323
M68K with dBUG monitor                          m68*-*-{aout,coff,elf}
324
DDB and LSI variants of PMON protocol           mips*-*-*
325
PowerPC with DINK32 monitor                     powerpc{,le}-*-eabi
326
PowerPC with SDS protocol                       powerpc{,le}-*-eabi
327
Macraigor OCD (Wiggler) devices                 powerpc{,le}-*-eabi
328
 
329
* DWARF 2
330
 
331
All configurations can now understand and use the DWARF 2 debugging
332
format.  The choice is automatic, if the symbol file contains DWARF 2
333
information.
334
 
335
* Java frontend
336
 
337
GDB now includes basic Java language support.  This support is
338
only useful with Java compilers that produce native machine code.
339
 
340
* solib-absolute-prefix and solib-search-path
341
 
342
For SunOS and SVR4 shared libraries, you may now set the prefix for
343
loading absolute shared library symbol files, and the search path for
344
locating non-absolute shared library symbol files.
345
 
346
* Live range splitting
347
 
348
GDB can now effectively debug code for which GCC has performed live
349
range splitting as part of its optimization.  See gdb/doc/LRS for
350
more details on the expected format of the stabs information.
351
 
352
* Hurd support
353
 
354
GDB's support for the GNU Hurd, including thread debugging, has been
355
updated to work with current versions of the Hurd.
356
 
357
* ARM Thumb support
358
 
359
GDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit
360
instruction set.  ARM GDB automatically detects when Thumb
361
instructions are in use, and adjusts disassembly and backtracing
362
accordingly.
363
 
364
* MIPS16 support
365
 
366
GDB's MIPS target configurations now handle the MIP16 16-bit
367
instruction set.
368
 
369
* Overlay support
370
 
371
GDB now includes support for overlays; if an executable has been
372
linked such that multiple sections are based at the same address, GDB
373
will decide which section to use for symbolic info.  You can choose to
374
control the decision manually, using overlay commands, or implement
375
additional target-side support and use "overlay load-target" to bring
376
in the overlay mapping.  Do "help overlay" for more detail.
377
 
378
* info symbol
379
 
380
The command "info symbol 
" displays information about
381
the symbol at the specified address.
382
 
383
* Trace support
384
 
385
The standard remote protocol now includes an extension that allows
386
asynchronous collection and display of trace data.  This requires
387
extensive support in the target-side debugging stub.  Tracing mode
388
includes a new interaction mode in GDB and new commands: see the
389
file tracepoint.c for more details.
390
 
391
* MIPS simulator
392
 
393
Configurations for embedded MIPS now include a simulator contributed
394
by Cygnus Solutions.  The simulator supports the instruction sets
395
of most MIPS variants.
396
 
397
* Sparc simulator
398
 
399
Sparc configurations may now include the ERC32 simulator contributed
400
by the European Space Agency.  The simulator is not built into
401
Sparc targets by default; configure with --enable-sim to include it.
402
 
403
* set architecture
404
 
405
For target configurations that may include multiple variants of a
406
basic architecture (such as MIPS and SH), you may now set the
407
architecture explicitly.  "set arch" sets, "info arch" lists
408
the possible architectures.
409
 
410
*** Changes in GDB-4.16:
411
 
412
* New native configurations
413
 
414
Windows 95, x86 Windows NT                      i[345]86-*-cygwin32
415
M68K NetBSD                                     m68k-*-netbsd*
416
PowerPC AIX 4.x                                 powerpc-*-aix*
417
PowerPC MacOS                                   powerpc-*-macos*
418
PowerPC Windows NT                              powerpcle-*-cygwin32
419
RS/6000 AIX 4.x                                 rs6000-*-aix4*
420
 
421
* New targets
422
 
423
ARM with RDP protocol                           arm-*-*
424
I960 with MON960                                i960-*-coff
425
MIPS VxWorks                                    mips*-*-vxworks*
426
MIPS VR4300 with PMON                           mips64*vr4300{,el}-*-elf*
427
PowerPC with PPCBUG monitor                     powerpc{,le}-*-eabi*
428
Hitachi SH3                                     sh-*-*
429
Matra Sparclet                                  sparclet-*-*
430
 
431
* PowerPC simulator
432
 
433
The powerpc-eabi configuration now includes the PSIM simulator,
434
contributed by Andrew Cagney, with assistance from Mike Meissner.
435
PSIM is a very elaborate model of the PowerPC, including not only
436
basic instruction set execution, but also details of execution unit
437
performance and I/O hardware.  See sim/ppc/README for more details.
438
 
439
* Solaris 2.5
440
 
441
GDB now works with Solaris 2.5.
442
 
443
* Windows 95/NT native
444
 
445
GDB will now work as a native debugger on Windows 95 and Windows NT.
446
To build it from source, you must use the "gnu-win32" environment,
447
which uses a DLL to emulate enough of Unix to run the GNU tools.
448
Further information, binaries, and sources are available at
449
ftp.cygnus.com, under pub/gnu-win32.
450
 
451
* dont-repeat command
452
 
453
If a user-defined command includes the command `dont-repeat', then the
454
command will not be repeated if the user just types return.  This is
455
useful if the command is time-consuming to run, so that accidental
456
extra keystrokes don't run the same command many times.
457
 
458
* Send break instead of ^C
459
 
460
The standard remote protocol now includes an option to send a break
461
rather than a ^C to the target in order to interrupt it.  By default,
462
GDB will send ^C; to send a break, set the variable `remotebreak' to 1.
463
 
464
* Remote protocol timeout
465
 
466
The standard remote protocol includes a new variable `remotetimeout'
467
that allows you to set the number of seconds before GDB gives up trying
468
to read from the target.  The default value is 2.
469
 
470
* Automatic tracking of dynamic object loading (HPUX and Solaris only)
471
 
472
By default GDB will automatically keep track of objects as they are
473
loaded and unloaded by the dynamic linker.  By using the command `set
474
stop-on-solib-events 1' you can arrange for GDB to stop the inferior
475
when shared library events occur, thus allowing you to set breakpoints
476
in shared libraries which are explicitly loaded by the inferior.
477
 
478
Note this feature does not work on hpux8.  On hpux9 you must link
479
/usr/lib/end.o into your program.  This feature should work
480
automatically on hpux10.
481
 
482
* Irix 5.x hardware watchpoint support
483
 
484
Irix 5 configurations now support the use of hardware watchpoints.
485
 
486
* Mips protocol "SYN garbage limit"
487
 
488
When debugging a Mips target using the `target mips' protocol, you
489
may set the number of characters that GDB will ignore by setting
490
the `syn-garbage-limit'.  A value of -1 means that GDB will ignore
491
every character.  The default value is 1050.
492
 
493
* Recording and replaying remote debug sessions
494
 
495
If you set `remotelogfile' to the name of a file, gdb will write to it
496
a recording of a remote debug session.  This recording may then be
497
replayed back to gdb using "gdbreplay".  See gdbserver/README for
498
details.  This is useful when you have a problem with GDB while doing
499
remote debugging; you can make a recording of the session and send it
500
to someone else, who can then recreate the problem.
501
 
502
* Speedups for remote debugging
503
 
504
GDB includes speedups for downloading and stepping MIPS systems using
505
the IDT monitor, fast downloads to the Hitachi SH E7000 emulator,
506
and more efficient S-record downloading.
507
 
508
* Memory use reductions and statistics collection
509
 
510
GDB now uses less memory and reports statistics about memory usage.
511
Try the `maint print statistics' command, for example.
512
 
513
*** Changes in GDB-4.15:
514
 
515
* Psymtabs for XCOFF
516
 
517
The symbol reader for AIX GDB now uses partial symbol tables.  This
518
can greatly improve startup time, especially for large executables.
519
 
520
* Remote targets use caching
521
 
522
Remote targets now use a data cache to speed up communication with the
523
remote side.  The data cache could lead to incorrect results because
524
it doesn't know about volatile variables, thus making it impossible to
525
debug targets which use memory mapped I/O devices. `set remotecache
526
off' turns the the data cache off.
527
 
528
* Remote targets may have threads
529
 
530
The standard remote protocol now includes support for multiple threads
531
in the target system, using new protocol commands 'H' and 'T'.  See
532
gdb/remote.c for details.
533
 
534
* NetROM support
535
 
536
If GDB is configured with `--enable-netrom', then it will include
537
support for the NetROM ROM emulator from XLNT Designs.  The NetROM
538
acts as though it is a bank of ROM on the target board, but you can
539
write into it over the network.  GDB's support consists only of
540
support for fast loading into the emulated ROM; to debug, you must use
541
another protocol, such as standard remote protocol.  The usual
542
sequence is something like
543
 
544
        target nrom 
545
        load 
546
        target remote :1235
547
 
548
* Macintosh host
549
 
550
GDB now includes support for the Apple Macintosh, as a host only.  It
551
may be run as either an MPW tool or as a standalone application, and
552
it can debug through the serial port.  All the usual GDB commands are
553
available, but to the target command, you must supply "serial" as the
554
device type instead of "/dev/ttyXX".  See mpw-README in the main
555
directory for more information on how to build.  The MPW configuration
556
scripts */mpw-config.in support only a few targets, and only the
557
mips-idt-ecoff target has been tested.
558
 
559
* Autoconf
560
 
561
GDB configuration now uses autoconf.  This is not user-visible,
562
but does simplify configuration and building.
563
 
564
* hpux10
565
 
566
GDB now supports hpux10.
567
 
568
*** Changes in GDB-4.14:
569
 
570
* New native configurations
571
 
572
x86 FreeBSD                                     i[345]86-*-freebsd
573
x86 NetBSD                                      i[345]86-*-netbsd
574
NS32k NetBSD                                    ns32k-*-netbsd
575
Sparc NetBSD                                    sparc-*-netbsd
576
 
577
* New targets
578
 
579
A29K VxWorks                                    a29k-*-vxworks
580
HP PA PRO embedded (WinBond W89K & Oki OP50N)   hppa*-*-pro*
581
CPU32 EST-300 emulator                          m68*-*-est*
582
PowerPC ELF                                     powerpc-*-elf
583
WDC 65816                                       w65-*-*
584
 
585
* Alpha OSF/1 support for procfs
586
 
587
GDB now supports procfs under OSF/1-2.x and higher, which makes it
588
possible to attach to running processes.  As the mounting of the /proc
589
filesystem is optional on the Alpha, GDB automatically determines
590
the availability of /proc during startup.  This can lead to problems
591
if /proc is unmounted after GDB has been started.
592
 
593
* Arguments to user-defined commands
594
 
595
User commands may accept up to 10 arguments separated by whitespace.
596
Arguments are accessed within the user command via $arg0..$arg9.  A
597
trivial example:
598
define adder
599
  print $arg0 + $arg1 + $arg2
600
 
601
To execute the command use:
602
adder 1 2 3
603
 
604
Defines the command "adder" which prints the sum of its three arguments.
605
Note the arguments are text substitutions, so they may reference variables,
606
use complex expressions, or even perform inferior function calls.
607
 
608
* New `if' and `while' commands
609
 
610
This makes it possible to write more sophisticated user-defined
611
commands.  Both commands take a single argument, which is the
612
expression to evaluate, and must be followed by the commands to
613
execute, one per line, if the expression is nonzero, the list being
614
terminated by the word `end'.  The `if' command list may include an
615
`else' word, which causes the following commands to be executed only
616
if the expression is zero.
617
 
618
* Fortran source language mode
619
 
620
GDB now includes partial support for Fortran 77.  It will recognize
621
Fortran programs and can evaluate a subset of Fortran expressions, but
622
variables and functions may not be handled correctly.  GDB will work
623
with G77, but does not yet know much about symbols emitted by other
624
Fortran compilers.
625
 
626
* Better HPUX support
627
 
628
Most debugging facilities now work on dynamic executables for HPPAs
629
running hpux9 or later.  You can attach to running dynamically linked
630
processes, but by default the dynamic libraries will be read-only, so
631
for instance you won't be able to put breakpoints in them.  To change
632
that behavior do the following before running the program:
633
 
634
        adb -w a.out
635
        __dld_flags?W 0x5
636
        control-d
637
 
638
This will cause the libraries to be mapped private and read-write.
639
To revert to the normal behavior, do this:
640
 
641
        adb -w a.out
642
        __dld_flags?W 0x4
643
        control-d
644
 
645
You cannot set breakpoints or examine data in the library until after
646
the library is loaded if the function/data symbols do not have
647
external linkage.
648
 
649
GDB can now also read debug symbols produced by the HP C compiler on
650
HPPAs (sorry, no C++, Fortran or 68k support).
651
 
652
* Target byte order now dynamically selectable
653
 
654
You can choose which byte order to use with a target system, via the
655
commands "set endian big" and "set endian little", and you can see the
656
current setting by using "show endian".  You can also give the command
657
"set endian auto", in which case GDB will use the byte order
658
associated with the executable.  Currently, only embedded MIPS
659
configurations support dynamic selection of target byte order.
660
 
661
* New DOS host serial code
662
 
663
This version uses DPMI interrupts to handle buffered I/O, so you
664
no longer need to run asynctsr when debugging boards connected to
665
a PC's serial port.
666
 
667
*** Changes in GDB-4.13:
668
 
669
* New "complete" command
670
 
671
This lists all the possible completions for the rest of the line, if it
672
were to be given as a command itself.  This is intended for use by emacs.
673
 
674
* Trailing space optional in prompt
675
 
676
"set prompt" no longer adds a space for you after the prompt you set.  This
677
allows you to set a prompt which ends in a space or one that does not.
678
 
679
* Breakpoint hit counts
680
 
681
"info break" now displays a count of the number of times the breakpoint
682
has been hit.  This is especially useful in conjunction with "ignore"; you
683
can ignore a large number of breakpoint hits, look at the breakpoint info
684
to see how many times the breakpoint was hit, then run again, ignoring one
685
less than that number, and this will get you quickly to the last hit of
686
that breakpoint.
687
 
688
* Ability to stop printing at NULL character
689
 
690
"set print null-stop" will cause GDB to stop printing the characters of
691
an array when the first NULL is encountered.  This is useful when large
692
arrays actually contain only short strings.
693
 
694
* Shared library breakpoints
695
 
696
In SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set
697
breakpoints in shared libraries before the executable is run.
698
 
699
* Hardware watchpoints
700
 
701
There is a new hardware breakpoint for the watch command for sparclite
702
targets.  See gdb/sparclite/hw_breakpoint.note.
703
 
704
Hardware watchpoints are also now supported under Linux.
705
 
706
* Annotations
707
 
708
Annotations have been added.  These are for use with graphical interfaces,
709
and are still experimental.  Currently only gdba.el uses these.
710
 
711
* Improved Irix 5 support
712
 
713
GDB now works properly with Irix 5.2.
714
 
715
* Improved HPPA support
716
 
717
GDB now works properly with the latest GCC and GAS.
718
 
719
* New native configurations
720
 
721
Sequent PTX4                            i[34]86-sequent-ptx4
722
HPPA running OSF/1                      hppa*-*-osf*
723
Atari TT running SVR4                   m68*-*-sysv4*
724
RS/6000 LynxOS                          rs6000-*-lynxos*
725
 
726
* New targets
727
 
728
OS/9000                                 i[34]86-*-os9k
729
MIPS R4000                              mips64*{,el}-*-{ecoff,elf}
730
Sparc64                                 sparc64-*-*
731
 
732
* Hitachi SH7000 and E7000-PC ICE support
733
 
734
There is now support for communicating with the Hitachi E7000-PC ICE.
735
This is available automatically when GDB is configured for the SH.
736
 
737
* Fixes
738
 
739
As usual, a variety of small fixes and improvements, both generic
740
and configuration-specific.  See the ChangeLog for more detail.
741
 
742
*** Changes in GDB-4.12:
743
 
744
* Irix 5 is now supported
745
 
746
* HPPA support
747
 
748
GDB-4.12 on the HPPA has a number of changes which make it unable
749
to debug the output from the currently released versions of GCC and
750
GAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36).  Until the next major release
751
of GCC and GAS, versions of these tools designed to work with GDB-4.12
752
can be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist.
753
 
754
 
755
*** Changes in GDB-4.11:
756
 
757
* User visible changes:
758
 
759
* Remote Debugging
760
 
761
The "set remotedebug" option is now consistent between the mips remote
762
target, remote targets using the gdb-specific protocol, UDI (AMD's
763
debug protocol for the 29k) and the 88k bug monitor.  It is now an
764
integer specifying a debug level (normally 0 or 1, but 2 means more
765
debugging info for the mips target).
766
 
767
* DEC Alpha native support
768
 
769
GDB now works on the DEC Alpha.  GCC 2.4.5 does not produce usable
770
debug info, but GDB works fairly well with the DEC compiler and should
771
work with a future GCC release.  See the README file for a few
772
Alpha-specific notes.
773
 
774
* Preliminary thread implementation
775
 
776
GDB now has preliminary thread support for both SGI/Irix and LynxOS.
777
 
778
* LynxOS native and target support for 386
779
 
780
This release has been hosted on LynxOS 2.2, and also can be configured
781
to remotely debug programs running under LynxOS (see gdb/gdbserver/README
782
for details).
783
 
784
* Improvements in C++ mangling/demangling.
785
 
786
This release has much better g++ debugging, specifically in name
787
mangling/demangling, virtual function calls, print virtual table,
788
call methods, ...etc.
789
 
790
*** Changes in GDB-4.10:
791
 
792
 * User visible changes:
793
 
794
Remote debugging using the GDB-specific (`target remote') protocol now
795
supports the `load' command.  This is only useful if you have some
796
other way of getting the stub to the target system, and you can put it
797
somewhere in memory where it won't get clobbered by the download.
798
 
799
Filename completion now works.
800
 
801
When run under emacs mode, the "info line" command now causes the
802
arrow to point to the line specified.  Also, "info line" prints
803
addresses in symbolic form (as well as hex).
804
 
805
All vxworks based targets now support a user settable option, called
806
vxworks-timeout.  This option represents the number of seconds gdb
807
should wait for responses to rpc's.  You might want to use this if
808
your vxworks target is, perhaps, a slow software simulator or happens
809
to be on the far side of a thin network line.
810
 
811
 * DEC alpha support
812
 
813
This release contains support for using a DEC alpha as a GDB host for
814
cross debugging.  Native alpha debugging is not supported yet.
815
 
816
 
817
*** Changes in GDB-4.9:
818
 
819
 * Testsuite
820
 
821
This is the first GDB release which is accompanied by a matching testsuite.
822
The testsuite requires installation of dejagnu, which should be available
823
via ftp from most sites that carry GNU software.
824
 
825
 * C++ demangling
826
 
827
'Cfront' style demangling has had its name changed to 'ARM' style, to
828
emphasize that it was written from the specifications in the C++ Annotated
829
Reference Manual, not necessarily to be compatible with AT&T cfront.  Despite
830
disclaimers, it still generated too much confusion with users attempting to
831
use gdb with AT&T cfront.
832
 
833
 * Simulators
834
 
835
GDB now uses a standard remote interface to a simulator library.
836
So far, the library contains simulators for the Zilog Z8001/2, the
837
Hitachi H8/300, H8/500 and Super-H.
838
 
839
 * New targets supported
840
 
841
H8/300 simulator                        h8300-hitachi-hms or h8300hms
842
H8/500 simulator                        h8500-hitachi-hms or h8500hms
843
SH simulator                            sh-hitachi-hms    or sh
844
Z8000 simulator                         z8k-zilog-none    or z8ksim
845
IDT MIPS board over serial line         mips-idt-ecoff
846
 
847
Cross-debugging to GO32 targets is supported.  It requires a custom
848
version of the i386-stub.c module which is integrated with the
849
GO32 memory extender.
850
 
851
 * New remote protocols
852
 
853
MIPS remote debugging protocol.
854
 
855
 * New source languages supported
856
 
857
This version includes preliminary support for Chill, a Pascal like language
858
used by telecommunications companies.  Chill support is also being integrated
859
into the GNU compiler, but we don't know when it will be publically available.
860
 
861
 
862
*** Changes in GDB-4.8:
863
 
864
 * HP Precision Architecture supported
865
 
866
GDB now supports HP PA-RISC machines running HPUX.  A preliminary
867
version of this support was available as a set of patches from the
868
University of Utah.  GDB does not support debugging of programs
869
compiled with the HP compiler, because HP will not document their file
870
format.  Instead, you must use GCC (version 2.3.2 or later) and PA-GAS
871
(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z).
872
 
873
Many problems in the preliminary version have been fixed.
874
 
875
 * Faster and better demangling
876
 
877
We have improved template demangling and fixed numerous bugs in the GNU style
878
demangler.  It can now handle type modifiers such as `static' or `const'.  Wide
879
character types (wchar_t) are now supported.  Demangling of each symbol is now
880
only done once, and is cached when the symbol table for a file is read in.
881
This results in a small increase in memory usage for C programs, a moderate
882
increase in memory usage for C++ programs, and a fantastic speedup in
883
symbol lookups.
884
 
885
`Cfront' style demangling still doesn't work with AT&T cfront.  It was written
886
from the specifications in the Annotated Reference Manual, which AT&T's
887
compiler does not actually implement.
888
 
889
 * G++ multiple inheritance compiler problem
890
 
891
In the 2.3.2 release of gcc/g++, how the compiler resolves multiple
892
inheritance lattices was reworked to properly discover ambiguities.  We
893
recently found an example which causes this new algorithm to fail in a
894
very subtle way, producing bad debug information for those classes.
895
The file 'gcc.patch' (in this directory) can be applied to gcc to
896
circumvent the problem.  A future GCC release will contain a complete
897
fix.
898
 
899
The previous G++ debug info problem (mentioned below for the gdb-4.7
900
release) is fixed in gcc version 2.3.2.
901
 
902
 * Improved configure script
903
 
904
The `configure' script will now attempt to guess your system type if
905
you don't supply a host system type.  The old scheme of supplying a
906
host system triplet is preferable over using this.  All the magic is
907
done in the new `config.guess' script.  Examine it for details.
908
 
909
We have also brought our configure script much more in line with the FSF's
910
version.  It now supports the --with-xxx options.  In particular,
911
`--with-minimal-bfd' can be used to make the GDB binary image smaller.
912
The resulting GDB will not be able to read arbitrary object file formats --
913
only the format ``expected'' to be used on the configured target system.
914
We hope to make this the default in a future release.
915
 
916
 * Documentation improvements
917
 
918
There's new internal documentation on how to modify GDB, and how to
919
produce clean changes to the code.  We implore people to read it
920
before submitting changes.
921
 
922
The GDB manual uses new, sexy Texinfo conditionals, rather than arcane
923
M4 macros.  The new texinfo.tex is provided in this release.  Pre-built
924
`info' files are also provided.  To build `info' files from scratch,
925
you will need the latest `makeinfo' release, which will be available in
926
a future texinfo-X.Y release.
927
 
928
*NOTE*  The new texinfo.tex can cause old versions of TeX to hang.
929
We're not sure exactly which versions have this problem, but it has
930
been seen in 3.0.  We highly recommend upgrading to TeX version 3.141
931
or better.  If that isn't possible, there is a patch in
932
`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work
933
around this problem.
934
 
935
 * New features
936
 
937
GDB now supports array constants that can be used in expressions typed in by
938
the user.  The syntax is `{element, element, ...}'.  Ie: you can now type
939
`print {1, 2, 3}', and it will build up an array in memory malloc'd in
940
the target program.
941
 
942
The new directory `gdb/sparclite' contains a program that demonstrates
943
how the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor.
944
 
945
 * New native hosts supported
946
 
947
HP/PA-RISC under HPUX using GNU tools   hppa1.1-hp-hpux
948
386 CPUs running SCO Unix 3.2v4         i386-unknown-sco3.2v4
949
 
950
 * New targets supported
951
 
952
AMD 29k family via UDI                  a29k-amd-udi  or  udi29k
953
 
954
 * New file formats supported
955
 
956
BFD now supports reading HP/PA-RISC executables (SOM file format?),
957
HPUX core files, and SCO 3.2v2 core files.
958
 
959
 * Major bug fixes
960
 
961
Attaching to processes now works again; thanks for the many bug reports.
962
 
963
We have also stomped on a bunch of core dumps caused by
964
printf_filtered("%s") problems.
965
 
966
We eliminated a copyright problem on the rpc and ptrace header files
967
for VxWorks, which was discovered at the last minute during the 4.7
968
release.  You should now be able to build a VxWorks GDB.
969
 
970
You can now interrupt gdb while an attached process is running.  This
971
will cause the attached process to stop, and give control back to GDB.
972
 
973
We fixed problems caused by using too many file descriptors
974
for reading symbols from object files and libraries.  This was
975
especially a problem for programs that used many (~100) shared
976
libraries.
977
 
978
The `step' command now only enters a subroutine if there is line number
979
information for the subroutine.  Otherwise it acts like the `next'
980
command.  Previously, `step' would enter subroutines if there was
981
any debugging information about the routine.  This avoids problems
982
when using `cc -g1' on MIPS machines.
983
 
984
 * Internal improvements
985
 
986
GDB's internal interfaces have been improved to make it easier to support
987
debugging of multiple languages in the future.
988
 
989
GDB now uses a common structure for symbol information internally.
990
Minimal symbols (derived from linkage symbols in object files), partial
991
symbols (from a quick scan of debug information), and full symbols
992
contain a common subset of information, making it easier to write
993
shared code that handles any of them.
994
 
995
 * New command line options
996
 
997
We now accept --silent as an alias for --quiet.
998
 
999
 * Mmalloc licensing
1000
 
1001
The memory-mapped-malloc library is now licensed under the GNU Library
1002
General Public License.
1003
 
1004
*** Changes in GDB-4.7:
1005
 
1006
 * Host/native/target split
1007
 
1008
GDB has had some major internal surgery to untangle the support for
1009
hosts and remote targets.  Now, when you configure GDB for a remote
1010
target, it will no longer load in all of the support for debugging
1011
local programs on the host.  When fully completed and tested, this will
1012
ensure that arbitrary host/target combinations are possible.
1013
 
1014
The primary conceptual shift is to separate the non-portable code in
1015
GDB into three categories.  Host specific code is required any time GDB
1016
is compiled on that host, regardless of the target.  Target specific
1017
code relates to the peculiarities of the target, but can be compiled on
1018
any host.  Native specific code is everything else:  it can only be
1019
built when the host and target are the same system.  Child process
1020
handling and core file support are two common `native' examples.
1021
 
1022
GDB's use of /proc for controlling Unix child processes is now cleaner.
1023
It has been split out into a single module under the `target_ops' vector,
1024
plus two native-dependent functions for each system that uses /proc.
1025
 
1026
 * New hosts supported
1027
 
1028
HP/Apollo 68k (under the BSD domain)    m68k-apollo-bsd  or  apollo68bsd
1029
386 CPUs running various BSD ports      i386-unknown-bsd  or  386bsd
1030
386 CPUs running SCO Unix               i386-unknown-scosysv322  or  i386sco
1031
 
1032
 * New targets supported
1033
 
1034
Fujitsu SPARClite                       sparclite-fujitsu-none  or  sparclite
1035
68030 and CPU32                         m68030-*-*, m68332-*-*
1036
 
1037
 * New native hosts supported
1038
 
1039
386 CPUs running various BSD ports      i386-unknown-bsd  or  386bsd
1040
    (386bsd is not well tested yet)
1041
386 CPUs running SCO Unix               i386-unknown-scosysv322  or  sco
1042
 
1043
 * New file formats supported
1044
 
1045
BFD now supports COFF files for the Zilog Z8000 microprocessor.  It
1046
supports reading of `a.out.adobe' object files, which are an a.out
1047
format extended with minimal information about multiple sections.
1048
 
1049
 * New commands
1050
 
1051
`show copying' is the same as the old `info copying'.
1052
`show warranty' is the same as `info warrantee'.
1053
These were renamed for consistency.  The old commands continue to work.
1054
 
1055
`info handle' is a new alias for `info signals'.
1056
 
1057
You can now define pre-command hooks, which attach arbitrary command
1058
scripts to any command.  The commands in the hook will be executed
1059
prior to the user's command.  You can also create a hook which will be
1060
executed whenever the program stops.  See gdb.texinfo.
1061
 
1062
 * C++ improvements
1063
 
1064
We now deal with Cfront style name mangling, and can even extract type
1065
info from mangled symbols.  GDB can automatically figure out which
1066
symbol mangling style your C++ compiler uses.
1067
 
1068
Calling of methods and virtual functions has been improved as well.
1069
 
1070
 * Major bug fixes
1071
 
1072
The crash that occured when debugging Sun Ansi-C compiled binaries is
1073
fixed.  This was due to mishandling of the extra N_SO stabs output
1074
by the compiler.
1075
 
1076
We also finally got Ultrix 4.2 running in house, and fixed core file
1077
support, with help from a dozen people on the net.
1078
 
1079
John M. Farrell discovered that the reason that single-stepping was so
1080
slow on all of the Mips based platforms (primarily SGI and DEC) was
1081
that we were trying to demangle and lookup a symbol used for internal
1082
purposes on every instruction that was being stepped through.  Changing
1083
the name of that symbol so that it couldn't be mistaken for a C++
1084
mangled symbol sped things up a great deal.
1085
 
1086
Rich Pixley sped up symbol lookups in general by getting much smarter
1087
about when C++ symbol mangling is necessary.  This should make symbol
1088
completion (TAB on the command line) much faster.  It's not as fast as
1089
we'd like, but it's significantly faster than gdb-4.6.
1090
 
1091
 * AMD 29k support
1092
 
1093
A new user controllable variable 'call_scratch_address' can
1094
specify the location of a scratch area to be used when GDB
1095
calls a function in the target.  This is necessary because the
1096
usual method of putting the scratch area on the stack does not work
1097
in systems that have separate instruction and data spaces.
1098
 
1099
We integrated changes to support the 29k UDI (Universal Debugger
1100
Interface), but discovered at the last minute that we didn't have all
1101
of the appropriate copyright paperwork.  We are working with AMD to
1102
resolve this, and hope to have it available soon.
1103
 
1104
 * Remote interfaces
1105
 
1106
We have sped up the remote serial line protocol, especially for targets
1107
with lots of registers.  It now supports a new `expedited status' ('T')
1108
message which can be used in place of the existing 'S' status message.
1109
This allows the remote stub to send only the registers that GDB
1110
needs to make a quick decision about single-stepping or conditional
1111
breakpoints, eliminating the need to fetch the entire register set for
1112
each instruction being stepped through.
1113
 
1114
The GDB remote serial protocol now implements a write-through cache for
1115
registers, only re-reading the registers if the target has run.
1116
 
1117
There is also a new remote serial stub for SPARC processors.  You can
1118
find it in gdb-4.7/gdb/sparc-stub.c.  This was written to support the
1119
Fujitsu SPARClite processor, but will run on any stand-alone SPARC
1120
processor with a serial port.
1121
 
1122
 * Configuration
1123
 
1124
Configure.in files have become much easier to read and modify.  A new
1125
`table driven' format makes it more obvious what configurations are
1126
supported, and what files each one uses.
1127
 
1128
 * Library changes
1129
 
1130
There is a new opcodes library which will eventually contain all of the
1131
disassembly routines and opcode tables.  At present, it only contains
1132
Sparc and Z8000 routines.  This will allow the assembler, debugger, and
1133
disassembler (binutils/objdump) to share these routines.
1134
 
1135
The libiberty library is now copylefted under the GNU Library General
1136
Public License.  This allows more liberal use, and was done so libg++
1137
can use it.  This makes no difference to GDB, since the Library License
1138
grants all the rights from the General Public License.
1139
 
1140
 * Documentation
1141
 
1142
The file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete
1143
reference to the stabs symbol info used by the debugger.  It is (as far
1144
as we know) the only published document on this fascinating topic.  We
1145
encourage you to read it, compare it to the stabs information on your
1146
system, and send improvements on the document in general (to
1147
bug-gdb@prep.ai.mit.edu).
1148
 
1149
And, of course, many bugs have been fixed.
1150
 
1151
 
1152
*** Changes in GDB-4.6:
1153
 
1154
 * Better support for C++ function names
1155
 
1156
GDB now accepts as input the "demangled form" of C++ overloaded function
1157
names and member function names, and can do command completion on such names
1158
(using TAB, TAB-TAB, and ESC-?).  The names have to be quoted with a pair of
1159
single quotes.  Examples are 'func (int, long)' and 'obj::operator==(obj&)'.
1160
Make use of command completion, it is your friend.
1161
 
1162
GDB also now accepts a variety of C++ mangled symbol formats.  They are
1163
the GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style.
1164
You can tell GDB which format to use by doing a 'set demangle-style {gnu,
1165
lucid, cfront, auto}'.  'gnu' is the default.  Do a 'set demangle-style foo'
1166
for the list of formats.
1167
 
1168
 * G++ symbol mangling problem
1169
 
1170
Recent versions of gcc have a bug in how they emit debugging information for
1171
C++ methods (when using dbx-style stabs).  The file 'gcc.patch' (in this
1172
directory) can be applied to gcc to fix the problem.  Alternatively, if you
1173
can't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The
1174
usual symptom is difficulty with setting breakpoints on methods.  GDB complains
1175
about the method being non-existent.  (We believe that version 2.2.2 of GCC has
1176
this problem.)
1177
 
1178
 * New 'maintenance' command
1179
 
1180
All of the commands related to hacking GDB internals have been moved out of
1181
the main command set, and now live behind the 'maintenance' command.  This
1182
can also be abbreviated as 'mt'.  The following changes were made:
1183
 
1184
        dump-me ->              maintenance dump-me
1185
        info all-breakpoints -> maintenance info breakpoints
1186
        printmsyms ->           maintenance print msyms
1187
        printobjfiles ->        maintenance print objfiles
1188
        printpsyms ->           maintenance print psymbols
1189
        printsyms ->            maintenance print symbols
1190
 
1191
The following commands are new:
1192
 
1193
        maintenance demangle    Call internal GDB demangler routine to
1194
                                demangle a C++ link name and prints the result.
1195
        maintenance print type  Print a type chain for a given symbol
1196
 
1197
 * Change to .gdbinit file processing
1198
 
1199
We now read the $HOME/.gdbinit file before processing the argv arguments
1200
(e.g. reading symbol files or core files).  This allows global parameters to
1201
be set, which will apply during the symbol reading.  The ./.gdbinit is still
1202
read after argv processing.
1203
 
1204
 * New hosts supported
1205
 
1206
Solaris-2.0 !!!                         sparc-sun-solaris2  or  sun4sol2
1207
 
1208
Linux support                           i386-unknown-linux  or  linux
1209
 
1210
We are also including code to support the HP/PA running BSD and HPUX.  This
1211
is almost guaranteed not to work, as we didn't have time to test or build it
1212
for this release.  We are including it so that the more adventurous (or
1213
masochistic) of you can play with it.  We also had major problems with the
1214
fact that the compiler that we got from HP doesn't support the -g option.
1215
It costs extra.
1216
 
1217
 * New targets supported
1218
 
1219
Hitachi H8/300                          h8300-hitachi-hms  or  h8300hms
1220
 
1221
 * More smarts about finding #include files
1222
 
1223
GDB now remembers the compilation directory for all include files, and for
1224
all files from which C is generated (like yacc and lex sources).  This
1225
greatly improves GDB's ability to find yacc/lex sources, and include files,
1226
especially if you are debugging your program from a directory different from
1227
the one that contains your sources.
1228
 
1229
We also fixed a bug which caused difficulty with listing and setting
1230
breakpoints in include files which contain C code.  (In the past, you had to
1231
try twice in order to list an include file that you hadn't looked at before.)
1232
 
1233
 * Interesting infernals change
1234
 
1235
GDB now deals with arbitrary numbers of sections, where the symbols for each
1236
section must be relocated relative to that section's landing place in the
1237
target's address space.  This work was needed to support ELF with embedded
1238
stabs used by Solaris-2.0.
1239
 
1240
 * Bug fixes (of course!)
1241
 
1242
There have been loads of fixes for the following things:
1243
        mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k,
1244
        i960, stabs, DOS(GO32), procfs, etc...
1245
 
1246
See the ChangeLog for details.
1247
 
1248
*** Changes in GDB-4.5:
1249
 
1250
 * New machines supported (host and target)
1251
 
1252
IBM RS6000 running AIX                  rs6000-ibm-aix  or rs6000
1253
 
1254
SGI Irix-4.x                            mips-sgi-irix4  or iris4
1255
 
1256
 * New malloc package
1257
 
1258
GDB now uses a new memory manager called mmalloc, based on gmalloc.
1259
Mmalloc is capable of handling mutiple heaps of memory.  It is also
1260
capable of saving a heap to a file, and then mapping it back in later.
1261
This can be used to greatly speedup the startup of GDB by using a
1262
pre-parsed symbol table which lives in a mmalloc managed heap.  For
1263
more details, please read mmalloc/mmalloc.texi.
1264
 
1265
 * info proc
1266
 
1267
The 'info proc' command (SVR4 only) has been enhanced quite a bit.  See
1268
'help info proc' for details.
1269
 
1270
 * MIPS ecoff symbol table format
1271
 
1272
The code that reads MIPS symbol table format is now supported on all hosts.
1273
Thanks to MIPS for releasing the sym.h and symconst.h files to make this
1274
possible.
1275
 
1276
 * File name changes for MS-DOS
1277
 
1278
Many files in the config directories have been renamed to make it easier to
1279
support GDB on MS-DOSe systems (which have very restrictive file name
1280
conventions :-( ).  MS-DOSe host support (under DJ Delorie's GO32
1281
environment) is close to working but has some remaining problems.  Note
1282
that debugging of DOS programs is not supported, due to limitations
1283
in the ``operating system'', but it can be used to host cross-debugging.
1284
 
1285
 * Cross byte order fixes
1286
 
1287
Many fixes have been made to support cross debugging of Sparc and MIPS
1288
targets from hosts whose byte order differs.
1289
 
1290
 * New -mapped and -readnow options
1291
 
1292
If memory-mapped files are available on your system through the 'mmap'
1293
system call, you can use the -mapped option on the `file' or
1294
`symbol-file' commands to cause GDB to write the symbols from your
1295
program into a reusable file.  If the program you are debugging is
1296
called `/path/fred', the mapped symbol file will be `./fred.syms'.
1297
Future GDB debugging sessions will notice the presence of this file,
1298
and will quickly map in symbol information from it, rather than reading
1299
the symbol table from the executable program.  Using the '-mapped'
1300
option in a GDB `file' or `symbol-file' command has the same effect as
1301
starting GDB with the '-mapped' command-line option.
1302
 
1303
You can cause GDB to read the entire symbol table immediately by using
1304
the '-readnow' option with any of the commands that load symbol table
1305
information (or on the GDB command line).  This makes the command
1306
slower, but makes future operations faster.
1307
 
1308
The -mapped and -readnow options are typically combined in order to
1309
build a `fred.syms' file that contains complete symbol information.
1310
A simple GDB invocation to do nothing but build a `.syms' file for future
1311
use is:
1312
 
1313
        gdb -batch -nx -mapped -readnow programname
1314
 
1315
The `.syms' file is specific to the host machine on which GDB is run.
1316
It holds an exact image of GDB's internal symbol table.  It cannot be
1317
shared across multiple host platforms.
1318
 
1319
 * longjmp() handling
1320
 
1321
GDB is now capable of stepping and nexting over longjmp(), _longjmp(), and
1322
siglongjmp() without losing control.  This feature has not yet been ported to
1323
all systems.  It currently works on many 386 platforms, all MIPS-based
1324
platforms (SGI, DECstation, etc), and Sun3/4.
1325
 
1326
 * Solaris 2.0
1327
 
1328
Preliminary work has been put in to support the new Solaris OS from Sun.  At
1329
this time, it can control and debug processes, but it is not capable of
1330
reading symbols.
1331
 
1332
 * Bug fixes
1333
 
1334
As always, many many bug fixes.  The major areas were with g++, and mipsread.
1335
People using the MIPS-based platforms should experience fewer mysterious
1336
crashes and trashed symbol tables.
1337
 
1338
*** Changes in GDB-4.4:
1339
 
1340
 * New machines supported (host and target)
1341
 
1342
SCO Unix on i386 IBM PC clones          i386-sco-sysv   or  i386sco
1343
        (except core files)
1344
BSD Reno on Vax                         vax-dec-bsd
1345
Ultrix on Vax                           vax-dec-ultrix
1346
 
1347
 * New machines supported (target)
1348
 
1349
AMD 29000 embedded, using EBMON         a29k-none-none
1350
 
1351
 * C++ support
1352
 
1353
GDB continues to improve its handling of C++.  `References' work better.
1354
The demangler has also been improved, and now deals with symbols mangled as
1355
per the Annotated C++ Reference Guide.
1356
 
1357
GDB also now handles `stabs' symbol information embedded in MIPS
1358
`ecoff' symbol tables.  Since the ecoff format was not easily
1359
extensible to handle new languages such as C++, this appeared to be a
1360
good way to put C++ debugging info into MIPS binaries.  This option
1361
will be supported in the GNU C compiler, version 2, when it is
1362
released.
1363
 
1364
 * New features for SVR4
1365
 
1366
GDB now handles SVR4 shared libraries, in the same fashion as SunOS
1367
shared libraries.  Debugging dynamically linked programs should present
1368
only minor differences from debugging statically linked programs.
1369
 
1370
The `info proc' command will print out information about any process
1371
on an SVR4 system (including the one you are debugging).  At the moment,
1372
it prints the address mappings of the process.
1373
 
1374
If you bring up GDB on another SVR4 system, please send mail to
1375
bug-gdb@prep.ai.mit.edu to let us know what changes were reqired (if any).
1376
 
1377
 * Better dynamic linking support in SunOS
1378
 
1379
Reading symbols from shared libraries which contain debugging symbols
1380
now works properly.  However, there remain issues such as automatic
1381
skipping of `transfer vector' code during function calls, which
1382
make it harder to debug code in a shared library, than to debug the
1383
same code linked statically.
1384
 
1385
 * New Getopt
1386
 
1387
GDB is now using the latest `getopt' routines from the FSF.  This
1388
version accepts the -- prefix for options with long names.  GDB will
1389
continue to accept the old forms (-option and +option) as well.
1390
Various single letter abbreviations for options have been explicity
1391
added to the option table so that they won't get overshadowed in the
1392
future by other options that begin with the same letter.
1393
 
1394
 * Bugs fixed
1395
 
1396
The `cleanup_undefined_types' bug that many of you noticed has been squashed.
1397
Many assorted bugs have been handled.  Many more remain to be handled.
1398
See the various ChangeLog files (primarily in gdb and bfd) for details.
1399
 
1400
 
1401
*** Changes in GDB-4.3:
1402
 
1403
 * New machines supported (host and target)
1404
 
1405
Amiga 3000 running Amix                 m68k-cbm-svr4   or  amix
1406
NCR 3000 386 running SVR4               i386-ncr-svr4   or  ncr3000
1407
Motorola Delta 88000 running Sys V      m88k-motorola-sysv  or  delta88
1408
 
1409
 * Almost SCO Unix support
1410
 
1411
We had hoped to support:
1412
SCO Unix on i386 IBM PC clones          i386-sco-sysv   or  i386sco
1413
(except for core file support), but we discovered very late in the release
1414
that it has problems with process groups that render gdb unusable.  Sorry
1415
about that.  I encourage people to fix it and post the fixes.
1416
 
1417
 * Preliminary ELF and DWARF support
1418
 
1419
GDB can read ELF object files on System V Release 4, and can handle
1420
debugging records for C, in DWARF format, in ELF files.  This support
1421
is preliminary.  If you bring up GDB on another SVR4 system, please
1422
send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were
1423
reqired (if any).
1424
 
1425
 * New Readline
1426
 
1427
GDB now uses the latest `readline' library.  One user-visible change
1428
is that two tabs will list possible command completions, which previously
1429
required typing M-? (meta-question mark, or ESC ?).
1430
 
1431
 * Bugs fixed
1432
 
1433
The `stepi' bug that many of you noticed has been squashed.
1434
Many bugs in C++ have been handled.  Many more remain to be handled.
1435
See the various ChangeLog files (primarily in gdb and bfd) for details.
1436
 
1437
 * State of the MIPS world (in case you wondered):
1438
 
1439
GDB can understand the symbol tables emitted by the compilers
1440
supplied by most vendors of MIPS-based machines, including DEC.  These
1441
symbol tables are in a format that essentially nobody else uses.
1442
 
1443
Some versions of gcc come with an assembler post-processor called
1444
mips-tfile.  This program is required if you want to do source-level
1445
debugging of gcc-compiled programs.  I believe FSF does not ship
1446
mips-tfile with gcc version 1, but it will eventually come with gcc
1447
version 2.
1448
 
1449
Debugging of g++ output remains a problem.  g++ version 1.xx does not
1450
really support it at all.  (If you're lucky, you should be able to get
1451
line numbers and stack traces to work, but no parameters or local
1452
variables.)  With some work it should be possible to improve the
1453
situation somewhat.
1454
 
1455
When gcc version 2 is released, you will have somewhat better luck.
1456
However, even then you will get confusing results for inheritance and
1457
methods.
1458
 
1459
We will eventually provide full debugging of g++ output on
1460
DECstations.  This will probably involve some kind of stabs-in-ecoff
1461
encapulation, but the details have not been worked out yet.
1462
 
1463
 
1464
*** Changes in GDB-4.2:
1465
 
1466
 *  Improved configuration
1467
 
1468
Only one copy of `configure' exists now, and it is not self-modifying.
1469
Porting BFD is simpler.
1470
 
1471
 *  Stepping improved
1472
 
1473
The `step' and `next' commands now only stop at the first instruction
1474
of a source line.  This prevents the multiple stops that used to occur
1475
in switch statements, for-loops, etc.  `Step' continues to stop if a
1476
function that has debugging information is called within the line.
1477
 
1478
 *  Bug fixing
1479
 
1480
Lots of small bugs fixed.  More remain.
1481
 
1482
 *  New host supported (not target)
1483
 
1484
Intel 386 PC clone running Mach         i386-none-mach
1485
 
1486
 
1487
*** Changes in GDB-4.1:
1488
 
1489
 *  Multiple source language support
1490
 
1491
GDB now has internal scaffolding to handle several source languages.
1492
It determines the type of each source file from its filename extension,
1493
and will switch expression parsing and number formatting to match the
1494
language of the function in the currently selected stack frame.
1495
You can also specifically set the language to be used, with
1496
`set language c' or `set language modula-2'.
1497
 
1498
 *  GDB and Modula-2
1499
 
1500
GDB now has preliminary support for the GNU Modula-2 compiler,
1501
currently under development at the State University of New York at
1502
Buffalo.  Development of both GDB and the GNU Modula-2 compiler will
1503
continue through the fall of 1991 and into 1992.
1504
 
1505
Other Modula-2 compilers are currently not supported, and attempting to
1506
debug programs compiled with them will likely result in an error as the
1507
symbol table is read.  Feel free to work on it, though!
1508
 
1509
There are hooks in GDB for strict type checking and range checking,
1510
in the `Modula-2 philosophy', but they do not currently work.
1511
 
1512
 * set write on/off
1513
 
1514
GDB can now write to executable and core files (e.g. patch
1515
a variable's value).   You must turn this switch on, specify
1516
the file ("exec foo" or "core foo"), *then* modify it, e.g.
1517
by assigning a new value to a variable.  Modifications take
1518
effect immediately.
1519
 
1520
 * Automatic SunOS shared library reading
1521
 
1522
When you run your program, GDB automatically determines where its
1523
shared libraries (if any) have been loaded, and reads their symbols.
1524
The `share' command is no longer needed.  This also works when
1525
examining core files.
1526
 
1527
 * set listsize
1528
 
1529
You can specify the number of lines that the `list' command shows.
1530
The default is 10.
1531
 
1532
 * New machines supported (host and target)
1533
 
1534
SGI Iris (MIPS) running Irix V3:        mips-sgi-irix   or  iris
1535
Sony NEWS (68K) running NEWSOS 3.x:     m68k-sony-sysv  or  news
1536
Ultracomputer (29K) running Sym1:       a29k-nyu-sym1   or  ultra3
1537
 
1538
 * New hosts supported (not targets)
1539
 
1540
IBM RT/PC:                              romp-ibm-aix    or  rtpc
1541
 
1542
 * New targets supported (not hosts)
1543
 
1544
AMD 29000 embedded with COFF            a29k-none-coff
1545
AMD 29000 embedded with a.out           a29k-none-aout
1546
Ultracomputer remote kernel debug       a29k-nyu-kern
1547
 
1548
 * New remote interfaces
1549
 
1550
AMD 29000 Adapt
1551
AMD 29000 Minimon
1552
 
1553
 
1554
*** Changes in GDB-4.0:
1555
 
1556
 *  New Facilities
1557
 
1558
Wide output is wrapped at good places to make the output more readable.
1559
 
1560
Gdb now supports cross-debugging from a host machine of one type to a
1561
target machine of another type.  Communication with the target system
1562
is over serial lines.  The ``target'' command handles connecting to the
1563
remote system; the ``load'' command will download a program into the
1564
remote system.  Serial stubs for the m68k and i386 are provided.  Gdb
1565
also supports debugging of realtime processes running under VxWorks,
1566
using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
1567
stub on the target system.
1568
 
1569
New CPUs supported include the AMD 29000 and Intel 960.
1570
 
1571
GDB now reads object files and symbol tables via a ``binary file''
1572
library, which allows a single copy of GDB to debug programs of multiple
1573
object file types such as a.out and coff.
1574
 
1575
There is now a GDB reference card in "doc/refcard.tex".  (Make targets
1576
refcard.dvi and refcard.ps are available to format it).
1577
 
1578
 
1579
 *  Control-Variable user interface simplified
1580
 
1581
All variables that control the operation of the debugger can be set
1582
by the ``set'' command, and displayed by the ``show'' command.
1583
 
1584
For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
1585
``Show prompt'' produces the response:
1586
Gdb's prompt is new-gdb=>.
1587
 
1588
What follows are the NEW set commands.  The command ``help set'' will
1589
print a complete list of old and new set commands.  ``help set FOO''
1590
will give a longer description of the variable FOO.  ``show'' will show
1591
all of the variable descriptions and their current settings.
1592
 
1593
confirm on/off:  Enables warning questions for operations that are
1594
                 hard to recover from, e.g. rerunning the program while
1595
                 it is already running.  Default is ON.
1596
 
1597
editing on/off:  Enables EMACS style command line editing
1598
                 of input.  Previous lines can be recalled with
1599
                 control-P, the current line can be edited with control-B,
1600
                 you can search for commands with control-R, etc.
1601
                 Default is ON.
1602
 
1603
history filename NAME:  NAME is where the gdb command history
1604
                        will be stored.  The default is .gdb_history,
1605
                        or the value of the environment variable
1606
                        GDBHISTFILE.
1607
 
1608
history size N:  The size, in commands, of the command history.  The
1609
                 default is 256, or the value of the environment variable
1610
                 HISTSIZE.
1611
 
1612
history save on/off: If this value is set to ON, the history file will
1613
                      be saved after exiting gdb.  If set to OFF, the
1614
                      file will not be saved.  The default is OFF.
1615
 
1616
history expansion on/off: If this value is set to ON, then csh-like
1617
                          history expansion will be performed  on
1618
                          command line input.  The default is OFF.
1619
 
1620
radix N:  Sets the default radix for input and output.  It can be set
1621
          to 8, 10, or 16.  Note that the argument to "radix" is interpreted
1622
          in the current radix, so "set radix 10" is always a no-op.
1623
 
1624
height N: This integer value is the number of lines on a page. Default
1625
          is 24, the current `stty rows'' setting, or the ``li#''
1626
          setting from the termcap entry matching the environment
1627
          variable TERM.
1628
 
1629
width N:  This integer value is the number of characters on a line.
1630
          Default is 80, the current `stty cols'' setting, or the ``co#''
1631
          setting from the termcap entry matching the environment
1632
          variable TERM.
1633
 
1634
Note: ``set screensize'' is obsolete. Use ``set height'' and
1635
``set width'' instead.
1636
 
1637
print address on/off:  Print memory addresses in various command displays,
1638
                      such as stack traces and structure values.  Gdb looks
1639
                      more ``symbolic'' if you turn this off; it looks more
1640
                      ``machine level'' with it on.  Default is ON.
1641
 
1642
print array on/off:  Prettyprint arrays.  New convenient format!  Default
1643
                    is OFF.
1644
 
1645
print demangle on/off:   Print C++ symbols in "source" form if on,
1646
                        "raw" form if off.
1647
 
1648
print asm-demangle on/off:  Same, for assembler level printouts
1649
                        like instructions.
1650
 
1651
print vtbl on/off:  Prettyprint C++ virtual function tables.  Default is OFF.
1652
 
1653
 
1654
 *  Support for Epoch Environment.
1655
 
1656
The epoch environment is a version of Emacs v18 with windowing.  One
1657
new command, ``inspect'', is identical to ``print'', except that if you
1658
are running in the epoch environment, the value is printed in its own
1659
window.
1660
 
1661
 
1662
 *  Support for Shared Libraries
1663
 
1664
GDB can now debug programs and core files that use SunOS shared libraries.
1665
Symbols from a shared library cannot be referenced
1666
before the shared library has been linked with the program (this
1667
happens after you type ``run'' and before the function main() is entered).
1668
At any time after this linking (including when examining core files
1669
from dynamically linked programs), gdb reads the symbols from each
1670
shared library when you type the ``sharedlibrary'' command.
1671
It can be abbreviated ``share''.
1672
 
1673
sharedlibrary REGEXP:  Load shared object library symbols for files
1674
                       matching a unix regular expression.  No argument
1675
                       indicates to load symbols for all shared libraries.
1676
 
1677
info sharedlibrary:  Status of loaded shared libraries.
1678
 
1679
 
1680
 *  Watchpoints
1681
 
1682
A watchpoint stops execution of a program whenever the value of an
1683
expression changes.  Checking for this slows down execution
1684
tremendously whenever you are in the scope of the expression, but is
1685
quite useful for catching tough ``bit-spreader'' or pointer misuse
1686
problems.  Some machines such as the 386 have hardware for doing this
1687
more quickly, and future versions of gdb will use this hardware.
1688
 
1689
watch EXP:  Set a watchpoint (breakpoint) for an expression.
1690
 
1691
info watchpoints:  Information about your watchpoints.
1692
 
1693
delete N:   Deletes watchpoint number N (same as breakpoints).
1694
disable N:  Temporarily turns off watchpoint number N (same as breakpoints).
1695
enable N:   Re-enables watchpoint number N (same as breakpoints).
1696
 
1697
 
1698
 *  C++ multiple inheritance
1699
 
1700
When used with a GCC version 2 compiler, GDB supports multiple inheritance
1701
for C++ programs.
1702
 
1703
 *  C++ exception handling
1704
 
1705
Gdb now supports limited C++ exception handling.  Besides the existing
1706
ability to breakpoint on an exception handler, gdb can breakpoint on
1707
the raising of an exception (before the stack is peeled back to the
1708
handler's context).
1709
 
1710
catch FOO:  If there is a FOO exception handler in the dynamic scope,
1711
            set a breakpoint to catch exceptions which may be raised there.
1712
            Multiple exceptions (``catch foo bar baz'') may be caught.
1713
 
1714
info catch:  Lists all exceptions which may be caught in the
1715
             current stack frame.
1716
 
1717
 
1718
 *  Minor command changes
1719
 
1720
The command ``call func (arg, arg, ...)'' now acts like the print
1721
command, except it does not print or save a value if the function's result
1722
is void.  This is similar to dbx usage.
1723
 
1724
The ``up'' and ``down'' commands now always print the frame they end up
1725
at; ``up-silently'' and `down-silently'' can be used in scripts to change
1726
frames without printing.
1727
 
1728
 *  New directory command
1729
 
1730
'dir' now adds directories to the FRONT of the source search path.
1731
The path starts off empty.  Source files that contain debug information
1732
about the directory in which they were compiled can be found even
1733
with an empty path; Sun CC and GCC include this information.  If GDB can't
1734
find your source file in the current directory, type "dir .".
1735
 
1736
 * Configuring GDB for compilation
1737
 
1738
For normal use, type ``./configure host''.  See README or gdb.texinfo
1739
for more details.
1740
 
1741
GDB now handles cross debugging.  If you are remotely debugging between
1742
two different machines, type ``./configure host -target=targ''.
1743
Host is the machine where GDB will run; targ is the machine
1744
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.