foo
[deliverable/binutils-gdb.git] / gdb / WHATS.NEW
1 What has changed since GDB-3.5?
2 (Organized release by release)
3
4 *** Changes in GDB-4.4:
5
6 * New machines supported (host and target)
7
8 SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
9 (except core files)
10
11 BSD Reno on Vaxen vax-dec-bsd
12 Ultrix on Vaxen vax-dec-ultrix
13
14 * New machines supported (target)
15
16 AMD 29000 embedded, using EBMON a29k-none-none
17
18 * C++ stuff
19
20 Improvements have been made in the way GDB handles C++ references. The
21 demangler has also been improved, and now deals with symbols mangled as
22 per the Annotated C++ Reference Guide. GDB also now handles stabs embedded in
23 MIPS symbol tables (which was the only way to get C++ debugging info into MIPS
24 binaries). This will become useful in a future version of G++.
25
26 * New features for SVR4
27
28 The `info process' command will print out process information.
29
30 Better shared library support for SVR4 and SunOS.
31
32 Info proc, improved SVR4, shared libs
33
34
35 ***FIXME * Improved ELF and DWARF support
36
37 GDB can read ELF object files on System V Release 4, and can handle
38 debugging records for C, in DWARF format, in ELF files. This support
39 is preliminary. If you bring up GDB on another SVR4 system, please
40 send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were
41 reqired (if any).
42
43 * New Getopt
44
45 GDB is now using the latest `getopt' routines from the FSF. This version
46 now accepts the -- prefix for options with long names. Note that gdb will
47 continue to accept the old format as well. Also, various single letter
48 abbreviations for options have been explicity added to the option table so that
49 they won't get overshadowed in the future by other options that begin with the
50 same letter.
51
52 ***FIXME * Bugs fixed
53
54 The `stepi' bug that many of you noticed has been squashed.
55 Many bugs in C++ have been handled. Many more remain to be handled.
56 See the various ChangeLog files (primarily in gdb and bfd) for details.
57
58 ***FIXME * State of the MIPS world (in case you wondered):
59
60 blah blah blah.....................................
61 ===============================================================================
62
63
64 *** Changes in GDB-4.3:
65
66 * New machines supported (host and target)
67
68 Amiga 3000 running Amix m68k-cbm-svr4 or amix
69 NCR 3000 386 running SVR4 i386-ncr-svr4 or ncr3000
70 Motorola Delta 88000 running Sys V m88k-motorola-sysv or delta88
71
72 * Almost SCO Unix support
73
74 We had hoped to support:
75 SCO Unix on i386 IBM PC clones i386-sco-sysv or i386sco
76 (except for core file support), but we discovered very late in the release
77 that it has problems with process groups that render gdb unusable. Sorry
78 about that. I encourage people to fix it and post the fixes.
79
80 * Preliminary ELF and DWARF support
81
82 GDB can read ELF object files on System V Release 4, and can handle
83 debugging records for C, in DWARF format, in ELF files. This support
84 is preliminary. If you bring up GDB on another SVR4 system, please
85 send mail to bug-gdb@prep.ai.mit.edu to let us know what changes were
86 reqired (if any).
87
88 * New Readline
89
90 GDB now uses the latest `readline' library. One user-visible change
91 is that two tabs will list possible command completions, which previously
92 required typing M-? (meta-question mark, or ESC ?).
93
94 * Bugs fixed
95
96 The `stepi' bug that many of you noticed has been squashed.
97 Many bugs in C++ have been handled. Many more remain to be handled.
98 See the various ChangeLog files (primarily in gdb and bfd) for details.
99
100 * State of the MIPS world (in case you wondered):
101
102 GDB can understand the symbol tables emitted by the compilers
103 supplied by most vendors of MIPS-based machines, including DEC. These
104 symbol tables are in a format that essentially nobody else uses.
105
106 Some versions of gcc come with an assembler post-processor called
107 mips-tfile. This program is required if you want to do source-level
108 debugging of gcc-compiled programs. I believe FSF does not ship
109 mips-tfile with gcc version 1, but it will eventually come with gcc
110 version 2.
111
112 Debugging of g++ output remains a problem. g++ version 1.xx does not
113 really support it at all. (If you're lucky, you should be able to get
114 line numbers and stack traces to work, but no parameters or local
115 variables.) With some work it should be possible to improve the
116 situation somewhat.
117
118 When gcc version 2 is released, you will have somewhat better luck.
119 However, even then you will get confusing results for inheritance and
120 methods.
121
122 We will eventually provide full debugging of g++ output on
123 DECstations. This will probably involve some kind of stabs-in-ecoff
124 encapulation, but the details have not been worked out yet.
125
126
127 *** Changes in GDB-4.2:
128
129 * Improved configuration
130
131 Only one copy of `configure' exists now, and it is not self-modifying.
132 Porting BFD is simpler.
133
134 * Stepping improved
135
136 The `step' and `next' commands now only stop at the first instruction
137 of a source line. This prevents the multiple stops that used to occur
138 in switch statements, for-loops, etc. `Step' continues to stop if a
139 function that has debugging information is called within the line.
140
141 * Bug fixing
142
143 Lots of small bugs fixed. More remain.
144
145 * New host supported (not target)
146
147 Intel 386 PC clone running Mach i386-none-mach
148
149
150 *** Changes in GDB-4.1:
151
152 * Multiple source language support
153
154 GDB now has internal scaffolding to handle several source languages.
155 It determines the type of each source file from its filename extension,
156 and will switch expression parsing and number formatting to match the
157 language of the function in the currently selected stack frame.
158 You can also specifically set the language to be used, with
159 `set language c' or `set language modula-2'.
160
161 * GDB and Modula-2
162
163 GDB now has preliminary support for the GNU Modula-2 compiler,
164 currently under development at the State University of New York at
165 Buffalo. Development of both GDB and the GNU Modula-2 compiler will
166 continue through the fall of 1991 and into 1992.
167
168 Other Modula-2 compilers are currently not supported, and attempting to
169 debug programs compiled with them will likely result in an error as the
170 symbol table is read. Feel free to work on it, though!
171
172 There are hooks in GDB for strict type checking and range checking,
173 in the `Modula-2 philosophy', but they do not currently work.
174
175 * set write on/off
176
177 GDB can now write to executable and core files (e.g. patch
178 a variable's value). You must turn this switch on, specify
179 the file ("exec foo" or "core foo"), *then* modify it, e.g.
180 by assigning a new value to a variable. Modifications take
181 effect immediately.
182
183 * Automatic SunOS shared library reading
184
185 When you run your program, GDB automatically determines where its
186 shared libraries (if any) have been loaded, and reads their symbols.
187 The `share' command is no longer needed. This also works when
188 examining core files.
189
190 * set listsize
191
192 You can specify the number of lines that the `list' command shows.
193 The default is 10.
194
195 * New machines supported (host and target)
196
197 SGI Iris (MIPS) running Irix V3: mips-sgi-irix or iris
198 Sony NEWS (68K) running NEWSOS 3.x: m68k-sony-sysv or news
199 Ultracomputer (29K) running Sym1: a29k-nyu-sym1 or ultra3
200
201 * New hosts supported (not targets)
202
203 IBM RT/PC: romp-ibm-aix or rtpc
204
205 * New targets supported (not hosts)
206
207 AMD 29000 embedded with COFF a29k-none-coff
208 AMD 29000 embedded with a.out a29k-none-aout
209 Ultracomputer remote kernel debug a29k-nyu-kern
210
211 * New remote interfaces
212
213 AMD 29000 Adapt
214 AMD 29000 Minimon
215
216
217 *** Changes in GDB-4.0:
218
219 * New Facilities
220
221 Wide output is wrapped at good places to make the output more readable.
222
223 Gdb now supports cross-debugging from a host machine of one type to a
224 target machine of another type. Communication with the target system
225 is over serial lines. The ``target'' command handles connecting to the
226 remote system; the ``load'' command will download a program into the
227 remote system. Serial stubs for the m68k and i386 are provided. Gdb
228 also supports debugging of realtime processes running under VxWorks,
229 using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
230 stub on the target system.
231
232 New CPUs supported include the AMD 29000 and Intel 960.
233
234 GDB now reads object files and symbol tables via a ``binary file''
235 library, which allows a single copy of GDB to debug programs of multiple
236 object file types such as a.out and coff.
237
238 There is now a GDB reference card in "doc/refcard.tex". (Make targets
239 refcard.dvi and refcard.ps are available to format it).
240
241
242 * Control-Variable user interface simplified
243
244 All variables that control the operation of the debugger can be set
245 by the ``set'' command, and displayed by the ``show'' command.
246
247 For example, ``set prompt new-gdb=>'' will change your prompt to new-gdb=>.
248 ``Show prompt'' produces the response:
249 Gdb's prompt is new-gdb=>.
250
251 What follows are the NEW set commands. The command ``help set'' will
252 print a complete list of old and new set commands. ``help set FOO''
253 will give a longer description of the variable FOO. ``show'' will show
254 all of the variable descriptions and their current settings.
255
256 confirm on/off: Enables warning questions for operations that are
257 hard to recover from, e.g. rerunning the program while
258 it is already running. Default is ON.
259
260 editing on/off: Enables EMACS style command line editing
261 of input. Previous lines can be recalled with
262 control-P, the current line can be edited with control-B,
263 you can search for commands with control-R, etc.
264 Default is ON.
265
266 history filename NAME: NAME is where the gdb command history
267 will be stored. The default is .gdb_history,
268 or the value of the environment variable
269 GDBHISTFILE.
270
271 history size N: The size, in commands, of the command history. The
272 default is 256, or the value of the environment variable
273 HISTSIZE.
274
275 history save on/off: If this value is set to ON, the history file will
276 be saved after exiting gdb. If set to OFF, the
277 file will not be saved. The default is OFF.
278
279 history expansion on/off: If this value is set to ON, then csh-like
280 history expansion will be performed on
281 command line input. The default is OFF.
282
283 radix N: Sets the default radix for input and output. It can be set
284 to 8, 10, or 16. Note that the argument to "radix" is interpreted
285 in the current radix, so "set radix 10" is always a no-op.
286
287 height N: This integer value is the number of lines on a page. Default
288 is 24, the current `stty rows'' setting, or the ``li#''
289 setting from the termcap entry matching the environment
290 variable TERM.
291
292 width N: This integer value is the number of characters on a line.
293 Default is 80, the current `stty cols'' setting, or the ``co#''
294 setting from the termcap entry matching the environment
295 variable TERM.
296
297 Note: ``set screensize'' is obsolete. Use ``set height'' and
298 ``set width'' instead.
299
300 print address on/off: Print memory addresses in various command displays,
301 such as stack traces and structure values. Gdb looks
302 more ``symbolic'' if you turn this off; it looks more
303 ``machine level'' with it on. Default is ON.
304
305 print array on/off: Prettyprint arrays. New convenient format! Default
306 is OFF.
307
308 print demangle on/off: Print C++ symbols in "source" form if on,
309 "raw" form if off.
310
311 print asm-demangle on/off: Same, for assembler level printouts
312 like instructions.
313
314 print vtbl on/off: Prettyprint C++ virtual function tables. Default is OFF.
315
316
317 * Support for Epoch Environment.
318
319 The epoch environment is a version of Emacs v18 with windowing. One
320 new command, ``inspect'', is identical to ``print'', except that if you
321 are running in the epoch environment, the value is printed in its own
322 window.
323
324
325 * Support for Shared Libraries
326
327 GDB can now debug programs and core files that use SunOS shared libraries.
328 Symbols from a shared library cannot be referenced
329 before the shared library has been linked with the program (this
330 happens after you type ``run'' and before the function main() is entered).
331 At any time after this linking (including when examining core files
332 from dynamically linked programs), gdb reads the symbols from each
333 shared library when you type the ``sharedlibrary'' command.
334 It can be abbreviated ``share''.
335
336 sharedlibrary REGEXP: Load shared object library symbols for files
337 matching a unix regular expression. No argument
338 indicates to load symbols for all shared libraries.
339
340 info sharedlibrary: Status of loaded shared libraries.
341
342
343 * Watchpoints
344
345 A watchpoint stops execution of a program whenever the value of an
346 expression changes. Checking for this slows down execution
347 tremendously whenever you are in the scope of the expression, but is
348 quite useful for catching tough ``bit-spreader'' or pointer misuse
349 problems. Some machines such as the 386 have hardware for doing this
350 more quickly, and future versions of gdb will use this hardware.
351
352 watch EXP: Set a watchpoint (breakpoint) for an expression.
353
354 info watchpoints: Information about your watchpoints.
355
356 delete N: Deletes watchpoint number N (same as breakpoints).
357 disable N: Temporarily turns off watchpoint number N (same as breakpoints).
358 enable N: Re-enables watchpoint number N (same as breakpoints).
359
360
361 * C++ multiple inheritance
362
363 When used with a GCC version 2 compiler, GDB supports multiple inheritance
364 for C++ programs.
365
366 * C++ exception handling
367
368 Gdb now supports limited C++ exception handling. Besides the existing
369 ability to breakpoint on an exception handler, gdb can breakpoint on
370 the raising of an exception (before the stack is peeled back to the
371 handler's context).
372
373 catch FOO: If there is a FOO exception handler in the dynamic scope,
374 set a breakpoint to catch exceptions which may be raised there.
375 Multiple exceptions (``catch foo bar baz'') may be caught.
376
377 info catch: Lists all exceptions which may be caught in the
378 current stack frame.
379
380
381 * Minor command changes
382
383 The command ``call func (arg, arg, ...)'' now acts like the print
384 command, except it does not print or save a value if the function's result
385 is void. This is similar to dbx usage.
386
387 The ``up'' and ``down'' commands now always print the frame they end up
388 at; ``up-silently'' and `down-silently'' can be used in scripts to change
389 frames without printing.
390
391 * New directory command
392
393 'dir' now adds directories to the FRONT of the source search path.
394 The path starts off empty. Source files that contain debug information
395 about the directory in which they were compiled can be found even
396 with an empty path; Sun CC and GCC include this information. If GDB can't
397 find your source file in the current directory, type "dir .".
398
399 * Configuring GDB for compilation
400
401 For normal use, type ``./configure host''. See README or gdb.texinfo
402 for more details.
403
404 GDB now handles cross debugging. If you are remotely debugging between
405 two different machines, type ``./configure host -target=targ''.
406 Host is the machine where gdb will run; targ is the machine
407 where the program that you are debugging will run.
This page took 0.040025 seconds and 5 git commands to generate.