119370Spst What has changed in GDB? 219370Spst (Organized release by release) 319370Spst 4130803Smarcel*** Changes in GDB 6.1.1: 5130803Smarcel 6130803Smarcel* TUI (Text-mode User Interface) built-in (also included in GDB 6.1) 7130803Smarcel 8130803SmarcelThe TUI (Text-mode User Interface) is now built as part of a default 9130803SmarcelGDB configuration. It is enabled by either selecting the TUI with the 10130803Smarcelcommand line option "-i=tui" or by running the separate "gdbtui" 11130803Smarcelprogram. For more information on the TUI, see the manual "Debugging 12130803Smarcelwith GDB". 13130803Smarcel 14130803Smarcel* Pending breakpoint support (also included in GDB 6.1) 15130803Smarcel 16130803SmarcelSupport has been added to allow you to specify breakpoints in shared 17130803Smarcellibraries that have not yet been loaded. If a breakpoint location 18130803Smarcelcannot be found, and the "breakpoint pending" option is set to auto, 19130803SmarcelGDB queries you if you wish to make the breakpoint pending on a future 20130803Smarcelshared-library load. If and when GDB resolves the breakpoint symbol, 21130803Smarcelthe pending breakpoint is removed as one or more regular breakpoints 22130803Smarcelare created. 23130803Smarcel 24130803SmarcelPending breakpoints are very useful for GCJ Java debugging. 25130803Smarcel 26130803Smarcel* Fixed ISO-C build problems 27130803Smarcel 28130803SmarcelThe files bfd/elf-bfd.h, gdb/dictionary.c and gdb/types.c contained 29130803Smarcelnon ISO-C code that stopped them being built using a more strict ISO-C 30130803Smarcelcompiler (e.g., IBM's C compiler). 31130803Smarcel 32130803Smarcel* Fixed build problem on IRIX 5 33130803Smarcel 34130803SmarcelDue to header problems with <sys/proc.h>, the file gdb/proc-api.c 35130803Smarcelwasn't able to compile compile on an IRIX 5 system. 36130803Smarcel 37130803Smarcel* Added execute permission to gdb/gdbserver/configure 38130803Smarcel 39130803SmarcelThe shell script gdb/testsuite/gdb.stabs/configure lacked execute 40130803Smarcelpermission. This bug would cause configure to fail on a number of 41130803Smarcelsystems (Solaris, IRIX). Ref: server/519. 42130803Smarcel 43130803Smarcel* Fixed build problem on hpux2.0w-hp-hpux11.00 using the HP ANSI C compiler 44130803Smarcel 45130803SmarcelOlder HPUX ANSI C compilers did not accept variable array sizes. somsolib.c 46130803Smarcelhas been updated to use constant array sizes. 47130803Smarcel 48130803Smarcel* Fixed a panic in the DWARF Call Frame Info code on Solaris 2.7 49130803Smarcel 50130803SmarcelGCC 3.3.2, on Solaris 2.7, includes the DW_EH_PE_funcrel encoding in 51130803Smarcelits generated DWARF Call Frame Info. This encoding was causing GDB to 52130803Smarcelpanic, that panic has been fixed. Ref: gdb/1628. 53130803Smarcel 54130803Smarcel* Fixed a problem when examining parameters in shared library code. 55130803Smarcel 56130803SmarcelWhen examining parameters in optimized shared library code generated 57130803Smarcelby a mainline GCC, GDB would incorrectly report ``Variable "..." is 58130803Smarcelnot available''. GDB now correctly displays the variable's value. 59130803Smarcel 60130803Smarcel*** Changes in GDB 6.1: 61130803Smarcel 62130803Smarcel* Removed --with-mmalloc 63130803Smarcel 64130803SmarcelSupport for the mmalloc memory manager has been removed, as it 65130803Smarcelconflicted with the internal gdb byte cache. 66130803Smarcel 67130803Smarcel* Changes in AMD64 configurations 68130803Smarcel 69130803SmarcelThe AMD64 target now includes the %cs and %ss registers. As a result 70130803Smarcelthe AMD64 remote protocol has changed; this affects the floating-point 71130803Smarceland SSE registers. If you rely on those registers for your debugging, 72130803Smarcelyou should upgrade gdbserver on the remote side. 73130803Smarcel 74130803Smarcel* Revised SPARC target 75130803Smarcel 76130803SmarcelThe SPARC target has been completely revised, incorporating the 77130803SmarcelFreeBSD/sparc64 support that was added for GDB 6.0. As a result 78130803Smarcelsupport for LynxOS and SunOS 4 has been dropped. Calling functions 79130803Smarcelfrom within GDB on operating systems with a non-executable stack 80130803Smarcel(Solaris, OpenBSD) now works. 81130803Smarcel 82130803Smarcel* New C++ demangler 83130803Smarcel 84130803SmarcelGDB has a new C++ demangler which does a better job on the mangled 85130803Smarcelnames generated by current versions of g++. It also runs faster, so 86130803Smarcelwith this and other changes gdb should now start faster on large C++ 87130803Smarcelprograms. 88130803Smarcel 89130803Smarcel* DWARF 2 Location Expressions 90130803Smarcel 91130803SmarcelGDB support for location expressions has been extended to support function 92130803Smarcelarguments and frame bases. Older versions of GDB could crash when they 93130803Smarcelencountered these. 94130803Smarcel 95130803Smarcel* C++ nested types and namespaces 96130803Smarcel 97130803SmarcelGDB's support for nested types and namespaces in C++ has been 98130803Smarcelimproved, especially if you use the DWARF 2 debugging format. (This 99130803Smarcelis the default for recent versions of GCC on most platforms.) 100130803SmarcelSpecifically, if you have a class "Inner" defined within a class or 101130803Smarcelnamespace "Outer", then GDB realizes that the class's name is 102130803Smarcel"Outer::Inner", not simply "Inner". This should greatly reduce the 103130803Smarcelfrequency of complaints about not finding RTTI symbols. In addition, 104130803Smarcelif you are stopped at inside of a function defined within a namespace, 105130803SmarcelGDB modifies its name lookup accordingly. 106130803Smarcel 107130803Smarcel* New native configurations 108130803Smarcel 109130803SmarcelNetBSD/amd64 x86_64-*-netbsd* 110130803SmarcelOpenBSD/amd64 x86_64-*-openbsd* 111130803SmarcelOpenBSD/alpha alpha*-*-openbsd* 112130803SmarcelOpenBSD/sparc sparc-*-openbsd* 113130803SmarcelOpenBSD/sparc64 sparc64-*-openbsd* 114130803Smarcel 115130803Smarcel* New debugging protocols 116130803Smarcel 117130803SmarcelM32R with SDI protocol m32r-*-elf* 118130803Smarcel 119130803Smarcel* "set prompt-escape-char" command deleted. 120130803Smarcel 121130803SmarcelThe command "set prompt-escape-char" has been deleted. This command, 122130803Smarceland its very obscure effet on GDB's prompt, was never documented, 123130803Smarceltested, nor mentioned in the NEWS file. 124130803Smarcel 125130803Smarcel* OBSOLETE configurations and files 126130803Smarcel 127130803SmarcelConfigurations that have been declared obsolete in this release have 128130803Smarcelbeen commented out. Unless there is activity to revive these 129130803Smarcelconfigurations, the next release of GDB will have their sources 130130803Smarcelpermanently REMOVED. 131130803Smarcel 132130803SmarcelSun 3, running SunOS 3 m68*-*-sunos3* 133130803SmarcelSun 3, running SunOS 4 m68*-*-sunos4* 134130803SmarcelSun 2, running SunOS 3 m68000-*-sunos3* 135130803SmarcelSun 2, running SunOS 4 m68000-*-sunos4* 136130803SmarcelMotorola 680x0 running LynxOS m68*-*-lynxos* 137130803SmarcelAT&T 3b1/Unix pc m68*-att-* 138130803SmarcelBull DPX2 (68k, System V release 3) m68*-bull-sysv* 139130803Smarceldecstation mips-dec-* mips-little-* 140130803Smarcelriscos mips-*-riscos* mips-*-sysv* 141130803Smarcelsonymips mips-sony-* 142130803Smarcelsysv mips*-*-sysv4* (IRIX 5/6 not included) 143130803Smarcel 144130803Smarcel* REMOVED configurations and files 145130803Smarcel 146130803SmarcelSGI Irix-4.x mips-sgi-irix4 or iris4 147130803SmarcelSGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris 148130803SmarcelZ8000 simulator z8k-zilog-none or z8ksim 149130803SmarcelMatsushita MN10200 w/simulator mn10200-*-* 150130803SmarcelH8/500 simulator h8500-hitachi-hms or h8500hms 151130803SmarcelHP/PA running BSD hppa*-*-bsd* 152130803SmarcelHP/PA running OSF/1 hppa*-*-osf* 153130803SmarcelHP/PA Pro target hppa*-*-pro* 154130803SmarcelPMAX (MIPS) running Mach 3.0 mips*-*-mach3* 155130803Smarcel386BSD i[3456]86-*-bsd* 156130803SmarcelSequent family i[3456]86-sequent-sysv4* 157130803Smarcel i[3456]86-sequent-sysv* 158130803Smarcel i[3456]86-sequent-bsd* 159130803SmarcelSPARC running LynxOS sparc-*-lynxos* 160130803SmarcelSPARC running SunOS 4 sparc-*-sunos4* 161130803SmarcelTsqware Sparclet sparclet-*-* 162130803SmarcelFujitsu SPARClite sparclite-fujitsu-none or sparclite 163130803Smarcel 164130803Smarcel*** Changes in GDB 6.0: 165130803Smarcel 166130803Smarcel* Objective-C 167130803Smarcel 168130803SmarcelSupport for debugging the Objective-C programming language has been 169130803Smarcelintegrated into GDB. 170130803Smarcel 171130803Smarcel* New backtrace mechanism (includes DWARF 2 Call Frame Information). 172130803Smarcel 173130803SmarcelDWARF 2's Call Frame Information makes available compiler generated 174130803Smarcelinformation that more exactly describes the program's run-time stack. 175130803SmarcelBy using this information, GDB is able to provide more robust stack 176130803Smarcelbacktraces. 177130803Smarcel 178130803SmarcelThe i386, amd64 (nee, x86-64), Alpha, m68hc11, ia64, and m32r targets 179130803Smarcelhave been updated to use a new backtrace mechanism which includes 180130803SmarcelDWARF 2 CFI support. 181130803Smarcel 182130803Smarcel* Hosted file I/O. 183130803Smarcel 184130803SmarcelGDB's remote protocol has been extended to include support for hosted 185130803Smarcelfile I/O (where the remote target uses GDB's file system). See GDB's 186130803Smarcelremote protocol documentation for details. 187130803Smarcel 188130803Smarcel* All targets using the new architecture framework. 189130803Smarcel 190130803SmarcelAll of GDB's targets have been updated to use the new internal 191130803Smarcelarchitecture framework. The way is now open for future GDB releases 192130803Smarcelto include cross-architecture native debugging support (i386 on amd64, 193130803Smarcelppc32 on ppc64). 194130803Smarcel 195130803Smarcel* GNU/Linux's Thread Local Storage (TLS) 196130803Smarcel 197130803SmarcelGDB now includes support for for the GNU/Linux implementation of 198130803Smarcelper-thread variables. 199130803Smarcel 200130803Smarcel* GNU/Linux's Native POSIX Thread Library (NPTL) 201130803Smarcel 202130803SmarcelGDB's thread code has been updated to work with either the new 203130803SmarcelGNU/Linux NPTL thread library or the older "LinuxThreads" library. 204130803Smarcel 205130803Smarcel* Separate debug info. 206130803Smarcel 207130803SmarcelGDB, in conjunction with BINUTILS, now supports a mechanism for 208130803Smarcelautomatically loading debug information from a separate file. Instead 209130803Smarcelof shipping full debug and non-debug versions of system libraries, 210130803Smarcelsystem integrators can now instead ship just the stripped libraries 211130803Smarceland optional debug files. 212130803Smarcel 213130803Smarcel* DWARF 2 Location Expressions 214130803Smarcel 215130803SmarcelDWARF 2 Location Expressions allow the compiler to more completely 216130803Smarceldescribe the location of variables (even in optimized code) to the 217130803Smarceldebugger. 218130803Smarcel 219130803SmarcelGDB now includes preliminary support for location expressions (support 220130803Smarcelfor DW_OP_piece is still missing). 221130803Smarcel 222130803Smarcel* Java 223130803Smarcel 224130803SmarcelA number of long standing bugs that caused GDB to die while starting a 225130803SmarcelJava application have been fixed. GDB's Java support is now 226130803Smarcelconsidered "useable". 227130803Smarcel 228130803Smarcel* GNU/Linux support for fork, vfork, and exec. 229130803Smarcel 230130803SmarcelThe "catch fork", "catch exec", "catch vfork", and "set follow-fork-mode" 231130803Smarcelcommands are now implemented for GNU/Linux. They require a 2.5.x or later 232130803Smarcelkernel. 233130803Smarcel 234130803Smarcel* GDB supports logging output to a file 235130803Smarcel 236130803SmarcelThere are two new commands, "set logging" and "show logging", which can be 237130803Smarcelused to capture GDB's output to a file. 238130803Smarcel 239130803Smarcel* The meaning of "detach" has changed for gdbserver 240130803Smarcel 241130803SmarcelThe "detach" command will now resume the application, as documented. To 242130803Smarceldisconnect from gdbserver and leave it stopped, use the new "disconnect" 243130803Smarcelcommand. 244130803Smarcel 245130803Smarcel* d10v, m68hc11 `regs' command deprecated 246130803Smarcel 247130803SmarcelThe `info registers' command has been updated so that it displays the 248130803Smarcelregisters using a format identical to the old `regs' command. 249130803Smarcel 250130803Smarcel* Profiling support 251130803Smarcel 252130803SmarcelA new command, "maint set profile on/off", has been added. This command can 253130803Smarcelbe used to enable or disable profiling while running GDB, to profile a 254130803Smarcelsession or a set of commands. In addition there is a new configure switch, 255130803Smarcel"--enable-profiling", which will cause GDB to be compiled with profiling 256130803Smarceldata, for more informative profiling results. 257130803Smarcel 258130803Smarcel* Default MI syntax changed to "mi2". 259130803Smarcel 260130803SmarcelThe default MI (machine interface) syntax, enabled by the command line 261130803Smarceloption "-i=mi", has been changed to "mi2". The previous MI syntax, 262130803Smarcel"mi1", can be enabled by specifying the option "-i=mi1". 263130803Smarcel 264130803SmarcelSupport for the original "mi0" syntax (included in GDB 5.0) has been 265130803Smarcelremoved. 266130803Smarcel 267130803SmarcelFix for gdb/192: removed extraneous space when displaying frame level. 268130803SmarcelFix for gdb/672: update changelist is now output in mi list format. 269130803SmarcelFix for gdb/702: a -var-assign that updates the value now shows up 270130803Smarcel in a subsequent -var-update. 271130803Smarcel 272130803Smarcel* New native configurations. 273130803Smarcel 274130803SmarcelFreeBSD/amd64 x86_64-*-freebsd* 275130803Smarcel 276130803Smarcel* Multi-arched targets. 277130803Smarcel 278130803SmarcelHP/PA HPUX11 hppa*-*-hpux* 279130803SmarcelRenesas M32R/D w/simulator m32r-*-elf* 280130803Smarcel 281130803Smarcel* OBSOLETE configurations and files 282130803Smarcel 283130803SmarcelConfigurations that have been declared obsolete in this release have 284130803Smarcelbeen commented out. Unless there is activity to revive these 285130803Smarcelconfigurations, the next release of GDB will have their sources 286130803Smarcelpermanently REMOVED. 287130803Smarcel 288130803SmarcelZ8000 simulator z8k-zilog-none or z8ksim 289130803SmarcelMatsushita MN10200 w/simulator mn10200-*-* 290130803SmarcelH8/500 simulator h8500-hitachi-hms or h8500hms 291130803SmarcelHP/PA running BSD hppa*-*-bsd* 292130803SmarcelHP/PA running OSF/1 hppa*-*-osf* 293130803SmarcelHP/PA Pro target hppa*-*-pro* 294130803SmarcelPMAX (MIPS) running Mach 3.0 mips*-*-mach3* 295130803SmarcelSequent family i[3456]86-sequent-sysv4* 296130803Smarcel i[3456]86-sequent-sysv* 297130803Smarcel i[3456]86-sequent-bsd* 298130803SmarcelTsqware Sparclet sparclet-*-* 299130803SmarcelFujitsu SPARClite sparclite-fujitsu-none or sparclite 300130803Smarcel 301130803Smarcel* REMOVED configurations and files 302130803Smarcel 303130803SmarcelV850EA ISA 304130803SmarcelMotorola Delta 88000 running Sys V m88k-motorola-sysv or delta88 305130803SmarcelIBM AIX PS/2 i[3456]86-*-aix 306130803Smarceli386 running Mach 3.0 i[3456]86-*-mach3* 307130803Smarceli386 running Mach i[3456]86-*-mach* 308130803Smarceli386 running OSF/1 i[3456]86-*osf1mk* 309130803SmarcelHP/Apollo 68k Family m68*-apollo*-sysv*, 310130803Smarcel m68*-apollo*-bsd*, 311130803Smarcel m68*-hp-bsd*, m68*-hp-hpux* 312130803SmarcelArgonaut Risc Chip (ARC) arc-*-* 313130803SmarcelMitsubishi D30V d30v-*-* 314130803SmarcelFujitsu FR30 fr30-*-elf* 315130803SmarcelOS/9000 i[34]86-*-os9k 316130803SmarcelI960 with MON960 i960-*-coff 317130803Smarcel 318130803Smarcel* MIPS $fp behavior changed 319130803Smarcel 320130803SmarcelThe convenience variable $fp, for the MIPS, now consistently returns 321130803Smarcelthe address of the current frame's base. Previously, depending on the 322130803Smarcelcontext, $fp could refer to either $sp or the current frame's base 323130803Smarceladdress. See ``8.10 Registers'' in the manual ``Debugging with GDB: 324130803SmarcelThe GNU Source-Level Debugger''. 325130803Smarcel 326130803Smarcel*** Changes in GDB 5.3: 327130803Smarcel 328130803Smarcel* GNU/Linux shared library multi-threaded performance improved. 329130803Smarcel 330130803SmarcelWhen debugging a multi-threaded application on GNU/Linux, GDB now uses 331130803Smarcel`/proc', in preference to `ptrace' for memory reads. This may result 332130803Smarcelin an improvement in the start-up time of multi-threaded, shared 333130803Smarcellibrary applications when run under GDB. One GDB user writes: ``loads 334130803Smarcelshared libs like mad''. 335130803Smarcel 336130803Smarcel* ``gdbserver'' now supports multi-threaded applications on some targets 337130803Smarcel 338130803SmarcelSupport for debugging multi-threaded applications which use 339130803Smarcelthe GNU/Linux LinuxThreads package has been added for 340130803Smarcelarm*-*-linux*-gnu*, i[3456]86-*-linux*-gnu*, mips*-*-linux*-gnu*, 341130803Smarcelpowerpc*-*-linux*-gnu*, and sh*-*-linux*-gnu*. 342130803Smarcel 343130803Smarcel* GDB now supports C/C++ preprocessor macros. 344130803Smarcel 345130803SmarcelGDB now expands preprocessor macro invocations in C/C++ expressions, 346130803Smarceland provides various commands for showing macro definitions and how 347130803Smarcelthey expand. 348130803Smarcel 349130803SmarcelThe new command `macro expand EXPRESSION' expands any macro 350130803Smarcelinvocations in expression, and shows the result. 351130803Smarcel 352130803SmarcelThe new command `show macro MACRO-NAME' shows the definition of the 353130803Smarcelmacro named MACRO-NAME, and where it was defined. 354130803Smarcel 355130803SmarcelMost compilers don't include information about macros in the debugging 356130803Smarcelinformation by default. In GCC 3.1, for example, you need to compile 357130803Smarcelyour program with the options `-gdwarf-2 -g3'. If the macro 358130803Smarcelinformation is present in the executable, GDB will read it. 359130803Smarcel 360130803Smarcel* Multi-arched targets. 361130803Smarcel 362130803SmarcelDEC Alpha (partial) alpha*-*-* 363130803SmarcelDEC VAX (partial) vax-*-* 364130803SmarcelNEC V850 v850-*-* 365130803SmarcelNational Semiconductor NS32000 (partial) ns32k-*-* 366130803SmarcelMotorola 68000 (partial) m68k-*-* 367130803SmarcelMotorola MCORE mcore-*-* 368130803Smarcel 369130803Smarcel* New targets. 370130803Smarcel 371130803SmarcelFujitsu FRV architecture added by Red Hat frv*-*-* 372130803Smarcel 373130803Smarcel 374130803Smarcel* New native configurations 375130803Smarcel 376130803SmarcelAlpha NetBSD alpha*-*-netbsd* 377130803SmarcelSH NetBSD sh*-*-netbsdelf* 378130803SmarcelMIPS NetBSD mips*-*-netbsd* 379130803SmarcelUltraSPARC NetBSD sparc64-*-netbsd* 380130803Smarcel 381130803Smarcel* OBSOLETE configurations and files 382130803Smarcel 383130803SmarcelConfigurations that have been declared obsolete in this release have 384130803Smarcelbeen commented out. Unless there is activity to revive these 385130803Smarcelconfigurations, the next release of GDB will have their sources 386130803Smarcelpermanently REMOVED. 387130803Smarcel 388130803SmarcelMitsubishi D30V d30v-*-* 389130803SmarcelOS/9000 i[34]86-*-os9k 390130803SmarcelIBM AIX PS/2 i[3456]86-*-aix 391130803SmarcelFujitsu FR30 fr30-*-elf* 392130803SmarcelMotorola Delta 88000 running Sys V m88k-motorola-sysv or delta88 393130803SmarcelArgonaut Risc Chip (ARC) arc-*-* 394130803Smarceli386 running Mach 3.0 i[3456]86-*-mach3* 395130803Smarceli386 running Mach i[3456]86-*-mach* 396130803Smarceli386 running OSF/1 i[3456]86-*osf1mk* 397130803SmarcelHP/Apollo 68k Family m68*-apollo*-sysv*, 398130803Smarcel m68*-apollo*-bsd*, 399130803Smarcel m68*-hp-bsd*, m68*-hp-hpux* 400130803SmarcelI960 with MON960 i960-*-coff 401130803Smarcel 402130803Smarcel* OBSOLETE languages 403130803Smarcel 404130803SmarcelCHILL, a Pascal like language used by telecommunications companies. 405130803Smarcel 406130803Smarcel* REMOVED configurations and files 407130803Smarcel 408130803SmarcelAMD 29k family via UDI a29k-amd-udi, udi29k 409130803SmarcelA29K VxWorks a29k-*-vxworks 410130803SmarcelAMD 29000 embedded, using EBMON a29k-none-none 411130803SmarcelAMD 29000 embedded with COFF a29k-none-coff 412130803SmarcelAMD 29000 embedded with a.out a29k-none-aout 413130803Smarcel 414130803Smarceltestsuite/gdb.hp/gdb.threads-hp/ directory 415130803Smarcel 416130803Smarcel* New command "set max-user-call-depth <nnn>" 417130803Smarcel 418130803SmarcelThis command allows the user to limit the call depth of user-defined 419130803Smarcelcommands. The default is 1024. 420130803Smarcel 421130803Smarcel* Changes in FreeBSD/i386 native debugging. 422130803Smarcel 423130803SmarcelSupport for the "generate-core-file" has been added. 424130803Smarcel 425130803Smarcel* New commands "dump", "append", and "restore". 426130803Smarcel 427130803SmarcelThese commands allow data to be copied from target memory 428130803Smarcelto a bfd-format or binary file (dump and append), and back 429130803Smarcelfrom a file into memory (restore). 430130803Smarcel 431130803Smarcel* Improved "next/step" support on multi-processor Alpha Tru64. 432130803Smarcel 433130803SmarcelThe previous single-step mechanism could cause unpredictable problems, 434130803Smarcelincluding the random appearance of SIGSEGV or SIGTRAP signals. The use 435130803Smarcelof a software single-step mechanism prevents this. 436130803Smarcel 437104990Smp*** Changes in GDB 5.2.1: 43898944Sobrien 43998944Sobrien* New targets. 44098944Sobrien 44198944SobrienAtmel AVR avr*-*-* 44298944Sobrien 44398944Sobrien* Bug fixes 44498944Sobrien 44598944Sobriengdb/182: gdb/323: gdb/237: On alpha, gdb was reporting: 44698944Sobrienmdebugread.c:2443: gdb-internal-error: sect_index_data not initialized 44798944SobrienFix, by Joel Brobecker imported from mainline. 44898944Sobrien 44998944Sobriengdb/439: gdb/291: On some ELF object files, gdb was reporting: 45098944Sobriendwarf2read.c:1072: gdb-internal-error: sect_index_text not initialize 45198944SobrienFix, by Fred Fish, imported from mainline. 45298944Sobrien 453104990SmpDwarf2 .debug_frame & .eh_frame handler improved in many ways. 454104990SmpSurprisingly enough, it works now. 455104990SmpBy Michal Ludvig, imported from mainline. 456104990Smp 457104990Smpi386 hardware watchpoint support: 458104990Smpavoid misses on second run for some targets. 459104990SmpBy Pierre Muller, imported from mainline. 460104990Smp 46198944Sobrien*** Changes in GDB 5.2: 46298944Sobrien 46398944Sobrien* New command "set trust-readonly-sections on[off]". 46498944Sobrien 46598944SobrienThis command is a hint that tells gdb that read-only sections 46698944Sobrienreally are read-only (ie. that their contents will not change). 46798944SobrienIn this mode, gdb will go to the object file rather than the 46898944Sobrientarget to read memory from read-only sections (such as ".text"). 46998944SobrienThis can be a significant performance improvement on some 47098944Sobrien(notably embedded) targets. 47198944Sobrien 47298944Sobrien* New command "generate-core-file" (or "gcore"). 47398944Sobrien 47498944SobrienThis new gdb command allows the user to drop a core file of the child 47598944Sobrienprocess state at any time. So far it's been implemented only for 47698944SobrienGNU/Linux and Solaris, but should be relatively easily ported to other 47798944Sobrienhosts. Argument is core file name (defaults to core.<pid>). 47898944Sobrien 47998944Sobrien* New command line option 48098944Sobrien 48198944SobrienGDB now accepts --pid or -p followed by a process id. 48298944Sobrien 48398944Sobrien* Change in command line behavior -- corefiles vs. process ids. 48498944Sobrien 48598944SobrienThere is a subtle behavior in the way in which GDB handles 48698944Sobriencommand line arguments. The first non-flag argument is always 48798944Sobriena program to debug, but the second non-flag argument may either 48898944Sobrienbe a corefile or a process id. Previously, GDB would attempt to 48998944Sobrienopen the second argument as a corefile, and if that failed, would 49098944Sobrienissue a superfluous error message and then attempt to attach it as 49198944Sobriena process. Now, if the second argument begins with a non-digit, 49298944Sobrienit will be treated as a corefile. If it begins with a digit, 49398944SobrienGDB will attempt to attach it as a process, and if no such process 49498944Sobrienis found, will then attempt to open it as a corefile. 49598944Sobrien 49698944Sobrien* Changes in ARM configurations. 49798944Sobrien 49898944SobrienMulti-arch support is enabled for all ARM configurations. The ARM/NetBSD 49998944Sobrienconfiguration is fully multi-arch. 50098944Sobrien 50198944Sobrien* New native configurations 50298944Sobrien 50398944SobrienARM NetBSD arm*-*-netbsd* 50498944Sobrienx86 OpenBSD i[3456]86-*-openbsd* 50598944SobrienAMD x86-64 running GNU/Linux x86_64-*-linux-* 50698944SobrienSparc64 running FreeBSD sparc64-*-freebsd* 50798944Sobrien 50898944Sobrien* New targets 50998944Sobrien 51098944SobrienSanyo XStormy16 xstormy16-elf 51198944Sobrien 51298944Sobrien* OBSOLETE configurations and files 51398944Sobrien 51498944SobrienConfigurations that have been declared obsolete in this release have 51598944Sobrienbeen commented out. Unless there is activity to revive these 51698944Sobrienconfigurations, the next release of GDB will have their sources 51798944Sobrienpermanently REMOVED. 51898944Sobrien 51998944SobrienAMD 29k family via UDI a29k-amd-udi, udi29k 52098944SobrienA29K VxWorks a29k-*-vxworks 52198944SobrienAMD 29000 embedded, using EBMON a29k-none-none 52298944SobrienAMD 29000 embedded with COFF a29k-none-coff 52398944SobrienAMD 29000 embedded with a.out a29k-none-aout 52498944Sobrien 52598944Sobrientestsuite/gdb.hp/gdb.threads-hp/ directory 52698944Sobrien 52798944Sobrien* REMOVED configurations and files 52898944Sobrien 52998944SobrienTI TMS320C80 tic80-*-* 53098944SobrienWDC 65816 w65-*-* 53198944SobrienPowerPC Solaris powerpcle-*-solaris* 53298944SobrienPowerPC Windows NT powerpcle-*-cygwin32 53398944SobrienPowerPC Netware powerpc-*-netware* 53498944SobrienHarris/CXUX m88k m88*-harris-cxux* 53598944SobrienMost ns32k hosts and targets ns32k-*-mach3* ns32k-umax-* 53698944Sobrien ns32k-utek-sysv* ns32k-utek-* 53798944SobrienSunOS 4.0.Xi on i386 i[3456]86-*-sunos* 53898944SobrienUltracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern* 53998944SobrienSony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news 54098944SobrienISI Optimum V (3.05) under 4.3bsd. m68*-isi-* 54198944SobrienApple Macintosh (MPW) host and target N/A host, powerpc-*-macos* 54298944Sobrien 54398944Sobrien* Changes to command line processing 54498944Sobrien 54598944SobrienThe new `--args' feature can be used to specify command-line arguments 54698944Sobrienfor the inferior from gdb's command line. 54798944Sobrien 54898944Sobrien* Changes to key bindings 54998944Sobrien 55098944SobrienThere is a new `operate-and-get-next' function bound to `C-o'. 55198944Sobrien 55298944Sobrien*** Changes in GDB 5.1.1 55398944Sobrien 55498944SobrienFix compile problem on DJGPP. 55598944Sobrien 55698944SobrienFix a problem with floating-point registers on the i386 being 55798944Sobriencorrupted. 55898944Sobrien 55998944SobrienFix to stop GDB crashing on .debug_str debug info. 56098944Sobrien 56198944SobrienNumerous documentation fixes. 56298944Sobrien 56398944SobrienNumerous testsuite fixes. 56498944Sobrien 56598944Sobrien*** Changes in GDB 5.1: 56698944Sobrien 56798944Sobrien* New native configurations 56898944Sobrien 56998944SobrienAlpha FreeBSD alpha*-*-freebsd* 57098944Sobrienx86 FreeBSD 3.x and 4.x i[3456]86*-freebsd[34]* 57198944SobrienMIPS GNU/Linux mips*-*-linux* 57298944SobrienMIPS SGI Irix 6.x mips*-sgi-irix6* 57398944Sobrienia64 AIX ia64-*-aix* 57498944Sobriens390 and s390x GNU/Linux {s390,s390x}-*-linux* 57598944Sobrien 57698944Sobrien* New targets 57798944Sobrien 57898944SobrienMotorola 68HC11 and 68HC12 m68hc11-elf 57998944SobrienCRIS cris-axis 58098944SobrienUltraSparc running GNU/Linux sparc64-*-linux* 58198944Sobrien 58298944Sobrien* OBSOLETE configurations and files 58398944Sobrien 58498944Sobrienx86 FreeBSD before 2.2 i[3456]86*-freebsd{1,2.[01]}*, 58598944SobrienHarris/CXUX m88k m88*-harris-cxux* 58698944SobrienMost ns32k hosts and targets ns32k-*-mach3* ns32k-umax-* 58798944Sobrien ns32k-utek-sysv* ns32k-utek-* 58898944SobrienTI TMS320C80 tic80-*-* 58998944SobrienWDC 65816 w65-*-* 59098944SobrienUltracomputer (29K) running Sym1 a29k-nyu-sym1 a29k-*-kern* 59198944SobrienPowerPC Solaris powerpcle-*-solaris* 59298944SobrienPowerPC Windows NT powerpcle-*-cygwin32 59398944SobrienPowerPC Netware powerpc-*-netware* 59498944SobrienSunOS 4.0.Xi on i386 i[3456]86-*-sunos* 59598944SobrienSony NEWS (68K) running NEWSOS 3.x m68*-sony-sysv news 59698944SobrienISI Optimum V (3.05) under 4.3bsd. m68*-isi-* 59798944SobrienApple Macintosh (MPW) host N/A 59898944Sobrien 59998944Sobrienstuff.c (Program to stuff files into a specially prepared space in kdb) 60098944Sobrienkdb-start.c (Main loop for the standalone kernel debugger) 60198944Sobrien 60298944SobrienConfigurations that have been declared obsolete in this release have 60398944Sobrienbeen commented out. Unless there is activity to revive these 60498944Sobrienconfigurations, the next release of GDB will have their sources 60598944Sobrienpermanently REMOVED. 60698944Sobrien 60798944Sobrien* REMOVED configurations and files 60898944Sobrien 60998944SobrienAltos 3068 m68*-altos-* 61098944SobrienConvex c1-*-*, c2-*-* 61198944SobrienPyramid pyramid-*-* 61298944SobrienARM RISCix arm-*-* (as host) 61398944SobrienTahoe tahoe-*-* 61498944Sobrienser-ocd.c *-*-* 61598944Sobrien 61698944Sobrien* GDB has been converted to ISO C. 61798944Sobrien 61898944SobrienGDB's source code has been converted to ISO C. In particular, the 61998944Sobriensources are fully protoized, and rely on standard headers being 62098944Sobrienpresent. 62198944Sobrien 62298944Sobrien* Other news: 62398944Sobrien 62498944Sobrien* "info symbol" works on platforms which use COFF, ECOFF, XCOFF, and NLM. 62598944Sobrien 62698944Sobrien* The MI enabled by default. 62798944Sobrien 62898944SobrienThe new machine oriented interface (MI) introduced in GDB 5.0 has been 62998944Sobrienrevised and enabled by default. Packages which use GDB as a debugging 63098944Sobrienengine behind a UI or another front end are encouraged to switch to 63198944Sobrienusing the GDB/MI interface, instead of the old annotations interface 63298944Sobrienwhich is now deprecated. 63398944Sobrien 63498944Sobrien* Support for debugging Pascal programs. 63598944Sobrien 63698944SobrienGDB now includes support for debugging Pascal programs. The following 63798944Sobrienmain features are supported: 63898944Sobrien 63998944Sobrien - Pascal-specific data types such as sets; 64098944Sobrien 64198944Sobrien - automatic recognition of Pascal sources based on file-name 64298944Sobrien extension; 64398944Sobrien 64498944Sobrien - Pascal-style display of data types, variables, and functions; 64598944Sobrien 64698944Sobrien - a Pascal expression parser. 64798944Sobrien 64898944SobrienHowever, some important features are not yet supported. 64998944Sobrien 65098944Sobrien - Pascal string operations are not supported at all; 65198944Sobrien 65298944Sobrien - there are some problems with boolean types; 65398944Sobrien 65498944Sobrien - Pascal type hexadecimal constants are not supported 65598944Sobrien because they conflict with the internal variables format; 65698944Sobrien 65798944Sobrien - support for Pascal objects and classes is not full yet; 65898944Sobrien 65998944Sobrien - unlike Pascal, GDB is case-sensitive for symbol names. 66098944Sobrien 66198944Sobrien* Changes in completion. 66298944Sobrien 66398944SobrienCommands such as `shell', `run' and `set args', which pass arguments 66498944Sobriento inferior programs, now complete on file names, similar to what 66598944Sobrienusers expect at the shell prompt. 66698944Sobrien 66798944SobrienCommands which accept locations, such as `disassemble', `print', 66898944Sobrien`breakpoint', `until', etc. now complete on filenames as well as 66998944Sobrienprogram symbols. Thus, if you type "break foob TAB", and the source 67098944Sobrienfiles linked into the programs include `foobar.c', that file name will 67198944Sobrienbe one of the candidates for completion. However, file names are not 67298944Sobrienconsidered for completion after you typed a colon that delimits a file 67398944Sobrienname from a name of a function in that file, as in "break foo.c:bar". 67498944Sobrien 67598944Sobrien`set demangle-style' completes on available demangling styles. 67698944Sobrien 67798944Sobrien* New platform-independent commands: 67898944Sobrien 67998944SobrienIt is now possible to define a post-hook for a command as well as a 68098944Sobrienhook that runs before the command. For more details, see the 68198944Sobriendocumentation of `hookpost' in the GDB manual. 68298944Sobrien 68398944Sobrien* Changes in GNU/Linux native debugging. 68498944Sobrien 68598944SobrienSupport for debugging multi-threaded programs has been completely 68698944Sobrienrevised for all platforms except m68k and sparc. You can now debug as 68798944Sobrienmany threads as your system allows you to have. 68898944Sobrien 68998944SobrienAttach/detach is supported for multi-threaded programs. 69098944Sobrien 69198944SobrienSupport for SSE registers was added for x86. This doesn't work for 69298944Sobrienmulti-threaded programs though. 69398944Sobrien 69498944Sobrien* Changes in MIPS configurations. 69598944Sobrien 69698944SobrienMulti-arch support is enabled for all MIPS configurations. 69798944Sobrien 69898944SobrienGDB can now be built as native debugger on SGI Irix 6.x systems for 69998944Sobriendebugging n32 executables. (Debugging 64-bit executables is not yet 70098944Sobriensupported.) 70198944Sobrien 70298944Sobrien* Unified support for hardware watchpoints in all x86 configurations. 70398944Sobrien 70498944SobrienMost (if not all) native x86 configurations support hardware-assisted 70598944Sobrienbreakpoints and watchpoints in a unified manner. This support 70698944Sobrienimplements debug register sharing between watchpoints, which allows to 70798944Sobrienput a virtually infinite number of watchpoints on the same address, 70898944Sobrienand also supports watching regions up to 16 bytes with several debug 70998944Sobrienregisters. 71098944Sobrien 71198944SobrienThe new maintenance command `maintenance show-debug-regs' toggles 71298944Sobriendebugging print-outs in functions that insert, remove, and test 71398944Sobrienwatchpoints and hardware breakpoints. 71498944Sobrien 71598944Sobrien* Changes in the DJGPP native configuration. 71698944Sobrien 71798944SobrienNew command ``info dos sysinfo'' displays assorted information about 71898944Sobrienthe CPU, OS, memory, and DPMI server. 71998944Sobrien 72098944SobrienNew commands ``info dos gdt'', ``info dos ldt'', and ``info dos idt'' 72198944Sobriendisplay information about segment descriptors stored in GDT, LDT, and 72298944SobrienIDT. 72398944Sobrien 72498944SobrienNew commands ``info dos pde'' and ``info dos pte'' display entries 72598944Sobrienfrom Page Directory and Page Tables (for now works with CWSDPMI only). 72698944SobrienNew command ``info dos address-pte'' displays the Page Table entry for 72798944Sobriena given linear address. 72898944Sobrien 72998944SobrienGDB can now pass command lines longer than 126 characters to the 73098944Sobrienprogram being debugged (requires an update to the libdbg.a library 73198944Sobrienwhich is part of the DJGPP development kit). 73298944Sobrien 73398944SobrienDWARF2 debug info is now supported. 73498944Sobrien 73598944SobrienIt is now possible to `step' and `next' through calls to `longjmp'. 73698944Sobrien 73798944Sobrien* Changes in documentation. 73898944Sobrien 73998944SobrienAll GDB documentation was converted to GFDL, the GNU Free 74098944SobrienDocumentation License. 74198944Sobrien 74298944SobrienTracepoints-related commands are now fully documented in the GDB 74398944Sobrienmanual. 74498944Sobrien 74598944SobrienTUI, the Text-mode User Interface, is now documented in the manual. 74698944Sobrien 74798944SobrienTracepoints-related commands are now fully documented in the GDB 74898944Sobrienmanual. 74998944Sobrien 75098944SobrienThe "GDB Internals" manual now has an index. It also includes 75198944Sobriendocumentation of `ui_out' functions, GDB coding standards, x86 75298944Sobrienhardware watchpoints, and memory region attributes. 75398944Sobrien 75498944Sobrien* GDB's version number moved to ``version.in'' 75598944Sobrien 75698944SobrienThe Makefile variable VERSION has been replaced by the file 75798944Sobrien``version.in''. People creating GDB distributions should update the 75898944Sobriencontents of this file. 75998944Sobrien 76098944Sobrien* gdba.el deleted 76198944Sobrien 76298944SobrienGUD support is now a standard part of the EMACS distribution. 76398944Sobrien 76498944Sobrien*** Changes in GDB 5.0: 76598944Sobrien 76698944Sobrien* Improved support for debugging FP programs on x86 targets 76798944Sobrien 76898944SobrienUnified and much-improved support for debugging floating-point 76998944Sobrienprograms on all x86 targets. In particular, ``info float'' now 77098944Sobriendisplays the FP registers in the same format on all x86 targets, with 77198944Sobriengreater level of detail. 77298944Sobrien 77398944Sobrien* Improvements and bugfixes in hardware-assisted watchpoints 77498944Sobrien 77598944SobrienIt is now possible to watch array elements, struct members, and 77698944Sobrienbitfields with hardware-assisted watchpoints. Data-read watchpoints 77798944Sobrienon x86 targets no longer erroneously trigger when the address is 77898944Sobrienwritten. 77998944Sobrien 78098944Sobrien* Improvements in the native DJGPP version of GDB 78198944Sobrien 78298944SobrienThe distribution now includes all the scripts and auxiliary files 78398944Sobriennecessary to build the native DJGPP version on MS-DOS/MS-Windows 78498944Sobrienmachines ``out of the box''. 78598944Sobrien 78698944SobrienThe DJGPP version can now debug programs that use signals. It is 78798944Sobrienpossible to catch signals that happened in the debuggee, deliver 78898944Sobriensignals to it, interrupt it with Ctrl-C, etc. (Previously, a signal 78998944Sobrienwould kill the program being debugged.) Programs that hook hardware 79098944Sobrieninterrupts (keyboard, timer, etc.) can also be debugged. 79198944Sobrien 79298944SobrienIt is now possible to debug DJGPP programs that redirect their 79398944Sobrienstandard handles or switch them to raw (as opposed to cooked) mode, or 79498944Sobrieneven close them. The command ``run < foo > bar'' works as expected, 79598944Sobrienand ``info terminal'' reports useful information about the debuggee's 79698944Sobrienterminal, including raw/cooked mode, redirection, etc. 79798944Sobrien 79898944SobrienThe DJGPP version now uses termios functions for console I/O, which 79998944Sobrienenables debugging graphics programs. Interrupting GDB with Ctrl-C 80098944Sobrienalso works. 80198944Sobrien 80298944SobrienDOS-style file names with drive letters are now fully supported by 80398944SobrienGDB. 80498944Sobrien 80598944SobrienIt is now possible to debug DJGPP programs that switch their working 80698944Sobriendirectory. It is also possible to rerun the debuggee any number of 80798944Sobrientimes without restarting GDB; thus, you can use the same setup, 80898944Sobrienbreakpoints, etc. for many debugging sessions. 80998944Sobrien 81098944Sobrien* New native configurations 81198944Sobrien 81298944SobrienARM GNU/Linux arm*-*-linux* 81398944SobrienPowerPC GNU/Linux powerpc-*-linux* 81498944Sobrien 81598944Sobrien* New targets 81698944Sobrien 81798944SobrienMotorola MCore mcore-*-* 81898944Sobrienx86 VxWorks i[3456]86-*-vxworks* 81998944SobrienPowerPC VxWorks powerpc-*-vxworks* 82098944SobrienTI TMS320C80 tic80-*-* 82198944Sobrien 82298944Sobrien* OBSOLETE configurations 82398944Sobrien 82498944SobrienAltos 3068 m68*-altos-* 82598944SobrienConvex c1-*-*, c2-*-* 82698944SobrienPyramid pyramid-*-* 82798944SobrienARM RISCix arm-*-* (as host) 82898944SobrienTahoe tahoe-*-* 82998944Sobrien 83098944SobrienConfigurations that have been declared obsolete will be commented out, 83198944Sobrienbut the code will be left in place. If there is no activity to revive 83298944Sobrienthese configurations before the next release of GDB, the sources will 83398944Sobrienbe permanently REMOVED. 83498944Sobrien 83598944Sobrien* Gould support removed 83698944Sobrien 83798944SobrienSupport for the Gould PowerNode and NP1 has been removed. 83898944Sobrien 83998944Sobrien* New features for SVR4 84098944Sobrien 84198944SobrienOn SVR4 native platforms (such as Solaris), if you attach to a process 84298944Sobrienwithout first loading a symbol file, GDB will now attempt to locate and 84398944Sobrienload symbols from the running process's executable file. 84498944Sobrien 84598944Sobrien* Many C++ enhancements 84698944Sobrien 84798944SobrienC++ support has been greatly improved. Overload resolution now works properly 84898944Sobrienin almost all cases. RTTI support is on the way. 84998944Sobrien 85098944Sobrien* Remote targets can connect to a sub-program 85198944Sobrien 85298944SobrienA popen(3) style serial-device has been added. This device starts a 85398944Sobriensub-process (such as a stand-alone simulator) and then communicates 85498944Sobrienwith that. The sub-program to run is specified using the syntax 85598944Sobrien``|<program> <args>'' vis: 85698944Sobrien 85798944Sobrien (gdb) set remotedebug 1 85898944Sobrien (gdb) target extended-remote |mn10300-elf-sim program-args 85998944Sobrien 86098944Sobrien* MIPS 64 remote protocol 86198944Sobrien 86298944SobrienA long standing bug in the mips64 remote protocol where by GDB 86398944Sobrienexpected certain 32 bit registers (ex SR) to be transfered as 32 86498944Sobrieninstead of 64 bits has been fixed. 86598944Sobrien 86698944SobrienThe command ``set remote-mips64-transfers-32bit-regs on'' has been 86798944Sobrienadded to provide backward compatibility with older versions of GDB. 86898944Sobrien 86998944Sobrien* ``set remotebinarydownload'' replaced by ``set remote X-packet'' 87098944Sobrien 87198944SobrienThe command ``set remotebinarydownload'' command has been replaced by 87298944Sobrien``set remote X-packet''. Other commands in ``set remote'' family 87398944Sobrieninclude ``set remote P-packet''. 87498944Sobrien 87598944Sobrien* Breakpoint commands accept ranges. 87698944Sobrien 87798944SobrienThe breakpoint commands ``enable'', ``disable'', and ``delete'' now 87898944Sobrienaccept a range of breakpoints, e.g. ``5-7''. The tracepoint command 87998944Sobrien``tracepoint passcount'' also accepts a range of tracepoints. 88098944Sobrien 88198944Sobrien* ``apropos'' command added. 88298944Sobrien 88398944SobrienThe ``apropos'' command searches through command names and 88498944Sobriendocumentation strings, printing out matches, making it much easier to 88598944Sobrientry to find a command that does what you are looking for. 88698944Sobrien 88798944Sobrien* New MI interface 88898944Sobrien 88998944SobrienA new machine oriented interface (MI) has been added to GDB. This 89098944Sobrieninterface is designed for debug environments running GDB as a separate 89198944Sobrienprocess. This is part of the long term libGDB project. See the 89298944Sobrien"GDB/MI" chapter of the GDB manual for further information. It can be 89398944Sobrienenabled by configuring with: 89498944Sobrien 89598944Sobrien .../configure --enable-gdbmi 89698944Sobrien 89746283Sdfr*** Changes in GDB-4.18: 89846283Sdfr 89946283Sdfr* New native configurations 90046283Sdfr 90146283SdfrHP-UX 10.20 hppa*-*-hpux10.20 90246283SdfrHP-UX 11.x hppa*-*-hpux11.0* 90398944SobrienM68K GNU/Linux m68*-*-linux* 90446283Sdfr 90546283Sdfr* New targets 90646283Sdfr 90746283SdfrFujitsu FR30 fr30-*-elf* 90846283SdfrIntel StrongARM strongarm-*-* 90946283SdfrMitsubishi D30V d30v-*-* 91046283Sdfr 91146283Sdfr* OBSOLETE configurations 91246283Sdfr 91346283SdfrGould PowerNode, NP1 np1-*-*, pn-*-* 91446283Sdfr 91546283SdfrConfigurations that have been declared obsolete will be commented out, 91646283Sdfrbut the code will be left in place. If there is no activity to revive 91746283Sdfrthese configurations before the next release of GDB, the sources will 91846283Sdfrbe permanently REMOVED. 91946283Sdfr 92046283Sdfr* ANSI/ISO C 92146283Sdfr 92246283SdfrAs a compatibility experiment, GDB's source files buildsym.h and 92346283Sdfrbuildsym.c have been converted to pure standard C, no longer 92446283Sdfrcontaining any K&R compatibility code. We believe that all systems in 92546283Sdfruse today either come with a standard C compiler, or have a GCC port 92646283Sdfravailable. If this is not true, please report the affected 92746283Sdfrconfiguration to bug-gdb@gnu.org immediately. See the README file for 92846283Sdfrinformation about getting a standard C compiler if you don't have one 92946283Sdfralready. 93046283Sdfr 93146283Sdfr* Readline 2.2 93246283Sdfr 93346283SdfrGDB now uses readline 2.2. 93446283Sdfr 93546283Sdfr* set extension-language 93646283Sdfr 93746283SdfrYou can now control the mapping between filename extensions and source 93846283Sdfrlanguages by using the `set extension-language' command. For instance, 93946283Sdfryou can ask GDB to treat .c files as C++ by saying 94046283Sdfr set extension-language .c c++ 94146283SdfrThe command `info extensions' lists all of the recognized extensions 94246283Sdfrand their associated languages. 94346283Sdfr 94446283Sdfr* Setting processor type for PowerPC and RS/6000 94546283Sdfr 94646283SdfrWhen GDB is configured for a powerpc*-*-* or an rs6000*-*-* target, 94746283Sdfryou can use the `set processor' command to specify what variant of the 94846283SdfrPowerPC family you are debugging. The command 94946283Sdfr 95046283Sdfr set processor NAME 95146283Sdfr 95246283Sdfrsets the PowerPC/RS6000 variant to NAME. GDB knows about the 95346283Sdfrfollowing PowerPC and RS6000 variants: 95446283Sdfr 95546283Sdfr ppc-uisa PowerPC UISA - a PPC processor as viewed by user-level code 95646283Sdfr rs6000 IBM RS6000 ("POWER") architecture, user-level view 95746283Sdfr 403 IBM PowerPC 403 95846283Sdfr 403GC IBM PowerPC 403GC 95946283Sdfr 505 Motorola PowerPC 505 96046283Sdfr 860 Motorola PowerPC 860 or 850 96146283Sdfr 601 Motorola PowerPC 601 96246283Sdfr 602 Motorola PowerPC 602 96346283Sdfr 603 Motorola/IBM PowerPC 603 or 603e 96446283Sdfr 604 Motorola PowerPC 604 or 604e 96546283Sdfr 750 Motorola/IBM PowerPC 750 or 750 96646283Sdfr 96746283SdfrAt the moment, this command just tells GDB what to name the 96846283Sdfrspecial-purpose processor registers. Since almost all the affected 96946283Sdfrregisters are inaccessible to user-level programs, this command is 97046283Sdfronly useful for remote debugging in its present form. 97146283Sdfr 97246283Sdfr* HP-UX support 97346283Sdfr 97446283SdfrThanks to a major code donation from Hewlett-Packard, GDB now has much 97546283Sdfrmore extensive support for HP-UX. Added features include shared 97646283Sdfrlibrary support, kernel threads and hardware watchpoints for 11.00, 97746283Sdfrsupport for HP's ANSI C and C++ compilers, and a compatibility mode 97846283Sdfrfor xdb and dbx commands. 97946283Sdfr 98046283Sdfr* Catchpoints 98146283Sdfr 98246283SdfrHP's donation includes the new concept of catchpoints, which is a 98346283Sdfrgeneralization of the old catch command. On HP-UX, it is now possible 98446283Sdfrto catch exec, fork, and vfork, as well as library loading. 98546283Sdfr 98646283SdfrThis means that the existing catch command has changed; its first 98746283Sdfrargument now specifies the type of catch to be set up. See the 98846283Sdfroutput of "help catch" for a list of catchpoint types. 98946283Sdfr 99046283Sdfr* Debugging across forks 99146283Sdfr 99246283SdfrOn HP-UX, you can choose which process to debug when a fork() happens 99346283Sdfrin the inferior. 99446283Sdfr 99546283Sdfr* TUI 99646283Sdfr 99746283SdfrHP has donated a curses-based terminal user interface (TUI). To get 99846283Sdfrit, build with --enable-tui. Although this can be enabled for any 99946283Sdfrconfiguration, at present it only works for native HP debugging. 100046283Sdfr 100146283Sdfr* GDB remote protocol additions 100246283Sdfr 100346283SdfrA new protocol packet 'X' that writes binary data is now available. 100446283SdfrDefault behavior is to try 'X', then drop back to 'M' if the stub 100546283Sdfrfails to respond. The settable variable `remotebinarydownload' 100646283Sdfrallows explicit control over the use of 'X'. 100746283Sdfr 100846283SdfrFor 64-bit targets, the memory packets ('M' and 'm') can now contain a 100946283Sdfrfull 64-bit address. The command 101046283Sdfr 101146283Sdfr set remoteaddresssize 32 101246283Sdfr 101346283Sdfrcan be used to revert to the old behaviour. For existing remote stubs 101446283Sdfrthe change should not be noticed, as the additional address information 101546283Sdfrwill be discarded. 101646283Sdfr 101746283SdfrIn order to assist in debugging stubs, you may use the maintenance 101846283Sdfrcommand `packet' to send any text string to the stub. For instance, 101946283Sdfr 102046283Sdfr maint packet heythere 102146283Sdfr 102246283Sdfrsends the packet "$heythere#<checksum>". Note that it is very easy to 102346283Sdfrdisrupt a debugging session by sending the wrong packet at the wrong 102446283Sdfrtime. 102546283Sdfr 102646283SdfrThe compare-sections command allows you to compare section data on the 102746283Sdfrtarget to what is in the executable file without uploading or 102846283Sdfrdownloading, by comparing CRC checksums. 102946283Sdfr 103046283Sdfr* Tracing can collect general expressions 103146283Sdfr 103246283SdfrYou may now collect general expressions at tracepoints. This requires 103346283Sdfrfurther additions to the target-side stub; see tracepoint.c and 103446283Sdfrdoc/agentexpr.texi for further details. 103546283Sdfr 103646283Sdfr* mask-address variable for Mips 103746283Sdfr 103846283SdfrFor Mips targets, you may control the zeroing of the upper 32 bits of 103946283Sdfra 64-bit address by entering `set mask-address on'. This is mainly 104046283Sdfrof interest to users of embedded R4xxx and R5xxx processors. 104146283Sdfr 104246283Sdfr* Higher serial baud rates 104346283Sdfr 104446283SdfrGDB's serial code now allows you to specify baud rates 57600, 115200, 104546283Sdfr230400, and 460800 baud. (Note that your host system may not be able 104646283Sdfrto achieve all of these rates.) 104746283Sdfr 104846283Sdfr* i960 simulator 104946283Sdfr 105046283SdfrThe i960 configuration now includes an initial implementation of a 105146283Sdfrbuiltin simulator, contributed by Jim Wilson. 105246283Sdfr 105346283Sdfr 105446283Sdfr*** Changes in GDB-4.17: 105546283Sdfr 105646283Sdfr* New native configurations 105746283Sdfr 105846283SdfrAlpha GNU/Linux alpha*-*-linux* 105946283SdfrUnixware 2.x i[3456]86-unixware2* 106046283SdfrIrix 6.x mips*-sgi-irix6* 106146283SdfrPowerPC GNU/Linux powerpc-*-linux* 106246283SdfrPowerPC Solaris powerpcle-*-solaris* 106346283SdfrSparc GNU/Linux sparc-*-linux* 106446283SdfrMotorola sysV68 R3V7.1 m68k-motorola-sysv 106546283Sdfr 106646283Sdfr* New targets 106746283Sdfr 106846283SdfrArgonaut Risc Chip (ARC) arc-*-* 106946283SdfrHitachi H8/300S h8300*-*-* 107046283SdfrMatsushita MN10200 w/simulator mn10200-*-* 107146283SdfrMatsushita MN10300 w/simulator mn10300-*-* 107246283SdfrMIPS NEC VR4100 mips64*vr4100*{,el}-*-elf* 107346283SdfrMIPS NEC VR5000 mips64*vr5000*{,el}-*-elf* 107446283SdfrMIPS Toshiba TX39 mips64*tx39*{,el}-*-elf* 107546283SdfrMitsubishi D10V w/simulator d10v-*-* 107646283SdfrMitsubishi M32R/D w/simulator m32r-*-elf* 107746283SdfrTsqware Sparclet sparclet-*-* 107846283SdfrNEC V850 w/simulator v850-*-* 107946283Sdfr 108046283Sdfr* New debugging protocols 108146283Sdfr 108246283SdfrARM with RDI protocol arm*-*-* 108346283SdfrM68K with dBUG monitor m68*-*-{aout,coff,elf} 108446283SdfrDDB and LSI variants of PMON protocol mips*-*-* 108546283SdfrPowerPC with DINK32 monitor powerpc{,le}-*-eabi 108646283SdfrPowerPC with SDS protocol powerpc{,le}-*-eabi 108746283SdfrMacraigor OCD (Wiggler) devices powerpc{,le}-*-eabi 108846283Sdfr 108946283Sdfr* DWARF 2 109046283Sdfr 109146283SdfrAll configurations can now understand and use the DWARF 2 debugging 109246283Sdfrformat. The choice is automatic, if the symbol file contains DWARF 2 109346283Sdfrinformation. 109446283Sdfr 109546283Sdfr* Java frontend 109646283Sdfr 109746283SdfrGDB now includes basic Java language support. This support is 109846283Sdfronly useful with Java compilers that produce native machine code. 109946283Sdfr 110046283Sdfr* solib-absolute-prefix and solib-search-path 110146283Sdfr 110246283SdfrFor SunOS and SVR4 shared libraries, you may now set the prefix for 110346283Sdfrloading absolute shared library symbol files, and the search path for 110446283Sdfrlocating non-absolute shared library symbol files. 110546283Sdfr 110646283Sdfr* Live range splitting 110746283Sdfr 110846283SdfrGDB can now effectively debug code for which GCC has performed live 110946283Sdfrrange splitting as part of its optimization. See gdb/doc/LRS for 111046283Sdfrmore details on the expected format of the stabs information. 111146283Sdfr 111246283Sdfr* Hurd support 111346283Sdfr 111446283SdfrGDB's support for the GNU Hurd, including thread debugging, has been 111546283Sdfrupdated to work with current versions of the Hurd. 111646283Sdfr 111746283Sdfr* ARM Thumb support 111846283Sdfr 111946283SdfrGDB's ARM target configuration now handles the ARM7T (Thumb) 16-bit 112046283Sdfrinstruction set. ARM GDB automatically detects when Thumb 112146283Sdfrinstructions are in use, and adjusts disassembly and backtracing 112246283Sdfraccordingly. 112346283Sdfr 112446283Sdfr* MIPS16 support 112546283Sdfr 112646283SdfrGDB's MIPS target configurations now handle the MIP16 16-bit 112746283Sdfrinstruction set. 112846283Sdfr 112946283Sdfr* Overlay support 113046283Sdfr 113146283SdfrGDB now includes support for overlays; if an executable has been 113246283Sdfrlinked such that multiple sections are based at the same address, GDB 113346283Sdfrwill decide which section to use for symbolic info. You can choose to 113446283Sdfrcontrol the decision manually, using overlay commands, or implement 113546283Sdfradditional target-side support and use "overlay load-target" to bring 113646283Sdfrin the overlay mapping. Do "help overlay" for more detail. 113746283Sdfr 113846283Sdfr* info symbol 113946283Sdfr 114046283SdfrThe command "info symbol <address>" displays information about 114146283Sdfrthe symbol at the specified address. 114246283Sdfr 114346283Sdfr* Trace support 114446283Sdfr 114546283SdfrThe standard remote protocol now includes an extension that allows 114646283Sdfrasynchronous collection and display of trace data. This requires 114746283Sdfrextensive support in the target-side debugging stub. Tracing mode 114846283Sdfrincludes a new interaction mode in GDB and new commands: see the 114946283Sdfrfile tracepoint.c for more details. 115046283Sdfr 115146283Sdfr* MIPS simulator 115246283Sdfr 115346283SdfrConfigurations for embedded MIPS now include a simulator contributed 115446283Sdfrby Cygnus Solutions. The simulator supports the instruction sets 115546283Sdfrof most MIPS variants. 115646283Sdfr 115746283Sdfr* Sparc simulator 115846283Sdfr 115946283SdfrSparc configurations may now include the ERC32 simulator contributed 116046283Sdfrby the European Space Agency. The simulator is not built into 116146283SdfrSparc targets by default; configure with --enable-sim to include it. 116246283Sdfr 116346283Sdfr* set architecture 116446283Sdfr 116546283SdfrFor target configurations that may include multiple variants of a 116646283Sdfrbasic architecture (such as MIPS and SH), you may now set the 116746283Sdfrarchitecture explicitly. "set arch" sets, "info arch" lists 116846283Sdfrthe possible architectures. 116946283Sdfr 117019370Spst*** Changes in GDB-4.16: 117119370Spst 117219370Spst* New native configurations 117319370Spst 117419370SpstWindows 95, x86 Windows NT i[345]86-*-cygwin32 117519370SpstM68K NetBSD m68k-*-netbsd* 117619370SpstPowerPC AIX 4.x powerpc-*-aix* 117719370SpstPowerPC MacOS powerpc-*-macos* 117819370SpstPowerPC Windows NT powerpcle-*-cygwin32 117919370SpstRS/6000 AIX 4.x rs6000-*-aix4* 118019370Spst 118119370Spst* New targets 118219370Spst 118319370SpstARM with RDP protocol arm-*-* 118419370SpstI960 with MON960 i960-*-coff 118519370SpstMIPS VxWorks mips*-*-vxworks* 118619370SpstMIPS VR4300 with PMON mips64*vr4300{,el}-*-elf* 118719370SpstPowerPC with PPCBUG monitor powerpc{,le}-*-eabi* 118819370SpstHitachi SH3 sh-*-* 118919370SpstMatra Sparclet sparclet-*-* 119019370Spst 119119370Spst* PowerPC simulator 119219370Spst 119319370SpstThe powerpc-eabi configuration now includes the PSIM simulator, 119419370Spstcontributed by Andrew Cagney, with assistance from Mike Meissner. 119519370SpstPSIM is a very elaborate model of the PowerPC, including not only 119619370Spstbasic instruction set execution, but also details of execution unit 119719370Spstperformance and I/O hardware. See sim/ppc/README for more details. 119819370Spst 119919370Spst* Solaris 2.5 120019370Spst 120119370SpstGDB now works with Solaris 2.5. 120219370Spst 120319370Spst* Windows 95/NT native 120419370Spst 120519370SpstGDB will now work as a native debugger on Windows 95 and Windows NT. 120619370SpstTo build it from source, you must use the "gnu-win32" environment, 120719370Spstwhich uses a DLL to emulate enough of Unix to run the GNU tools. 120819370SpstFurther information, binaries, and sources are available at 120919370Spstftp.cygnus.com, under pub/gnu-win32. 121019370Spst 121119370Spst* dont-repeat command 121219370Spst 121319370SpstIf a user-defined command includes the command `dont-repeat', then the 121419370Spstcommand will not be repeated if the user just types return. This is 121519370Spstuseful if the command is time-consuming to run, so that accidental 121619370Spstextra keystrokes don't run the same command many times. 121719370Spst 121819370Spst* Send break instead of ^C 121919370Spst 122019370SpstThe standard remote protocol now includes an option to send a break 122119370Spstrather than a ^C to the target in order to interrupt it. By default, 122219370SpstGDB will send ^C; to send a break, set the variable `remotebreak' to 1. 122319370Spst 122419370Spst* Remote protocol timeout 122519370Spst 122619370SpstThe standard remote protocol includes a new variable `remotetimeout' 122719370Spstthat allows you to set the number of seconds before GDB gives up trying 122819370Spstto read from the target. The default value is 2. 122919370Spst 123019370Spst* Automatic tracking of dynamic object loading (HPUX and Solaris only) 123119370Spst 123219370SpstBy default GDB will automatically keep track of objects as they are 123319370Spstloaded and unloaded by the dynamic linker. By using the command `set 123419370Spststop-on-solib-events 1' you can arrange for GDB to stop the inferior 123519370Spstwhen shared library events occur, thus allowing you to set breakpoints 123619370Spstin shared libraries which are explicitly loaded by the inferior. 123719370Spst 123819370SpstNote this feature does not work on hpux8. On hpux9 you must link 123919370Spst/usr/lib/end.o into your program. This feature should work 124019370Spstautomatically on hpux10. 124119370Spst 124219370Spst* Irix 5.x hardware watchpoint support 124319370Spst 124419370SpstIrix 5 configurations now support the use of hardware watchpoints. 124519370Spst 124619370Spst* Mips protocol "SYN garbage limit" 124719370Spst 124819370SpstWhen debugging a Mips target using the `target mips' protocol, you 124919370Spstmay set the number of characters that GDB will ignore by setting 125019370Spstthe `syn-garbage-limit'. A value of -1 means that GDB will ignore 125119370Spstevery character. The default value is 1050. 125219370Spst 125319370Spst* Recording and replaying remote debug sessions 125419370Spst 125519370SpstIf you set `remotelogfile' to the name of a file, gdb will write to it 125619370Spsta recording of a remote debug session. This recording may then be 125719370Spstreplayed back to gdb using "gdbreplay". See gdbserver/README for 125819370Spstdetails. This is useful when you have a problem with GDB while doing 125919370Spstremote debugging; you can make a recording of the session and send it 126019370Spstto someone else, who can then recreate the problem. 126119370Spst 126219370Spst* Speedups for remote debugging 126319370Spst 126419370SpstGDB includes speedups for downloading and stepping MIPS systems using 126519370Spstthe IDT monitor, fast downloads to the Hitachi SH E7000 emulator, 126619370Spstand more efficient S-record downloading. 126719370Spst 126819370Spst* Memory use reductions and statistics collection 126919370Spst 127019370SpstGDB now uses less memory and reports statistics about memory usage. 127119370SpstTry the `maint print statistics' command, for example. 127219370Spst 127319370Spst*** Changes in GDB-4.15: 127419370Spst 127519370Spst* Psymtabs for XCOFF 127619370Spst 127719370SpstThe symbol reader for AIX GDB now uses partial symbol tables. This 127819370Spstcan greatly improve startup time, especially for large executables. 127919370Spst 128019370Spst* Remote targets use caching 128119370Spst 128219370SpstRemote targets now use a data cache to speed up communication with the 128319370Spstremote side. The data cache could lead to incorrect results because 128419370Spstit doesn't know about volatile variables, thus making it impossible to 128519370Spstdebug targets which use memory mapped I/O devices. `set remotecache 128619370Spstoff' turns the the data cache off. 128719370Spst 128819370Spst* Remote targets may have threads 128919370Spst 129019370SpstThe standard remote protocol now includes support for multiple threads 129119370Spstin the target system, using new protocol commands 'H' and 'T'. See 129219370Spstgdb/remote.c for details. 129319370Spst 129419370Spst* NetROM support 129519370Spst 129619370SpstIf GDB is configured with `--enable-netrom', then it will include 129719370Spstsupport for the NetROM ROM emulator from XLNT Designs. The NetROM 129819370Spstacts as though it is a bank of ROM on the target board, but you can 129919370Spstwrite into it over the network. GDB's support consists only of 130019370Spstsupport for fast loading into the emulated ROM; to debug, you must use 130119370Spstanother protocol, such as standard remote protocol. The usual 130219370Spstsequence is something like 130319370Spst 130419370Spst target nrom <netrom-hostname> 130519370Spst load <prog> 130619370Spst target remote <netrom-hostname>:1235 130719370Spst 130819370Spst* Macintosh host 130919370Spst 131019370SpstGDB now includes support for the Apple Macintosh, as a host only. It 131119370Spstmay be run as either an MPW tool or as a standalone application, and 131219370Spstit can debug through the serial port. All the usual GDB commands are 131319370Spstavailable, but to the target command, you must supply "serial" as the 131419370Spstdevice type instead of "/dev/ttyXX". See mpw-README in the main 131519370Spstdirectory for more information on how to build. The MPW configuration 131619370Spstscripts */mpw-config.in support only a few targets, and only the 131719370Spstmips-idt-ecoff target has been tested. 131819370Spst 131919370Spst* Autoconf 132019370Spst 132119370SpstGDB configuration now uses autoconf. This is not user-visible, 132219370Spstbut does simplify configuration and building. 132319370Spst 132419370Spst* hpux10 132519370Spst 132619370SpstGDB now supports hpux10. 132719370Spst 132819370Spst*** Changes in GDB-4.14: 132919370Spst 133019370Spst* New native configurations 133119370Spst 133219370Spstx86 FreeBSD i[345]86-*-freebsd 133319370Spstx86 NetBSD i[345]86-*-netbsd 133419370SpstNS32k NetBSD ns32k-*-netbsd 133519370SpstSparc NetBSD sparc-*-netbsd 133619370Spst 133719370Spst* New targets 133819370Spst 133919370SpstA29K VxWorks a29k-*-vxworks 134019370SpstHP PA PRO embedded (WinBond W89K & Oki OP50N) hppa*-*-pro* 134119370SpstCPU32 EST-300 emulator m68*-*-est* 134219370SpstPowerPC ELF powerpc-*-elf 134319370SpstWDC 65816 w65-*-* 134419370Spst 134519370Spst* Alpha OSF/1 support for procfs 134619370Spst 134719370SpstGDB now supports procfs under OSF/1-2.x and higher, which makes it 134819370Spstpossible to attach to running processes. As the mounting of the /proc 134919370Spstfilesystem is optional on the Alpha, GDB automatically determines 135019370Spstthe availability of /proc during startup. This can lead to problems 135119370Spstif /proc is unmounted after GDB has been started. 135219370Spst 135319370Spst* Arguments to user-defined commands 135419370Spst 135519370SpstUser commands may accept up to 10 arguments separated by whitespace. 135619370SpstArguments are accessed within the user command via $arg0..$arg9. A 135719370Spsttrivial example: 135819370Spstdefine adder 135919370Spst print $arg0 + $arg1 + $arg2 136019370Spst 136119370SpstTo execute the command use: 136219370Spstadder 1 2 3 136319370Spst 136419370SpstDefines the command "adder" which prints the sum of its three arguments. 136519370SpstNote the arguments are text substitutions, so they may reference variables, 136619370Spstuse complex expressions, or even perform inferior function calls. 136719370Spst 136819370Spst* New `if' and `while' commands 136919370Spst 137019370SpstThis makes it possible to write more sophisticated user-defined 137119370Spstcommands. Both commands take a single argument, which is the 137219370Spstexpression to evaluate, and must be followed by the commands to 137319370Spstexecute, one per line, if the expression is nonzero, the list being 137419370Spstterminated by the word `end'. The `if' command list may include an 137519370Spst`else' word, which causes the following commands to be executed only 137619370Spstif the expression is zero. 137719370Spst 137819370Spst* Fortran source language mode 137919370Spst 138019370SpstGDB now includes partial support for Fortran 77. It will recognize 138119370SpstFortran programs and can evaluate a subset of Fortran expressions, but 138219370Spstvariables and functions may not be handled correctly. GDB will work 138319370Spstwith G77, but does not yet know much about symbols emitted by other 138419370SpstFortran compilers. 138519370Spst 138619370Spst* Better HPUX support 138719370Spst 138819370SpstMost debugging facilities now work on dynamic executables for HPPAs 138919370Spstrunning hpux9 or later. You can attach to running dynamically linked 139019370Spstprocesses, but by default the dynamic libraries will be read-only, so 139119370Spstfor instance you won't be able to put breakpoints in them. To change 139219370Spstthat behavior do the following before running the program: 139319370Spst 139419370Spst adb -w a.out 139519370Spst __dld_flags?W 0x5 139619370Spst control-d 139719370Spst 139819370SpstThis will cause the libraries to be mapped private and read-write. 139919370SpstTo revert to the normal behavior, do this: 140019370Spst 140119370Spst adb -w a.out 140219370Spst __dld_flags?W 0x4 140319370Spst control-d 140419370Spst 140519370SpstYou cannot set breakpoints or examine data in the library until after 140619370Spstthe library is loaded if the function/data symbols do not have 140719370Spstexternal linkage. 140819370Spst 140919370SpstGDB can now also read debug symbols produced by the HP C compiler on 141019370SpstHPPAs (sorry, no C++, Fortran or 68k support). 141119370Spst 141219370Spst* Target byte order now dynamically selectable 141319370Spst 141419370SpstYou can choose which byte order to use with a target system, via the 141519370Spstcommands "set endian big" and "set endian little", and you can see the 141619370Spstcurrent setting by using "show endian". You can also give the command 141719370Spst"set endian auto", in which case GDB will use the byte order 141819370Spstassociated with the executable. Currently, only embedded MIPS 141919370Spstconfigurations support dynamic selection of target byte order. 142019370Spst 142119370Spst* New DOS host serial code 142219370Spst 142319370SpstThis version uses DPMI interrupts to handle buffered I/O, so you 142419370Spstno longer need to run asynctsr when debugging boards connected to 142519370Spsta PC's serial port. 142619370Spst 142719370Spst*** Changes in GDB-4.13: 142819370Spst 142919370Spst* New "complete" command 143019370Spst 143119370SpstThis lists all the possible completions for the rest of the line, if it 143219370Spstwere to be given as a command itself. This is intended for use by emacs. 143319370Spst 143419370Spst* Trailing space optional in prompt 143519370Spst 143619370Spst"set prompt" no longer adds a space for you after the prompt you set. This 143719370Spstallows you to set a prompt which ends in a space or one that does not. 143819370Spst 143919370Spst* Breakpoint hit counts 144019370Spst 144119370Spst"info break" now displays a count of the number of times the breakpoint 144219370Spsthas been hit. This is especially useful in conjunction with "ignore"; you 144319370Spstcan ignore a large number of breakpoint hits, look at the breakpoint info 144419370Spstto see how many times the breakpoint was hit, then run again, ignoring one 144519370Spstless than that number, and this will get you quickly to the last hit of 144619370Spstthat breakpoint. 144719370Spst 144819370Spst* Ability to stop printing at NULL character 144919370Spst 145019370Spst"set print null-stop" will cause GDB to stop printing the characters of 145119370Spstan array when the first NULL is encountered. This is useful when large 145219370Spstarrays actually contain only short strings. 145319370Spst 145419370Spst* Shared library breakpoints 145519370Spst 145619370SpstIn SunOS 4.x, SVR4, and Alpha OSF/1 configurations, you can now set 145719370Spstbreakpoints in shared libraries before the executable is run. 145819370Spst 145919370Spst* Hardware watchpoints 146019370Spst 146119370SpstThere is a new hardware breakpoint for the watch command for sparclite 146219370Spsttargets. See gdb/sparclite/hw_breakpoint.note. 146319370Spst 146498944SobrienHardware watchpoints are also now supported under GNU/Linux. 146519370Spst 146619370Spst* Annotations 146719370Spst 146819370SpstAnnotations have been added. These are for use with graphical interfaces, 146919370Spstand are still experimental. Currently only gdba.el uses these. 147019370Spst 147119370Spst* Improved Irix 5 support 147219370Spst 147319370SpstGDB now works properly with Irix 5.2. 147419370Spst 147519370Spst* Improved HPPA support 147619370Spst 147719370SpstGDB now works properly with the latest GCC and GAS. 147819370Spst 147919370Spst* New native configurations 148019370Spst 148119370SpstSequent PTX4 i[34]86-sequent-ptx4 148219370SpstHPPA running OSF/1 hppa*-*-osf* 148319370SpstAtari TT running SVR4 m68*-*-sysv4* 148419370SpstRS/6000 LynxOS rs6000-*-lynxos* 148519370Spst 148619370Spst* New targets 148719370Spst 148819370SpstOS/9000 i[34]86-*-os9k 148919370SpstMIPS R4000 mips64*{,el}-*-{ecoff,elf} 149019370SpstSparc64 sparc64-*-* 149119370Spst 149219370Spst* Hitachi SH7000 and E7000-PC ICE support 149319370Spst 149419370SpstThere is now support for communicating with the Hitachi E7000-PC ICE. 149519370SpstThis is available automatically when GDB is configured for the SH. 149619370Spst 149719370Spst* Fixes 149819370Spst 149919370SpstAs usual, a variety of small fixes and improvements, both generic 150019370Spstand configuration-specific. See the ChangeLog for more detail. 150119370Spst 150219370Spst*** Changes in GDB-4.12: 150319370Spst 150419370Spst* Irix 5 is now supported 150519370Spst 150619370Spst* HPPA support 150719370Spst 150819370SpstGDB-4.12 on the HPPA has a number of changes which make it unable 150919370Spstto debug the output from the currently released versions of GCC and 151019370SpstGAS (GCC 2.5.8 and GAS-2.2 or PAGAS-1.36). Until the next major release 151119370Spstof GCC and GAS, versions of these tools designed to work with GDB-4.12 151219370Spstcan be retrieved via anonymous ftp from jaguar.cs.utah.edu:/dist. 151319370Spst 151419370Spst 151519370Spst*** Changes in GDB-4.11: 151619370Spst 151719370Spst* User visible changes: 151819370Spst 151919370Spst* Remote Debugging 152019370Spst 152119370SpstThe "set remotedebug" option is now consistent between the mips remote 152219370Spsttarget, remote targets using the gdb-specific protocol, UDI (AMD's 152319370Spstdebug protocol for the 29k) and the 88k bug monitor. It is now an 152419370Spstinteger specifying a debug level (normally 0 or 1, but 2 means more 152519370Spstdebugging info for the mips target). 152619370Spst 152719370Spst* DEC Alpha native support 152819370Spst 152919370SpstGDB now works on the DEC Alpha. GCC 2.4.5 does not produce usable 153019370Spstdebug info, but GDB works fairly well with the DEC compiler and should 153119370Spstwork with a future GCC release. See the README file for a few 153219370SpstAlpha-specific notes. 153319370Spst 153419370Spst* Preliminary thread implementation 153519370Spst 153619370SpstGDB now has preliminary thread support for both SGI/Irix and LynxOS. 153719370Spst 153819370Spst* LynxOS native and target support for 386 153919370Spst 154019370SpstThis release has been hosted on LynxOS 2.2, and also can be configured 154119370Spstto remotely debug programs running under LynxOS (see gdb/gdbserver/README 154219370Spstfor details). 154319370Spst 154419370Spst* Improvements in C++ mangling/demangling. 154519370Spst 154619370SpstThis release has much better g++ debugging, specifically in name 154719370Spstmangling/demangling, virtual function calls, print virtual table, 154819370Spstcall methods, ...etc. 154919370Spst 155019370Spst*** Changes in GDB-4.10: 155119370Spst 155219370Spst * User visible changes: 155319370Spst 155419370SpstRemote debugging using the GDB-specific (`target remote') protocol now 155519370Spstsupports the `load' command. This is only useful if you have some 155619370Spstother way of getting the stub to the target system, and you can put it 155719370Spstsomewhere in memory where it won't get clobbered by the download. 155819370Spst 155919370SpstFilename completion now works. 156019370Spst 156119370SpstWhen run under emacs mode, the "info line" command now causes the 156219370Spstarrow to point to the line specified. Also, "info line" prints 156319370Spstaddresses in symbolic form (as well as hex). 156419370Spst 156519370SpstAll vxworks based targets now support a user settable option, called 156619370Spstvxworks-timeout. This option represents the number of seconds gdb 156719370Spstshould wait for responses to rpc's. You might want to use this if 156819370Spstyour vxworks target is, perhaps, a slow software simulator or happens 156919370Spstto be on the far side of a thin network line. 157019370Spst 157119370Spst * DEC alpha support 157219370Spst 157319370SpstThis release contains support for using a DEC alpha as a GDB host for 157419370Spstcross debugging. Native alpha debugging is not supported yet. 157519370Spst 157619370Spst 157719370Spst*** Changes in GDB-4.9: 157819370Spst 157919370Spst * Testsuite 158019370Spst 158119370SpstThis is the first GDB release which is accompanied by a matching testsuite. 158219370SpstThe testsuite requires installation of dejagnu, which should be available 158319370Spstvia ftp from most sites that carry GNU software. 158419370Spst 158519370Spst * C++ demangling 158619370Spst 158719370Spst'Cfront' style demangling has had its name changed to 'ARM' style, to 158819370Spstemphasize that it was written from the specifications in the C++ Annotated 158919370SpstReference Manual, not necessarily to be compatible with AT&T cfront. Despite 159019370Spstdisclaimers, it still generated too much confusion with users attempting to 159119370Spstuse gdb with AT&T cfront. 159219370Spst 159319370Spst * Simulators 159419370Spst 159519370SpstGDB now uses a standard remote interface to a simulator library. 159619370SpstSo far, the library contains simulators for the Zilog Z8001/2, the 159719370SpstHitachi H8/300, H8/500 and Super-H. 159819370Spst 159919370Spst * New targets supported 160019370Spst 160119370SpstH8/300 simulator h8300-hitachi-hms or h8300hms 160219370SpstH8/500 simulator h8500-hitachi-hms or h8500hms 160319370SpstSH simulator sh-hitachi-hms or sh 160419370SpstZ8000 simulator z8k-zilog-none or z8ksim 160519370SpstIDT MIPS board over serial line mips-idt-ecoff 160619370Spst 160719370SpstCross-debugging to GO32 targets is supported. It requires a custom 160819370Spstversion of the i386-stub.c module which is integrated with the 160919370SpstGO32 memory extender. 161019370Spst 161119370Spst * New remote protocols 161219370Spst 161319370SpstMIPS remote debugging protocol. 161419370Spst 161519370Spst * New source languages supported 161619370Spst 161719370SpstThis version includes preliminary support for Chill, a Pascal like language 161819370Spstused by telecommunications companies. Chill support is also being integrated 161919370Spstinto the GNU compiler, but we don't know when it will be publically available. 162019370Spst 162119370Spst 162219370Spst*** Changes in GDB-4.8: 162319370Spst 162419370Spst * HP Precision Architecture supported 162519370Spst 162619370SpstGDB now supports HP PA-RISC machines running HPUX. A preliminary 162719370Spstversion of this support was available as a set of patches from the 162819370SpstUniversity of Utah. GDB does not support debugging of programs 162919370Spstcompiled with the HP compiler, because HP will not document their file 163019370Spstformat. Instead, you must use GCC (version 2.3.2 or later) and PA-GAS 163119370Spst(as available from jaguar.cs.utah.edu:/dist/pa-gas.u4.tar.Z). 163219370Spst 163319370SpstMany problems in the preliminary version have been fixed. 163419370Spst 163519370Spst * Faster and better demangling 163619370Spst 163719370SpstWe have improved template demangling and fixed numerous bugs in the GNU style 163819370Spstdemangler. It can now handle type modifiers such as `static' or `const'. Wide 163919370Spstcharacter types (wchar_t) are now supported. Demangling of each symbol is now 164019370Spstonly done once, and is cached when the symbol table for a file is read in. 164119370SpstThis results in a small increase in memory usage for C programs, a moderate 164219370Spstincrease in memory usage for C++ programs, and a fantastic speedup in 164319370Spstsymbol lookups. 164419370Spst 164519370Spst`Cfront' style demangling still doesn't work with AT&T cfront. It was written 164619370Spstfrom the specifications in the Annotated Reference Manual, which AT&T's 164719370Spstcompiler does not actually implement. 164819370Spst 164919370Spst * G++ multiple inheritance compiler problem 165019370Spst 165119370SpstIn the 2.3.2 release of gcc/g++, how the compiler resolves multiple 165219370Spstinheritance lattices was reworked to properly discover ambiguities. We 165319370Spstrecently found an example which causes this new algorithm to fail in a 165419370Spstvery subtle way, producing bad debug information for those classes. 165519370SpstThe file 'gcc.patch' (in this directory) can be applied to gcc to 165619370Spstcircumvent the problem. A future GCC release will contain a complete 165719370Spstfix. 165819370Spst 165919370SpstThe previous G++ debug info problem (mentioned below for the gdb-4.7 166019370Spstrelease) is fixed in gcc version 2.3.2. 166119370Spst 166219370Spst * Improved configure script 166319370Spst 166419370SpstThe `configure' script will now attempt to guess your system type if 166519370Spstyou don't supply a host system type. The old scheme of supplying a 166619370Spsthost system triplet is preferable over using this. All the magic is 166719370Spstdone in the new `config.guess' script. Examine it for details. 166819370Spst 166919370SpstWe have also brought our configure script much more in line with the FSF's 167019370Spstversion. It now supports the --with-xxx options. In particular, 167119370Spst`--with-minimal-bfd' can be used to make the GDB binary image smaller. 167219370SpstThe resulting GDB will not be able to read arbitrary object file formats -- 167319370Spstonly the format ``expected'' to be used on the configured target system. 167419370SpstWe hope to make this the default in a future release. 167519370Spst 167619370Spst * Documentation improvements 167719370Spst 167819370SpstThere's new internal documentation on how to modify GDB, and how to 167919370Spstproduce clean changes to the code. We implore people to read it 168019370Spstbefore submitting changes. 168119370Spst 168219370SpstThe GDB manual uses new, sexy Texinfo conditionals, rather than arcane 168319370SpstM4 macros. The new texinfo.tex is provided in this release. Pre-built 168419370Spst`info' files are also provided. To build `info' files from scratch, 168519370Spstyou will need the latest `makeinfo' release, which will be available in 168619370Spsta future texinfo-X.Y release. 168719370Spst 168819370Spst*NOTE* The new texinfo.tex can cause old versions of TeX to hang. 168919370SpstWe're not sure exactly which versions have this problem, but it has 169019370Spstbeen seen in 3.0. We highly recommend upgrading to TeX version 3.141 169119370Spstor better. If that isn't possible, there is a patch in 169219370Spst`texinfo/tex3patch' that will modify `texinfo/texinfo.tex' to work 169319370Spstaround this problem. 169419370Spst 169519370Spst * New features 169619370Spst 169719370SpstGDB now supports array constants that can be used in expressions typed in by 169819370Spstthe user. The syntax is `{element, element, ...}'. Ie: you can now type 169919370Spst`print {1, 2, 3}', and it will build up an array in memory malloc'd in 170019370Spstthe target program. 170119370Spst 170219370SpstThe new directory `gdb/sparclite' contains a program that demonstrates 170319370Spsthow the sparc-stub.c remote stub runs on a Fujitsu SPARClite processor. 170419370Spst 170519370Spst * New native hosts supported 170619370Spst 170719370SpstHP/PA-RISC under HPUX using GNU tools hppa1.1-hp-hpux 170819370Spst386 CPUs running SCO Unix 3.2v4 i386-unknown-sco3.2v4 170919370Spst 171019370Spst * New targets supported 171119370Spst 171219370SpstAMD 29k family via UDI a29k-amd-udi or udi29k 171319370Spst 171419370Spst * New file formats supported 171519370Spst 171619370SpstBFD now supports reading HP/PA-RISC executables (SOM file format?), 171719370SpstHPUX core files, and SCO 3.2v2 core files. 171819370Spst 171919370Spst * Major bug fixes 172019370Spst 172119370SpstAttaching to processes now works again; thanks for the many bug reports. 172219370Spst 172319370SpstWe have also stomped on a bunch of core dumps caused by 172419370Spstprintf_filtered("%s") problems. 172519370Spst 172619370SpstWe eliminated a copyright problem on the rpc and ptrace header files 172719370Spstfor VxWorks, which was discovered at the last minute during the 4.7 172819370Spstrelease. You should now be able to build a VxWorks GDB. 172919370Spst 173019370SpstYou can now interrupt gdb while an attached process is running. This 173119370Spstwill cause the attached process to stop, and give control back to GDB. 173219370Spst 173319370SpstWe fixed problems caused by using too many file descriptors 173419370Spstfor reading symbols from object files and libraries. This was 173519370Spstespecially a problem for programs that used many (~100) shared 173619370Spstlibraries. 173719370Spst 173819370SpstThe `step' command now only enters a subroutine if there is line number 173919370Spstinformation for the subroutine. Otherwise it acts like the `next' 174019370Spstcommand. Previously, `step' would enter subroutines if there was 174119370Spstany debugging information about the routine. This avoids problems 174219370Spstwhen using `cc -g1' on MIPS machines. 174319370Spst 174419370Spst * Internal improvements 174519370Spst 174619370SpstGDB's internal interfaces have been improved to make it easier to support 174719370Spstdebugging of multiple languages in the future. 174819370Spst 174919370SpstGDB now uses a common structure for symbol information internally. 175019370SpstMinimal symbols (derived from linkage symbols in object files), partial 175119370Spstsymbols (from a quick scan of debug information), and full symbols 175219370Spstcontain a common subset of information, making it easier to write 175319370Spstshared code that handles any of them. 175419370Spst 175519370Spst * New command line options 175619370Spst 175719370SpstWe now accept --silent as an alias for --quiet. 175819370Spst 175919370Spst * Mmalloc licensing 176019370Spst 176119370SpstThe memory-mapped-malloc library is now licensed under the GNU Library 176219370SpstGeneral Public License. 176319370Spst 176419370Spst*** Changes in GDB-4.7: 176519370Spst 176619370Spst * Host/native/target split 176719370Spst 176819370SpstGDB has had some major internal surgery to untangle the support for 176919370Spsthosts and remote targets. Now, when you configure GDB for a remote 177019370Spsttarget, it will no longer load in all of the support for debugging 177119370Spstlocal programs on the host. When fully completed and tested, this will 177219370Spstensure that arbitrary host/target combinations are possible. 177319370Spst 177419370SpstThe primary conceptual shift is to separate the non-portable code in 177519370SpstGDB into three categories. Host specific code is required any time GDB 177619370Spstis compiled on that host, regardless of the target. Target specific 177719370Spstcode relates to the peculiarities of the target, but can be compiled on 177819370Spstany host. Native specific code is everything else: it can only be 177919370Spstbuilt when the host and target are the same system. Child process 178019370Spsthandling and core file support are two common `native' examples. 178119370Spst 178219370SpstGDB's use of /proc for controlling Unix child processes is now cleaner. 178319370SpstIt has been split out into a single module under the `target_ops' vector, 178419370Spstplus two native-dependent functions for each system that uses /proc. 178519370Spst 178619370Spst * New hosts supported 178719370Spst 178819370SpstHP/Apollo 68k (under the BSD domain) m68k-apollo-bsd or apollo68bsd 178919370Spst386 CPUs running various BSD ports i386-unknown-bsd or 386bsd 179019370Spst386 CPUs running SCO Unix i386-unknown-scosysv322 or i386sco 179119370Spst 179219370Spst * New targets supported 179319370Spst 179419370SpstFujitsu SPARClite sparclite-fujitsu-none or sparclite 179519370Spst68030 and CPU32 m68030-*-*, m68332-*-* 179619370Spst 179719370Spst * New native hosts supported 179819370Spst 179919370Spst386 CPUs running various BSD ports i386-unknown-bsd or 386bsd 180019370Spst (386bsd is not well tested yet) 180119370Spst386 CPUs running SCO Unix i386-unknown-scosysv322 or sco 180219370Spst 180319370Spst * New file formats supported 180419370Spst 180519370SpstBFD now supports COFF files for the Zilog Z8000 microprocessor. It 180619370Spstsupports reading of `a.out.adobe' object files, which are an a.out 180719370Spstformat extended with minimal information about multiple sections. 180819370Spst 180919370Spst * New commands 181019370Spst 181119370Spst`show copying' is the same as the old `info copying'. 181219370Spst`show warranty' is the same as `info warrantee'. 181319370SpstThese were renamed for consistency. The old commands continue to work. 181419370Spst 181519370Spst`info handle' is a new alias for `info signals'. 181619370Spst 181719370SpstYou can now define pre-command hooks, which attach arbitrary command 181819370Spstscripts to any command. The commands in the hook will be executed 181919370Spstprior to the user's command. You can also create a hook which will be 182019370Spstexecuted whenever the program stops. See gdb.texinfo. 182119370Spst 182219370Spst * C++ improvements 182319370Spst 182419370SpstWe now deal with Cfront style name mangling, and can even extract type 182519370Spstinfo from mangled symbols. GDB can automatically figure out which 182619370Spstsymbol mangling style your C++ compiler uses. 182719370Spst 182819370SpstCalling of methods and virtual functions has been improved as well. 182919370Spst 183019370Spst * Major bug fixes 183119370Spst 183219370SpstThe crash that occured when debugging Sun Ansi-C compiled binaries is 183319370Spstfixed. This was due to mishandling of the extra N_SO stabs output 183419370Spstby the compiler. 183519370Spst 183619370SpstWe also finally got Ultrix 4.2 running in house, and fixed core file 183719370Spstsupport, with help from a dozen people on the net. 183819370Spst 183919370SpstJohn M. Farrell discovered that the reason that single-stepping was so 184019370Spstslow on all of the Mips based platforms (primarily SGI and DEC) was 184119370Spstthat we were trying to demangle and lookup a symbol used for internal 184219370Spstpurposes on every instruction that was being stepped through. Changing 184319370Spstthe name of that symbol so that it couldn't be mistaken for a C++ 184419370Spstmangled symbol sped things up a great deal. 184519370Spst 184619370SpstRich Pixley sped up symbol lookups in general by getting much smarter 184719370Spstabout when C++ symbol mangling is necessary. This should make symbol 184819370Spstcompletion (TAB on the command line) much faster. It's not as fast as 184919370Spstwe'd like, but it's significantly faster than gdb-4.6. 185019370Spst 185119370Spst * AMD 29k support 185219370Spst 185319370SpstA new user controllable variable 'call_scratch_address' can 185419370Spstspecify the location of a scratch area to be used when GDB 185519370Spstcalls a function in the target. This is necessary because the 185619370Spstusual method of putting the scratch area on the stack does not work 185719370Spstin systems that have separate instruction and data spaces. 185819370Spst 185919370SpstWe integrated changes to support the 29k UDI (Universal Debugger 186019370SpstInterface), but discovered at the last minute that we didn't have all 186119370Spstof the appropriate copyright paperwork. We are working with AMD to 186219370Spstresolve this, and hope to have it available soon. 186319370Spst 186419370Spst * Remote interfaces 186519370Spst 186619370SpstWe have sped up the remote serial line protocol, especially for targets 186719370Spstwith lots of registers. It now supports a new `expedited status' ('T') 186819370Spstmessage which can be used in place of the existing 'S' status message. 186919370SpstThis allows the remote stub to send only the registers that GDB 187019370Spstneeds to make a quick decision about single-stepping or conditional 187119370Spstbreakpoints, eliminating the need to fetch the entire register set for 187219370Spsteach instruction being stepped through. 187319370Spst 187419370SpstThe GDB remote serial protocol now implements a write-through cache for 187519370Spstregisters, only re-reading the registers if the target has run. 187619370Spst 187719370SpstThere is also a new remote serial stub for SPARC processors. You can 187819370Spstfind it in gdb-4.7/gdb/sparc-stub.c. This was written to support the 187919370SpstFujitsu SPARClite processor, but will run on any stand-alone SPARC 188019370Spstprocessor with a serial port. 188119370Spst 188219370Spst * Configuration 188319370Spst 188419370SpstConfigure.in files have become much easier to read and modify. A new 188519370Spst`table driven' format makes it more obvious what configurations are 188619370Spstsupported, and what files each one uses. 188719370Spst 188819370Spst * Library changes 188919370Spst 189019370SpstThere is a new opcodes library which will eventually contain all of the 189119370Spstdisassembly routines and opcode tables. At present, it only contains 189219370SpstSparc and Z8000 routines. This will allow the assembler, debugger, and 189319370Spstdisassembler (binutils/objdump) to share these routines. 189419370Spst 189519370SpstThe libiberty library is now copylefted under the GNU Library General 189619370SpstPublic License. This allows more liberal use, and was done so libg++ 189719370Spstcan use it. This makes no difference to GDB, since the Library License 189819370Spstgrants all the rights from the General Public License. 189919370Spst 190019370Spst * Documentation 190119370Spst 190219370SpstThe file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) complete 190319370Spstreference to the stabs symbol info used by the debugger. It is (as far 190419370Spstas we know) the only published document on this fascinating topic. We 190519370Spstencourage you to read it, compare it to the stabs information on your 190619370Spstsystem, and send improvements on the document in general (to 190719370Spstbug-gdb@prep.ai.mit.edu). 190819370Spst 190919370SpstAnd, of course, many bugs have been fixed. 191019370Spst 191119370Spst 191219370Spst*** Changes in GDB-4.6: 191319370Spst 191419370Spst * Better support for C++ function names 191519370Spst 191619370SpstGDB now accepts as input the "demangled form" of C++ overloaded function 191719370Spstnames and member function names, and can do command completion on such names 191819370Spst(using TAB, TAB-TAB, and ESC-?). The names have to be quoted with a pair of 191919370Spstsingle quotes. Examples are 'func (int, long)' and 'obj::operator==(obj&)'. 192019370SpstMake use of command completion, it is your friend. 192119370Spst 192219370SpstGDB also now accepts a variety of C++ mangled symbol formats. They are 192319370Spstthe GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style. 192419370SpstYou can tell GDB which format to use by doing a 'set demangle-style {gnu, 192519370Spstlucid, cfront, auto}'. 'gnu' is the default. Do a 'set demangle-style foo' 192619370Spstfor the list of formats. 192719370Spst 192819370Spst * G++ symbol mangling problem 192919370Spst 193019370SpstRecent versions of gcc have a bug in how they emit debugging information for 193119370SpstC++ methods (when using dbx-style stabs). The file 'gcc.patch' (in this 193219370Spstdirectory) can be applied to gcc to fix the problem. Alternatively, if you 193319370Spstcan't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. The 193419370Spstusual symptom is difficulty with setting breakpoints on methods. GDB complains 193519370Spstabout the method being non-existent. (We believe that version 2.2.2 of GCC has 193619370Spstthis problem.) 193719370Spst 193819370Spst * New 'maintenance' command 193919370Spst 194019370SpstAll of the commands related to hacking GDB internals have been moved out of 194119370Spstthe main command set, and now live behind the 'maintenance' command. This 194219370Spstcan also be abbreviated as 'mt'. The following changes were made: 194319370Spst 194419370Spst dump-me -> maintenance dump-me 194519370Spst info all-breakpoints -> maintenance info breakpoints 194619370Spst printmsyms -> maintenance print msyms 194719370Spst printobjfiles -> maintenance print objfiles 194819370Spst printpsyms -> maintenance print psymbols 194919370Spst printsyms -> maintenance print symbols 195019370Spst 195119370SpstThe following commands are new: 195219370Spst 195319370Spst maintenance demangle Call internal GDB demangler routine to 195419370Spst demangle a C++ link name and prints the result. 195519370Spst maintenance print type Print a type chain for a given symbol 195619370Spst 195719370Spst * Change to .gdbinit file processing 195819370Spst 195919370SpstWe now read the $HOME/.gdbinit file before processing the argv arguments 196019370Spst(e.g. reading symbol files or core files). This allows global parameters to 196119370Spstbe set, which will apply during the symbol reading. The ./.gdbinit is still 196219370Spstread after argv processing. 196319370Spst 196419370Spst * New hosts supported 196519370Spst 196619370SpstSolaris-2.0 !!! sparc-sun-solaris2 or sun4sol2 196719370Spst 196898944SobrienGNU/Linux support i386-unknown-linux or linux 196919370Spst 197019370SpstWe are also including code to support the HP/PA running BSD and HPUX. This 197119370Spstis almost guaranteed not to work, as we didn't have time to test or build it 197219370Spstfor this release. We are including it so that the more adventurous (or 197319370Spstmasochistic) of you can play with it. We also had major problems with the 197419370Spstfact that the compiler that we got from HP doesn't support the -g option. 197519370SpstIt costs extra. 197619370Spst 197719370Spst * New targets supported 197819370Spst 197919370SpstHitachi H8/300 h8300-hitachi-hms or h8300hms 198019370Spst 198119370Spst * More smarts about finding #include files 198219370Spst 198319370SpstGDB now remembers the compilation directory for all include files, and for 198419370Spstall files from which C is generated (like yacc and lex sources). This 198519370Spstgreatly improves GDB's ability to find yacc/lex sources, and include files, 198619370Spstespecially if you are debugging your program from a directory different from 198719370Spstthe one that contains your sources. 198819370Spst 198919370SpstWe also fixed a bug which caused difficulty with listing and setting 199019370Spstbreakpoints in include files which contain C code. (In the past, you had to 199119370Spsttry twice in order to list an include file that you hadn't looked at before.) 199219370Spst 199319370Spst * Interesting infernals change 199419370Spst 199519370SpstGDB now deals with arbitrary numbers of sections, where the symbols for each 199619370Spstsection must be relocated relative to that section's landing place in the 199719370Spsttarget's address space. This work was needed to support ELF with embedded 199819370Spststabs used by Solaris-2.0. 199919370Spst 200019370Spst * Bug fixes (of course!) 200119370Spst 200219370SpstThere have been loads of fixes for the following things: 200319370Spst mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k, 200419370Spst i960, stabs, DOS(GO32), procfs, etc... 200519370Spst 200619370SpstSee the ChangeLog for details. 200719370Spst 200819370Spst*** Changes in GDB-4.5: 200919370Spst 201019370Spst * New machines supported (host and target) 201119370Spst 201219370SpstIBM RS6000 running AIX rs6000-ibm-aix or rs6000 201319370Spst 201419370SpstSGI Irix-4.x mips-sgi-irix4 or iris4 201519370Spst 201619370Spst * New malloc package 201719370Spst 201819370SpstGDB now uses a new memory manager called mmalloc, based on gmalloc. 201919370SpstMmalloc is capable of handling mutiple heaps of memory. It is also 202019370Spstcapable of saving a heap to a file, and then mapping it back in later. 202119370SpstThis can be used to greatly speedup the startup of GDB by using a 202219370Spstpre-parsed symbol table which lives in a mmalloc managed heap. For 202319370Spstmore details, please read mmalloc/mmalloc.texi. 202419370Spst 202519370Spst * info proc 202619370Spst 202719370SpstThe 'info proc' command (SVR4 only) has been enhanced quite a bit. See 202819370Spst'help info proc' for details. 202919370Spst 203019370Spst * MIPS ecoff symbol table format 203119370Spst 203219370SpstThe code that reads MIPS symbol table format is now supported on all hosts. 203319370SpstThanks to MIPS for releasing the sym.h and symconst.h files to make this 203419370Spstpossible. 203519370Spst 203619370Spst * File name changes for MS-DOS 203719370Spst 203819370SpstMany files in the config directories have been renamed to make it easier to 203919370Spstsupport GDB on MS-DOSe systems (which have very restrictive file name 204019370Spstconventions :-( ). MS-DOSe host support (under DJ Delorie's GO32 204119370Spstenvironment) is close to working but has some remaining problems. Note 204219370Spstthat debugging of DOS programs is not supported, due to limitations 204319370Spstin the ``operating system'', but it can be used to host cross-debugging. 204419370Spst 204519370Spst * Cross byte order fixes 204619370Spst 204719370SpstMany fixes have been made to support cross debugging of Sparc and MIPS 204819370Spsttargets from hosts whose byte order differs. 204919370Spst 205019370Spst * New -mapped and -readnow options 205119370Spst 205219370SpstIf memory-mapped files are available on your system through the 'mmap' 205319370Spstsystem call, you can use the -mapped option on the `file' or 205419370Spst`symbol-file' commands to cause GDB to write the symbols from your 205519370Spstprogram into a reusable file. If the program you are debugging is 205619370Spstcalled `/path/fred', the mapped symbol file will be `./fred.syms'. 205719370SpstFuture GDB debugging sessions will notice the presence of this file, 205819370Spstand will quickly map in symbol information from it, rather than reading 205919370Spstthe symbol table from the executable program. Using the '-mapped' 206019370Spstoption in a GDB `file' or `symbol-file' command has the same effect as 206119370Spststarting GDB with the '-mapped' command-line option. 206219370Spst 206319370SpstYou can cause GDB to read the entire symbol table immediately by using 206419370Spstthe '-readnow' option with any of the commands that load symbol table 206519370Spstinformation (or on the GDB command line). This makes the command 206619370Spstslower, but makes future operations faster. 206719370Spst 206819370SpstThe -mapped and -readnow options are typically combined in order to 206919370Spstbuild a `fred.syms' file that contains complete symbol information. 207019370SpstA simple GDB invocation to do nothing but build a `.syms' file for future 207119370Spstuse is: 207219370Spst 207319370Spst gdb -batch -nx -mapped -readnow programname 207419370Spst 207519370SpstThe `.syms' file is specific to the host machine on which GDB is run. 207619370SpstIt holds an exact image of GDB's internal symbol table. It cannot be 207719370Spstshared across multiple host platforms. 207819370Spst 207919370Spst * longjmp() handling 208019370Spst 208119370SpstGDB is now capable of stepping and nexting over longjmp(), _longjmp(), and 208219370Spstsiglongjmp() without losing control. This feature has not yet been ported to 208319370Spstall systems. It currently works on many 386 platforms, all MIPS-based 208419370Spstplatforms (SGI, DECstation, etc), and Sun3/4. 208519370Spst 208619370Spst * Solaris 2.0 208719370Spst 208819370SpstPreliminary work has been put in to support the new Solaris OS from Sun. At 208919370Spstthis time, it can control and debug processes, but it is not capable of 209019370Spstreading symbols. 209119370Spst 209219370Spst * Bug fixes 209319370Spst 209419370SpstAs always, many many bug fixes. The major areas were with g++, and mipsread. 209519370SpstPeople using the MIPS-based platforms should experience fewer mysterious 209619370Spstcrashes and trashed symbol tables. 209719370Spst 209819370Spst*** Changes in GDB-4.4: 209919370Spst 210019370Spst * New machines supported (host and target) 210119370Spst 210219370SpstSCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco 210319370Spst (except core files) 210419370SpstBSD Reno on Vax vax-dec-bsd 210519370SpstUltrix on Vax vax-dec-ultrix 210619370Spst 210719370Spst * New machines supported (target) 210819370Spst 210919370SpstAMD 29000 embedded, using EBMON a29k-none-none 211019370Spst 211119370Spst * C++ support 211219370Spst 211319370SpstGDB continues to improve its handling of C++. `References' work better. 211419370SpstThe demangler has also been improved, and now deals with symbols mangled as 211519370Spstper the Annotated C++ Reference Guide. 211619370Spst 211719370SpstGDB also now handles `stabs' symbol information embedded in MIPS 211819370Spst`ecoff' symbol tables. Since the ecoff format was not easily 211919370Spstextensible to handle new languages such as C++, this appeared to be a 212019370Spstgood way to put C++ debugging info into MIPS binaries. This option 212119370Spstwill be supported in the GNU C compiler, version 2, when it is 212219370Spstreleased. 212319370Spst 212419370Spst * New features for SVR4 212519370Spst 212619370SpstGDB now handles SVR4 shared libraries, in the same fashion as SunOS 212719370Spstshared libraries. Debugging dynamically linked programs should present 212819370Spstonly minor differences from debugging statically linked programs. 212919370Spst 213019370SpstThe `info proc' command will print out information about any process 213119370Spston an SVR4 system (including the one you are debugging). At the moment, 213219370Spstit prints the address mappings of the process. 213319370Spst 213419370SpstIf you bring up GDB on another SVR4 system, please send mail to 213519370Spstbug-gdb@prep.ai.mit.edu to let us know what changes were reqired (if any). 213619370Spst 213719370Spst * Better dynamic linking support in SunOS 213819370Spst 213919370SpstReading symbols from shared libraries which contain debugging symbols 214019370Spstnow works properly. However, there remain issues such as automatic 214119370Spstskipping of `transfer vector' code during function calls, which 214219370Spstmake it harder to debug code in a shared library, than to debug the 214319370Spstsame code linked statically. 214419370Spst 214519370Spst * New Getopt 214619370Spst 214719370SpstGDB is now using the latest `getopt' routines from the FSF. This 214819370Spstversion accepts the -- prefix for options with long names. GDB will 214919370Spstcontinue to accept the old forms (-option and +option) as well. 215019370SpstVarious single letter abbreviations for options have been explicity 215119370Spstadded to the option table so that they won't get overshadowed in the 215219370Spstfuture by other options that begin with the same letter. 215319370Spst 215419370Spst * Bugs fixed 215519370Spst 215619370SpstThe `cleanup_undefined_types' bug that many of you noticed has been squashed. 215719370SpstMany assorted bugs have been handled. Many more remain to be handled. 215819370SpstSee the various ChangeLog files (primarily in gdb and bfd) for details. 215919370Spst 216019370Spst 216119370Spst*** Changes in GDB-4.3: 216219370Spst 216319370Spst * New machines supported (host and target) 216419370Spst 216519370SpstAmiga 3000 running Amix m68k-cbm-svr4 or amix 216619370SpstNCR 3000 386 running SVR4 i386-ncr-svr4 or ncr3000 216719370SpstMotorola Delta 88000 running Sys V m88k-motorola-sysv or delta88 216819370Spst 216919370Spst * Almost SCO Unix support 217019370Spst 217119370SpstWe had hoped to support: 217219370SpstSCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco 217319370Spst(except for core file support), but we discovered very late in the release 217419370Spstthat it has problems with process groups that render gdb unusable. Sorry 217519370Spstabout that. I encourage people to fix it and post the fixes. 217619370Spst 217719370Spst * Preliminary ELF and DWARF support 217819370Spst 217919370SpstGDB can read ELF object files on System V Release 4, and can handle 218019370Spstdebugging records for C, in DWARF format, in ELF files. This support 218119370Spstis preliminary. If you bring up GDB on another SVR4 system, please 218219370Spstsend mail to bug-gdb@prep.ai.mit.edu to let us know what changes were 218319370Spstreqired (if any). 218419370Spst 218519370Spst * New Readline 218619370Spst 218719370SpstGDB now uses the latest `readline' library. One user-visible change 218819370Spstis that two tabs will list possible command completions, which previously 218919370Spstrequired typing M-? (meta-question mark, or ESC ?). 219019370Spst 219119370Spst * Bugs fixed 219219370Spst 219319370SpstThe `stepi' bug that many of you noticed has been squashed. 219419370SpstMany bugs in C++ have been handled. Many more remain to be handled. 219519370SpstSee the various ChangeLog files (primarily in gdb and bfd) for details. 219619370Spst 219719370Spst * State of the MIPS world (in case you wondered): 219819370Spst 219919370SpstGDB can understand the symbol tables emitted by the compilers 220019370Spstsupplied by most vendors of MIPS-based machines, including DEC. These 220119370Spstsymbol tables are in a format that essentially nobody else uses. 220219370Spst 220319370SpstSome versions of gcc come with an assembler post-processor called 220419370Spstmips-tfile. This program is required if you want to do source-level 220519370Spstdebugging of gcc-compiled programs. I believe FSF does not ship 220619370Spstmips-tfile with gcc version 1, but it will eventually come with gcc 220719370Spstversion 2. 220819370Spst 220919370SpstDebugging of g++ output remains a problem. g++ version 1.xx does not 221019370Spstreally support it at all. (If you're lucky, you should be able to get 221119370Spstline numbers and stack traces to work, but no parameters or local 221219370Spstvariables.) With some work it should be possible to improve the 221319370Spstsituation somewhat. 221419370Spst 221519370SpstWhen gcc version 2 is released, you will have somewhat better luck. 221619370SpstHowever, even then you will get confusing results for inheritance and 221719370Spstmethods. 221819370Spst 221919370SpstWe will eventually provide full debugging of g++ output on 222019370SpstDECstations. This will probably involve some kind of stabs-in-ecoff 222119370Spstencapulation, but the details have not been worked out yet. 222219370Spst 222319370Spst 222419370Spst*** Changes in GDB-4.2: 222519370Spst 222619370Spst * Improved configuration 222719370Spst 222819370SpstOnly one copy of `configure' exists now, and it is not self-modifying. 222919370SpstPorting BFD is simpler. 223019370Spst 223119370Spst * Stepping improved 223219370Spst 223319370SpstThe `step' and `next' commands now only stop at the first instruction 223419370Spstof a source line. This prevents the multiple stops that used to occur 223519370Spstin switch statements, for-loops, etc. `Step' continues to stop if a 223619370Spstfunction that has debugging information is called within the line. 223719370Spst 223819370Spst * Bug fixing 223919370Spst 224019370SpstLots of small bugs fixed. More remain. 224119370Spst 224219370Spst * New host supported (not target) 224319370Spst 224419370SpstIntel 386 PC clone running Mach i386-none-mach 224519370Spst 224619370Spst 224719370Spst*** Changes in GDB-4.1: 224819370Spst 224919370Spst * Multiple source language support 225019370Spst 225119370SpstGDB now has internal scaffolding to handle several source languages. 225219370SpstIt determines the type of each source file from its filename extension, 225319370Spstand will switch expression parsing and number formatting to match the 225419370Spstlanguage of the function in the currently selected stack frame. 225519370SpstYou can also specifically set the language to be used, with 225619370Spst`set language c' or `set language modula-2'. 225719370Spst 225819370Spst * GDB and Modula-2 225919370Spst 226019370SpstGDB now has preliminary support for the GNU Modula-2 compiler, 226119370Spstcurrently under development at the State University of New York at 226219370SpstBuffalo. Development of both GDB and the GNU Modula-2 compiler will 226319370Spstcontinue through the fall of 1991 and into 1992. 226419370Spst 226519370SpstOther Modula-2 compilers are currently not supported, and attempting to 226619370Spstdebug programs compiled with them will likely result in an error as the 226719370Spstsymbol table is read. Feel free to work on it, though! 226819370Spst 226919370SpstThere are hooks in GDB for strict type checking and range checking, 227019370Spstin the `Modula-2 philosophy', but they do not currently work. 227119370Spst 227219370Spst * set write on/off 227319370Spst 227419370SpstGDB can now write to executable and core files (e.g. patch 227519370Spsta variable's value). You must turn this switch on, specify 227619370Spstthe file ("exec foo" or "core foo"), *then* modify it, e.g. 227719370Spstby assigning a new value to a variable. Modifications take 227819370Spsteffect immediately. 227919370Spst 228019370Spst * Automatic SunOS shared library reading 228119370Spst 228219370SpstWhen you run your program, GDB automatically determines where its 228319370Spstshared libraries (if any) have been loaded, and reads their symbols. 228419370SpstThe `share' command is no longer needed. This also works when 228519370Spstexamining core files. 228619370Spst 228719370Spst * set listsize 228819370Spst 228919370SpstYou can specify the number of lines that the `list' command shows. 229019370SpstThe default is 10. 229119370Spst 229219370Spst * New machines supported (host and target) 229319370Spst 229419370SpstSGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris 229519370SpstSony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news 229619370SpstUltracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3 229719370Spst 229819370Spst * New hosts supported (not targets) 229919370Spst 230019370SpstIBM RT/PC: romp-ibm-aix or rtpc 230119370Spst 230219370Spst * New targets supported (not hosts) 230319370Spst 230419370SpstAMD 29000 embedded with COFF a29k-none-coff 230519370SpstAMD 29000 embedded with a.out a29k-none-aout 230619370SpstUltracomputer remote kernel debug a29k-nyu-kern 230719370Spst 230819370Spst * New remote interfaces 230919370Spst 231019370SpstAMD 29000 Adapt 231119370SpstAMD 29000 Minimon 231219370Spst 231319370Spst 231419370Spst*** Changes in GDB-4.0: 231519370Spst 231619370Spst * New Facilities 231719370Spst 231819370SpstWide output is wrapped at good places to make the output more readable. 231919370Spst 232019370SpstGdb now supports cross-debugging from a host machine of one type to a 232119370Spsttarget machine of another type. Communication with the target system 232219370Spstis over serial lines. The ``target'' command handles connecting to the 232319370Spstremote system; the ``load'' command will download a program into the 232419370Spstremote system. Serial stubs for the m68k and i386 are provided. Gdb 232519370Spstalso supports debugging of realtime processes running under VxWorks, 232619370Spstusing SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger 232719370Spststub on the target system. 232819370Spst 232919370SpstNew CPUs supported include the AMD 29000 and Intel 960. 233019370Spst 233119370SpstGDB now reads object files and symbol tables via a ``binary file'' 233219370Spstlibrary, which allows a single copy of GDB to debug programs of multiple 233319370Spstobject file types such as a.out and coff. 233419370Spst 233519370SpstThere is now a GDB reference card in "doc/refcard.tex". (Make targets 233619370Spstrefcard.dvi and refcard.ps are available to format it). 233719370Spst 233819370Spst 233919370Spst * Control-Variable user interface simplified 234019370Spst 234119370SpstAll variables that control the operation of the debugger can be set 234219370Spstby the ``set'' command, and displayed by the ``show'' command. 234319370Spst 234419370SpstFor example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>. 234519370Spst``Show prompt'' produces the response: 234619370SpstGdb's prompt is new-gdb=>. 234719370Spst 234819370SpstWhat follows are the NEW set commands. The command ``help set'' will 234919370Spstprint a complete list of old and new set commands. ``help set FOO'' 235019370Spstwill give a longer description of the variable FOO. ``show'' will show 235119370Spstall of the variable descriptions and their current settings. 235219370Spst 235319370Spstconfirm on/off: Enables warning questions for operations that are 235419370Spst hard to recover from, e.g. rerunning the program while 235519370Spst it is already running. Default is ON. 235619370Spst 235719370Spstediting on/off: Enables EMACS style command line editing 235819370Spst of input. Previous lines can be recalled with 235919370Spst control-P, the current line can be edited with control-B, 236019370Spst you can search for commands with control-R, etc. 236119370Spst Default is ON. 236219370Spst 236319370Spsthistory filename NAME: NAME is where the gdb command history 236419370Spst will be stored. The default is .gdb_history, 236519370Spst or the value of the environment variable 236619370Spst GDBHISTFILE. 236719370Spst 236819370Spsthistory size N: The size, in commands, of the command history. The 236919370Spst default is 256, or the value of the environment variable 237019370Spst HISTSIZE. 237119370Spst 237219370Spsthistory save on/off: If this value is set to ON, the history file will 237319370Spst be saved after exiting gdb. If set to OFF, the 237419370Spst file will not be saved. The default is OFF. 237519370Spst 237619370Spsthistory expansion on/off: If this value is set to ON, then csh-like 237719370Spst history expansion will be performed on 237819370Spst command line input. The default is OFF. 237919370Spst 238019370Spstradix N: Sets the default radix for input and output. It can be set 238119370Spst to 8, 10, or 16. Note that the argument to "radix" is interpreted 238219370Spst in the current radix, so "set radix 10" is always a no-op. 238319370Spst 238419370Spstheight N: This integer value is the number of lines on a page. Default 238519370Spst is 24, the current `stty rows'' setting, or the ``li#'' 238619370Spst setting from the termcap entry matching the environment 238719370Spst variable TERM. 238819370Spst 238919370Spstwidth N: This integer value is the number of characters on a line. 239019370Spst Default is 80, the current `stty cols'' setting, or the ``co#'' 239119370Spst setting from the termcap entry matching the environment 239219370Spst variable TERM. 239319370Spst 239419370SpstNote: ``set screensize'' is obsolete. Use ``set height'' and 239519370Spst``set width'' instead. 239619370Spst 239719370Spstprint address on/off: Print memory addresses in various command displays, 239819370Spst such as stack traces and structure values. Gdb looks 239919370Spst more ``symbolic'' if you turn this off; it looks more 240019370Spst ``machine level'' with it on. Default is ON. 240119370Spst 240219370Spstprint array on/off: Prettyprint arrays. New convenient format! Default 240319370Spst is OFF. 240419370Spst 240519370Spstprint demangle on/off: Print C++ symbols in "source" form if on, 240619370Spst "raw" form if off. 240719370Spst 240819370Spstprint asm-demangle on/off: Same, for assembler level printouts 240919370Spst like instructions. 241019370Spst 241119370Spstprint vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF. 241219370Spst 241319370Spst 241419370Spst * Support for Epoch Environment. 241519370Spst 241619370SpstThe epoch environment is a version of Emacs v18 with windowing. One 241719370Spstnew command, ``inspect'', is identical to ``print'', except that if you 241819370Spstare running in the epoch environment, the value is printed in its own 241919370Spstwindow. 242019370Spst 242119370Spst 242219370Spst * Support for Shared Libraries 242319370Spst 242419370SpstGDB can now debug programs and core files that use SunOS shared libraries. 242519370SpstSymbols from a shared library cannot be referenced 242619370Spstbefore the shared library has been linked with the program (this 242719370Spsthappens after you type ``run'' and before the function main() is entered). 242819370SpstAt any time after this linking (including when examining core files 242919370Spstfrom dynamically linked programs), gdb reads the symbols from each 243019370Spstshared library when you type the ``sharedlibrary'' command. 243119370SpstIt can be abbreviated ``share''. 243219370Spst 243319370Spstsharedlibrary REGEXP: Load shared object library symbols for files 243419370Spst matching a unix regular expression. No argument 243519370Spst indicates to load symbols for all shared libraries. 243619370Spst 243719370Spstinfo sharedlibrary: Status of loaded shared libraries. 243819370Spst 243919370Spst 244019370Spst * Watchpoints 244119370Spst 244219370SpstA watchpoint stops execution of a program whenever the value of an 244319370Spstexpression changes. Checking for this slows down execution 244419370Spsttremendously whenever you are in the scope of the expression, but is 244519370Spstquite useful for catching tough ``bit-spreader'' or pointer misuse 244619370Spstproblems. Some machines such as the 386 have hardware for doing this 244719370Spstmore quickly, and future versions of gdb will use this hardware. 244819370Spst 244919370Spstwatch EXP: Set a watchpoint (breakpoint) for an expression. 245019370Spst 245119370Spstinfo watchpoints: Information about your watchpoints. 245219370Spst 245319370Spstdelete N: Deletes watchpoint number N (same as breakpoints). 245419370Spstdisable N: Temporarily turns off watchpoint number N (same as breakpoints). 245519370Spstenable N: Re-enables watchpoint number N (same as breakpoints). 245619370Spst 245719370Spst 245819370Spst * C++ multiple inheritance 245919370Spst 246019370SpstWhen used with a GCC version 2 compiler, GDB supports multiple inheritance 246119370Spstfor C++ programs. 246219370Spst 246319370Spst * C++ exception handling 246419370Spst 246519370SpstGdb now supports limited C++ exception handling. Besides the existing 246619370Spstability to breakpoint on an exception handler, gdb can breakpoint on 246719370Spstthe raising of an exception (before the stack is peeled back to the 246819370Spsthandler's context). 246919370Spst 247019370Spstcatch FOO: If there is a FOO exception handler in the dynamic scope, 247119370Spst set a breakpoint to catch exceptions which may be raised there. 247219370Spst Multiple exceptions (``catch foo bar baz'') may be caught. 247319370Spst 247419370Spstinfo catch: Lists all exceptions which may be caught in the 247519370Spst current stack frame. 247619370Spst 247719370Spst 247819370Spst * Minor command changes 247919370Spst 248019370SpstThe command ``call func (arg, arg, ...)'' now acts like the print 248119370Spstcommand, except it does not print or save a value if the function's result 248219370Spstis void. This is similar to dbx usage. 248319370Spst 248419370SpstThe ``up'' and ``down'' commands now always print the frame they end up 248519370Spstat; ``up-silently'' and `down-silently'' can be used in scripts to change 248619370Spstframes without printing. 248719370Spst 248819370Spst * New directory command 248919370Spst 249019370Spst'dir' now adds directories to the FRONT of the source search path. 249119370SpstThe path starts off empty. Source files that contain debug information 249219370Spstabout the directory in which they were compiled can be found even 249319370Spstwith an empty path; Sun CC and GCC include this information. If GDB can't 249419370Spstfind your source file in the current directory, type "dir .". 249519370Spst 249619370Spst * Configuring GDB for compilation 249719370Spst 249819370SpstFor normal use, type ``./configure host''. See README or gdb.texinfo 249919370Spstfor more details. 250019370Spst 250119370SpstGDB now handles cross debugging. If you are remotely debugging between 250219370Spsttwo different machines, type ``./configure host -target=targ''. 250319370SpstHost is the machine where GDB will run; targ is the machine 250419370Spstwhere the program that you are debugging will run. 2505