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