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