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