Handle structures and unions which contain DIE's other than just member
[deliverable/binutils-gdb.git] / gdb / ChangeLog
CommitLineData
6470e9c3
JG
1Wed Dec 4 01:59:05 1991 John Gilmore (gnu at cygnus.com)
2
3 * symfile.c (reread_symbols): Avoid kludging mtime_set, now that
4 BFD is fixed.
5
2e00f40a
JG
6Tue Dec 3 17:24:57 1991 John Gilmore (gnu at cygnus.com)
7
4369a140
JG
8 * Makefile.in: VERSION 4.2.96.
9
10 * main.c (initialize_main): Revise command descriptions.
11 * command.c (show_user): `info user' -> `show user'.
12 * symtab.c (_initialize_symtab): Typo in `info types' desc.
13
7a6093e8 14 * coffread.c (coff_symfile_read): Avoid select_source_symtab,
4369a140
JG
15 since it is not needed and can cause errors when examining ".o"s.
16 (read_coff_symtab, decode_base_type): Use complain, not printf.
17 Print symbol name, not its number.
18 Remove "#if defined(clipper) #define BELIEVE_PCC_PROMOTION", which
19 someday should go in a clipper target config file.
7a6093e8
JG
20
21 * symfile.c (compact_misc_function_vector): Handle empty vector.
4369a140
JG
22 (complain, clear_complaints, syms_from_objfile): Fix complaint
23 formatting.
24 * xcoffexec.c: Change syms_from_objfile caller.
7a6093e8 25
2e00f40a
JG
26 * sparc-xdep.c: Force tm-file as tm-sparc.h, to make it compile
27 when configured for cross debugging. FIXME, this needs a more
28 general solution.
29
ce623b5f
PB
30Mon Dec 2 11:04:05 1991 Per Bothner (bothner at cygnus.com)
31
32 * mips-tdep.c (init_extra_frame_info): Float register
33 'i' has gdb-internal number 'FP0+i', not '32+i'.
34 * mipsread.c (new_symbol): Translate g++ special
35 symbol "$t" to "this".
36
f5f0679a
SC
37Sat Nov 30 21:29:55 1991 Steve Chamberlain (sac at cygnus.com)
38 Changes due to include file renaming:
39
40 * xcoffread.c: internalcoff.h ->coff/internal.c,
41 coff-rs6000.h ->coff/rs6000.h
42 * mipsread.c: coff-mips.h ->coff/mips.h
43 * elfread.c: elf-common.h ->elf/common.h
44 elf-external.h ->elf/external.h,
45 elf-internal.h ->elf/internal.h
46 * dwarfread.c dwarf.h ->elf/dwarf.h
47 * dbxread.c: aout64.h ->aout/aout64.h
48 stab.gnu.h ->aout/stab_gnu.h
49
50 * coffread.c: internalcoff.h ->coff/internal.h
51 * buildsym.c: stab.gnu.h ->aout/stab_gnu.h
52 * depend Updated to take the above into account.
53
3053b9f2
FF
54Fri Nov 29 16:59:25 1991 Fred Fish (fnf at cygnus.com)
55
8c6e9f05
FF
56 * configure.in: Add SVR4 i386 configurations.
57
58 * config/mh-i386v4, config/mt-i386v4, tm-i386v4.h, xm-i386v4.h:
59 New files for i386/SVR4.
60
61 * tm-i386v.h: Allow START_INFERIOR_TRAPS_EXPECTED and
62 DECR_PC_AFTER_BREAK to be predefined by files including
63 tm-i386v.h.
64
65 * i386-tdep.c: Add supply_gregset(), fill_gregset(),
66 supply_fpregset(), and fill_fpregset() functions, which are
67 target dependent support functions for the SVR4 /proc register
68 interface.
69
70 * dwarfread.c (enum_type, struct_type): Expand recognized
71 compiler generated tags to include symbols beginning with '.' as
72 well as '~'.
73
3053b9f2
FF
74 * symtab.c (sources_info): Change simple printf of error message
75 to call to error().
76
4b195f9a
RP
77Fri Nov 29 16:04:21 1991 Roland H. Pesch (pesch at cygnus.com)
78
79 * doc/gdb.texinfo: remove leading comments that survived M4 but
80 described its role in the doc; add one more font to colophon;
81 strengthen disclaimer about unsupported configs.
82
f1d77e90
JG
83Wed Nov 27 01:23:41 1991 John Gilmore (gnu at cygnus.com)
84
85 Fix bugs in C++ debugging.
86
87 * symtab.h: target_type is not used in record types.
88 Eliminate TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT. Eliminate
67c29f75 89 lookup_method_type. Add TYPE_TYPE_SPECIFIC macro.
f1d77e90
JG
90
91 * symtab.c (lookup_member_type): Don't chain them up, just
92 allocate one in symbol_obstack when we need one.
93 (allocate_stub_method): Build stub in symbol_obstack.
94 (check_stub_method): Move here from values.c. Don't deallocate
95 stub; overwrite it.
96 (lookup_method_type): Gone now.
97
98 * buildsym.c: Handle g++ v1 stabs a little bit better.
99 Change some C++ parsing error()s to complain()ts.
100 * buildsym.c, findvar.c, printcmd.c, symtab.c: Make unions and
101 structs have the same representation and work the same as far as
102 C++ is concerned.
103 * buildsym.c, symtab.c, values.c: Remove all references to
104 TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT.
105
106 * valops.c: Improve comments and indentation. Only call
107 check_stub_method when the stub flag is on.
108 * valprint.c: Fix or mark minor bugs and unportabilities.
109
110 * coffread.c (anonymous unions): Allocate a cplus structure.
111
112 * mipsread.c: Eliminate "template" types. Build new, real
113 types whenever we need them. Allocate cplus structures as needed.
114 Bulletproof the type parsing a bit more. Mark storage leaks.
67c29f75
JG
115 (parse_type): Copy TYPE_TYPE_SPECIFIC when copying a real type
116 on top of a partial type.
f1d77e90 117
b68da3b8
JG
118Fri Nov 22 16:39:57 1991 John Gilmore (gnu at cygnus.com)
119
378d8e73
JG
120 * inflow.c (terminal_inferior): Check the results of ioctl's, and
121 print a message if any of them fail.
122 (terminal_ours_1): Store result of ioctl's for debugging, but
123 don't print (the terminal isn't ours...).
124
b68da3b8
JG
125 * tm-tahoe.h (FRAME_ARGS_ADDRESS): No need to offset from frame
126 pointer.
127
128 * m2-exp.y (MAX, MIN): Rename to MAX_FUNC, MIN_FUNC to avoid
129 conflicts with system header files.
130
8013e170
JG
131Fri Nov 22 08:27:40 1991 John Gilmore (gnu at cygnus.com)
132
2dd074f4
JG
133 * Roll VERSION to 4.2.95.
134
3ae444f8
JG
135 * buildsym.c, coredep.c, mem-break.c, xcoffread.c: Put <stdio.h>
136 first, before defs.h.
137 * config/mh-i386sco: Override compiler to gcc, print warning.
2b61280a 138 * configure.in: Handle i386-none-aout rather than i386-aout-none.
3ae444f8 139 * infptrace.c, language.h, utils.c: Lint.
1a5a8f2a
JG
140 * m2-exp.y: #undef MAX and MIN in case system includes set them.
141 * xm-tahoe.h: Set HOST_BYTE_ORDER. Include system versions of
142 {BIG,LITTLE}_ENDIAN and the INT_MAX family first, to avoid
143 redefinition warnings.
144 * defs.h: Reorder things so that the xm-file gets first crack
145 at #define's, followed by defs.h and then the tm-file.
146 * Makefile.in: Remove spaces after 'ignore exit code' - flags.
147 Late-model BSD 'make's don't cope with them.
8013e170 148
3cb0d72d
JG
149Thu Nov 21 23:48:56 1991 John Gilmore (gnu at cygnus.com)
150
151 * Makefile.in: Roll new files into various lists.
152
4cfd3c49
FF
153Thu Nov 21 18:26:11 1991 Fred Fish (fnf at cygnus.com)
154
155 * dwarfread.c (struct_type): Must initialize the c++ specific
156 portion of union types as well as struct types, since gdb attempts
157 to reference the c++ specific info for both types.
158
7d9884b9
JG
159Thu Nov 21 10:23:52 1991 John Gilmore (gnu at cygnus.com)
160
2e8521a9
JG
161 * Makefile.in: Roll VERSION to 4.2.90.
162
163 * defs.h: Incorporate param.h into defs.h. All users changed.
7d9884b9
JG
164 * param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead.
165 * param.h, param-no-tm.h: Removed.
166 * Update copyrights in all changed files.
167 * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c,
168 solib.c, symtab.h, tm-umax.h, valprint.c: Lint.
169 * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h,
170 xm-merlin.h: Avoid host include files in target descriptions.
171 * getpagesize.h: Removed, libiberty copes now.
21f62bbd 172 * Makefile.in: Remove getpagesize.h, param.h, param-no-tm.h.
7d9884b9 173
3db0634c
JG
174 * exec.c (exec_files_info): If `verbose' is set, show file offset
175 as well.
176
f7402c04
JG
177 * main.c: Use getcwd rather than getwd.
178 * standalone.c: Fake getcwd rather than getwd.
179 * xm-*.h: Remove fake values of MAXPATHLEN.
180
76b28d05
JG
181 * xcoffexec.c: Add /* */ to #if 0'd thing to help ANSI.
182
6373dbe3
JG
183Wed Nov 20 18:35:56 1991 John Gilmore (gnu at cygnus.com)
184
49faf3b6
JG
185 * Remove gdb/hp-include. Support for HP a.out oddities should be
186 in BFD, not in GDB. Move gdb/hp-include/a.out.h to include/a.out.hp.h.
187
44ff4c96
JG
188 * infptrace.c, tm-sun386.h: Cashier <a.out.gnu.h>, remove refs.
189
f318d221
JG
190 * configure.in, xconfig, tconfig, Makefile.in, doc/gdbint.texinfo:
191 Makefile fragments for various hosts and targets now come from
192 gdb/config/mh-* and gdb/config/mt-*. This is for consistency with
193 other config setups.
3978d059 194
6373dbe3
JG
195 * rs6000-pinsn.c, rs6k-opcode.h: Clean up.
196 * rs6k-opcode.def: Delete.
197
768be6e1
FF
198Wed Nov 20 05:04:40 1991 Fred Fish (fnf at cygnus.com)
199
200 * dwarfread.c: Recognize obsolete form of AT_element_list
201 attribute still used by at least one AT&T compiler, and possibly
202 more.
203
d018c8a6
FF
204Tue Nov 19 07:53:55 1991 Fred Fish (fnf at cygnus.com)
205
0db97eed
FF
206 * dwarfread.c (enum_type, struct_type): Ignore names invented by
207 helpful compilers for anonymous structs, unions, and enums.
208
d018c8a6
FF
209 * c-exp.y, m2-exp.y: Add defines for yymaxdepth, yy_yys, and
210 yy_yyv, so multiple parsers produced by SVR4 versions of yacc
211 can coexist in the same executable without collision.
212
213 * symtab.h: Add declaration for lookup_template_type() to kill
214 compiler warnings about conversions from int to pointer.
215
b6666a5d
FF
216Mon Nov 18 17:45:18 1991 Fred Fish (fnf at cygnus.com)
217
5129100c
FF
218 * procfs.c: Move inclusion of defs.h to before param.h, as in
219 all the other source files that include both. This is required
220 to supply some typedefs that are used in files included by param.h.
221
b6666a5d
FF
222 * m68k-tdep.c (m68k_skip_prologue): Add generic m68k support for
223 skipping function prologues, ala the other cpu families (i386,
224 mips, m88k, etc). Add the ability to skip movm and fmovm
225 instructions in the prologues. Still needs support for profile
226 (-p compiled) prologue sequences (FIXME).
227
228 * tm-68k.h: Change SKIP_PROLOGUE macro to use the new generic
229 m68k prologue skipping function by default.
230
231 * tm-altos.h, tm-isi.h: Continue to use the old definition of
232 SKIP_PROLOGUE.
233
e140f1da
JG
234Mon Nov 18 15:12:45 1991 John Gilmore (gnu at cygnus.com)
235
b9fd1330 236 * Makefile.in: Remove tdesc stuff, and extra blanks before colons.
e140f1da 237 * blockframe.c: Remove tdesc-related code. Default
b9fd1330 238 FRAME_CHAIN_COMBINE.
e140f1da
JG
239 * infrun.c: Remove tdesc-related code.
240 * m88k-tdep.c (frame_chain_combine, init_frame_pc): Remove copies
241 of defaultable things.
242 * tm-m88k.h: New file, common to all Moto 88k target configs.
243 Derived from tm-delta88.h.
244 * tm-delta88.h: Use it.
245 * xm-m88k.h: Common file for 88K hosts. Remove obsolete stuff.
246 * xm-delta88.h: Use it.
247 * tm-*.h: Remove FRAME_CHAIN_COMBINE macros, since all are
248 default.
249 * coffread.c: Remove tdesc stuff.
5e2569e6
JG
250 * tconfig/delta88, tconfig/m88k: Remove tdesc stuff.
251 * xconfig/m88k: Rename tm-88k.h to tm-m88k.h.
e140f1da
JG
252
253Mon Nov 18 13:51:37 1991 Per Bothner (bothner at cygnus.com)
254
255 * source.c (open_source_file): If openp fails, try again
256 using just the base (non-directory) part of the filename.
257 This solves various annoying problems, such as when the
258 source was compiled with an absolute pathname - and the
259 source files have moved. Or if the source was compiled
260 using a relative pathname, it can be more convenient
261 to just specific the source directory to the dir command.
262
2d6186f4
FF
263Mon Nov 18 00:04:41 1991 Fred Fish (fnf at cygnus.com)
264
1a18a185
FF
265 * cplus-dem.c (munge_function_name): Add missing third arg to
266 instance of call to do_type().
267
2d6186f4
FF
268 * dwarfread.c: Changes to match new dwarf.h. Remove
269 AT_deriv_list, AT_loclist, AT_incomplete, AT_const_data,
270 and AT_is_external.
271
572acbbe
MT
272Sun Nov 17 16:20:53 1991 Michael Tiemann (tiemann at rtl.cygnus.com)
273
274 * symtab.h (struct type): Moved C++-specific fields into new type
275 `struct cplus_struct_type'. Now takes 10% less memory. Many
276 macros changed.
277 * symtab.c (init_type): Don't set fields belonging to
278 TYPE_CPLUS_SPECIFIC unless TYPE is TYPE_CODE_STRUCT.
279 * buildsym.c (read_type): Allocate TYPE_CPLUS_SPECIFIC for
280 TYPE_CODE_STRUCT.
281 (read_struct_type): Ditto. Also, add comments about how we can
282 deduce TYPE_VPTR_FIELDNO from inheritance info and fieldname info.
283 * coffread.c (decode_base_type): Allocate TYPE_CPLUS_SPECIFIC for
284 TYPE_CODE_STRUCT.
285 (read_struct_type): Ditto.
286 * dwarfread.c (struct_type): Ditto.
287
288 * symtab.c (read_range_type): Don't set TYPE_MAIN_VARIANT.
289 (lookup_pointer_type): Don't use or set TYPE_MAIN_VARIANT.
290 (lookup_reference_type): Ditto.
291
292 * cplus-dem.c: Many changes made to handle decoding of
293 ANSI-mangled names.
294 * symtab.c (gdb_mangle_name): Mangle/demangle ANSI-mangled names
295 as well.
296
cd71911e
SG
297Fri Nov 15 17:57:59 1991 Stu Grossman (grossman at cygnus.com)
298
299 * mipsread.c (parse_partial_symbols): patch to keep DEC C
300 compiler from making gdb bomb out. Thanks to Ed Santiago!
301
a7446af6
FF
302Thu Nov 14 19:27:30 1991 Fred Fish (fnf at cygnus.com)
303
5a5a3b0f
FF
304 * symfile.c: Add function compact_misc_function_vector() to
305 remove duplicate misc function vector entries. See comments
306 in source for why this is necessary/desirable.
307
a7446af6
FF
308 * dwarfread.c: Add misc function type parameter to internal
309 record_misc_function(). Remove calls to init_misc_bunches()
310 and condense_misc_bunches(), these are now done in elfread.c.
311
312 * elfread.c: Add support for reading bfd canonical symbol tables
313 and generating misc function vector entries for global and
314 absolute symbols. Do calls to init_misc_bunches() and
315 condense_misc_bunches() where they will enclose all calls to
316 record_misc_function(), including those in dwarfread.c.
317
318Thu Nov 14 17:02:11 1991 Roland H. Pesch (pesch at cygnus.com)
319
320 * doc/Makefile.in: new targets gdb.me, gdb.ms, gdb.mm
321 (roffable documentation).
322 * doc/gdb.texinfo: embedded hints (as comments) for better
323 texi2roff conversion.
324
430923f3
JG
325Thu Nov 14 13:18:25 1991 John Gilmore (gnu at cygnus.com)
326
327 * m88k-tdep.c (examine_prologue): Deal with OR instructions
328 that shuffle parameters into other regs.
329 * symtab.c (decode_line_1): Fix bug introduced in Per's change
330 of Nov 12th.
331
a219b090
SC
332Wed Nov 13 19:51:11 1991 Steve Chamberlain (sac at cygnus.com)
333
334 * Makefile.in, xconfig/delta88 made it install a sysV manual page;
335 gdb.z into the right place.
336
ea3c0839
JG
337Wed Nov 13 16:45:13 1991 John Gilmore (gnu at cygnus.com)
338
339 Motorola 88000 port without tears, I mean without tdescs.
340
341 * m88k-tdep.c: Blow away all tdesc stuff.
342 Provide functions for all the frame-related macros in
343 tm-delta88.h. Adopt i960-style EXTRA_FRAME_INFO.
344 (examine_prologue, frame_find_saved_regs, skip_prologue): borrow
345 from i960-tdep.c and adapt to the function prologues on the 88k.
346 (read_next_frame_reg): Borrow from mips-tdep.c.
347 FIXME: frame_locals_address should go away.
348
349 * tm-delta88.h: Dump all the tdesc stuff.
350 Macros for all frame-related stuff call fns of same name.
351 Remove duplicated definitions. FP_REGNUM becomes same as
352 SP_REGNUM.
353
354 * xm-88k.h: Eliminate lots of library dependencies, now handled
355 in libiberty. Eliminate KDB nonsupport.
356
357 * doc/gdbint.texinfo: Add rudiments on frames. FIXME, add more.
358
359
360 * stack.c (frame_info): Mark frameless functions.
361 Print locals address (FIXME, remove if same).
362 * blockframe.c: Comment changes, FIXME after.
363 * coffread.c: Even without TDESC, need to zap "@" symbols.
364 Don't register for wierd format names; change the names in BFD.
365
366 * alloca.c, language.c, tdesc.c: Lint.
367 * tdesc.c, tdesc-lib: FIXME: remove these.
368
19230be6
JG
369Tue Nov 12 19:30:22 1991 John Gilmore (gnu at cygnus.com)
370
371 * Makefile.in: Add tdesc library support. Fixups to lint,
372 copying.c rules.
373
0e2a896c
PB
374Tue Nov 12 13:43:26 1991 Per Bothner (bothner at cygnus.com)
375
376 * symtab.c (decode_line_1): Remove spurious call to operator_chars.
377
378 Allow setting breakpoints on C++ destructors.
379 * valops.c (destructor_name_p): Don't check TYPE_HAS_DESTRUCTOR,
380 since it lies. Rely on callers to catch missing destructors.
381 * symtab.c (decode_line_1): For example (see above), here.
382 * buildsym.c, symtab.h: Remove TYPE_FLAGS_HAS{CON,DE}STRUCTOR
383 flags since they are no longer used.
384
385 Fixes to support C++ methods with functional parameters.
386 * c-exp.y (func_mod rule): Allow (and ignore) list of parameter
387 types in a function type.
388 * eval.c (parse_and_eval_type), value.h: New function,
389 parse_and_eval_type, is based on old code from check_stub_method.
390 But don't actually evaluate the cast, since that calls
391 value_cast(), whcih may fail. Just extract the type
392 from the parsed expression.
393 * values.c (check_stub_method): While looping through the
394 arguments, adjust depth *after* parameter has been handled.
395 Replace call and setup of parse_and_eval with new function
396 parse_and_eval_type.
397
58ae87f6
FF
398Tue Nov 12 09:40:07 1991 Fred Fish (fnf at cygnus.com)
399
400 * utils.c, rem-multi.shar: Remove fixed arg count version of
401 concat().
402
403 * altos-xdep.c, arm-xdep.c, coffread.c, command.c, convex-xdep.c,
404 core.c, dwarfread.c, gould-xdep.c, infcmd.c, language.c,
405 m88k-xdep.c, main.c, printcmd.c, pyr-xdep.c, source.c,
406 sun386-xdep.c, symm-xdep.c, umax-xdep.c, values.c, xcoffread.c:
407 Change all instances of use of fixed args concat() to variable
408 args concat() now located in libiberty.
409
74f6fb08
JG
410Tue Nov 12 07:23:46 1991 John Gilmore (gnu at cygnus.com)
411
412 * Makefile.in: Add xcoffread.c, xcoffexec.c.
413 * xcoffread.c: New file for handling AIX mangled-coff files.
414 * xconfig/rs6000, tconfig/rs6000: New files.
415 * buildsym.c: Add hooks for xcoffread.c.
416 * rs6000-pinsn.c, rs6000-tdep.c, rs6000-xdep.c, tm-rs6000.h,
cd56d314 417 xm-rs6000.h, rs6k-opcode.def, rs6k-opcode.h: New files.
74f6fb08
JG
418 * xcoffexec.c: New file for handling AIX shared libraries.
419
fb182850
FF
420Mon Nov 11 19:14:31 1991 Fred Fish (fnf at cygnus.com)
421
422 * core.c: Minor rewording of message to user containing name of
423 (and possibly arguments to) the program that generated a core
424 file.
425
426 * elfread.c: Remove the register_addr() stub now that it is no
427 longer needed.
428
429 * procfs.c: Move misplaced #endif for ATTACH_DETACH. Add new
430 fetch_core_registers() function for core file support.
431
8aca810c
FF
432Sat Nov 9 13:37:57 1991 Fred Fish (fnf at cygnus.com)
433
b662efed
FF
434 * dwarfread.c (dwarf_psymtab_to_symtab): Remove leftover call
435 to do_cleanups() which resulted from a previous change.
436
8aca810c
FF
437 * elfread.c: Re-enable compilation of register_addr() stub
438 whenever it is not supplied by coredep.c
439
a048c8f5
JG
440Sat Nov 9 00:40:32 1991 John Gilmore (gnu at cygnus.com)
441
442 Add tracking of object files (that contain symbols) to gdb.
443 This includes a "struct objfile" that owns symtabs and psymtabs
444 that were read in from that binary file.
445
446 * symfile.h: Add struct objfile. Add pointer to the objfile
447 into the struct sym_fns.
448 Replace global `symfile' and `symfile_mtime' with
449 `symfile_objfile'. Add global object_files chain.
450
451 * symfile.c: Move param.h above symtab.h.
452 (sort_misc_function_vector): Add.
453 (syms_from_objfile): Was syms_from_bfd.
454 (symfile_open): Now returns objfile.
455 (allocate_objfile): New.
456 (free_objfile): New, replacing free_all_.*symtabs.
457 (symfile_init): Takes objfile arg, puts it in sym_fns result.
458 (reread_symbols): Searches whole chain of objfiles.
459 (allocate_symtab): Takes objfile as new parameter, chains them.
460 Handle INIT_EXTRA_SYMTAB_INFO.
461 (free_all_psymtabs, free_all_symtabs): Move here from symmisc.c.
462
463 * dbxread.c: Make more errors into complaints.
464 (push_subfile, pop_subfile): Move to buildsym.c.
465 (dbx_symfile_read, dbx_symfile_init, fill_symbuf, read_dbx_symtab,
466 start_psymtab, psymtab_to_symtab_1, read_ofile_symtab,
467 dbx_psymtab_to_symtab, ): Use bfd ops, don't use file descriptor.
468 Pass objfile. Change callers.
469 (fill_symbuf, SWAP_SYMBOL): Take bfd as arg.
470 (read_dbx_symtab): Just wipe out new symbols, not all, on error.
471 (end_psymtab): Blow away psymtab if empty.
472 (process_symbol_pair): Swallow into read_ofile_symtab.
473 (process_one_symbol): Use push_context and pop_context.
474 (virtual_context): Delete #if 0'd obsolete stuff.
475
476 * buildsym.c (end_symtab): Pass objfile.
477 (dbx_lookup_type): Handle null typevector.
478 (dbx_alloc_type): Check file number, not sym number, for -1.
479 (find_symbol_in_list): Add for xcoffread.
480 (start_symtab): Default typevector is empty. Keep reusing same
481 context_stack.
482 (end_symtab): Take objfile argument and pass it to
483 allocate_symtab. Don't make a symtab if no blocks or symbols.
484 Handle empty typevector.
485 (push_context): New function for context stack nesting.
486 (read_type): Mark FIXME where we need to reintroduce type smashing.
487
488 * buildsym.h (pop_context): Macro, paired with push_context.
489 (subfile_stack): Move here from dbxread.c.
490
491 * coffread.c (end_symtab, read_coff_symtab): Take and use objfile arg.
492 (read_coff_symtab): Cleanup by freeing objfile, not all symtabs.
493
494 * mipsread.c (read_mips_symtab, parse_partial_symbols, parse_fdr,
495 new_psymtab, new_symtab): Take and use objfile arg.
496
497 * dwarfread.c (scan_compilation_units, start_psymtab,
498 process_dies, end_symtab, dwarf_build_psymtabs,
499 read_lexical_block_scope, read_func_scope, read_file_scope): Take
500 and use objfile argument.
501 (psymtab_to_symtab_1, read_ofile_symtab): Don't take or use file
502 descriptor. Use BFD internal functions instead.
503 (end_symtab): Call global allocate_symtab.
504
1d82d3dc 505 * elfread.c, target.c: Minor changes to accommodate objfiles.
a048c8f5
JG
506 * symtab.h: partial_symbol_table has no symfile_name member now.
507 (fn_fieldlists voffset): avoid non-int bitfield.
508 (struct symtab): Add objfile * and objfile_chain * of symtabs.
509 (struct partial_symtab): Add objfile * and objfile_chain * of
510 psymtabs. Remove symfile_name.
511
1d82d3dc
JG
512 * symmisc.c: Lose free_all_symtabs, free_all_psymtabs.
513 (printsyms_command): Rename from print_symtabs. Add selective
514 listing if 2nd argument given. Print objfile info.
515 (printpsyms_command): Rename from print_partial_symtabs. Ditto all.
516 (printobjfiles_command): New; prints objfiles lists, and checks
517 for consistency of symtab, psymtab, and objfile lists.
518
a048c8f5
JG
519 * symfile.h, symfile.c, symtab.h: Lint
520
c4668207
JG
521Fri Nov 8 23:38:48 1991 John Gilmore (gnu at cygnus.com)
522
523 * command.c: Include param.h.
524 * defs.h (warning_setup, warning): Declare.
525 * expprint.c (print_subexp, UNOP_MEMVAL case): Lint.
526 * inflow.c (new_tty): Use USE_O_NOCTTY #define.
527 * language.c, printcmd.c (print_scalar_formatted), signame.c,
528 stack.c: lint.
529
b92c774e
SC
530Thu Nov 7 18:26:15 1991 Steve Chamberlain (sac at rtl.cygnus.com)
531
b715d5b4
SC
532 * Makefile.in: link with libiberty after libreadline, since
533 readline might want something in libiberty.
b92c774e
SC
534 * m88k-xdep.c: Fixed the register offsets in the ptrace_user
535 struct for BCS 88k machines.
536 * xm-m88k.h: don't define USIZE if already defined.
537 * configure.in: Added delta88 target.
538
fbcb5095
JG
539Thu Nov 7 04:51:19 1991 John Gilmore (gnu at cygnus.com)
540
1bf068b8
JG
541 * am29k-pinsn.c, am29k-opcode.h: Fix decoding of mtacc, dmac, fmac.
542
fbcb5095
JG
543 * tm-*.h: Remove READ_DBX_FORMAT, COFF_FORMAT, and
544 READ_MIPS_FORMAT, which have been unused since BFD. Still
545 remaining is COFF_NO_LONG_FILE_NAMES.
546 * tm-sun3.h, tm-altos.h: Remove detritus accidentally left from
547 function calling code moved to m68k-tdep.c.
548
e64fbb3a
JG
549Wed Nov 6 17:21:59 1991 John Gilmore (gnu at cygnus.com)
550
551 * coffread.c: Eliminate c_nsyms in favor of c_naux.
552 Complain if no auxents on .bf and .ef FCN symbols, and assume
553 lots of line numbers.
554 (init_linenos, enter_linenos): Use a sentinel at the end of the
555 read-in linenos, to make for a fast, safe loop-end test.
556
557Wed Nov 6 02:54:08 1991 Steve Chamberlain (sac at cygnus.com)
558
559 * coffread.c (read_coff_symtab): coffread used to rely on the
560 x_sym.x_misc.x_lnsz.x_lnno field giving the # of linnos in a
561 function. Two of the formats I'm using (29k and 88k) don't seem to
562 set it. Ths patch to fcn_last_line and (enter_linenos) is an
563 attempt to use the actual size of the linno table in the file to set
564 the number of linenos to process.
565
0aaa124f
SC
566Tue Nov 5 22:47:46 1991 Steve Chamberlain (sac at cygnus.com)
567
568 * Makefile.in: put a - infront of the mv y.tab.c c-exp.tab.c and
569 mv y.tab.c m2-exp.tab.c, so that if bison is used, and the files
570 are created in place, so the mv fails, then the make continues.
571
545af6ce
PB
572Tue Nov 5 16:47:47 1991 Per Bothner (bothner at cygnus.com)
573
574 Add C++ as a separate language.
575 * defs.h (enum language): Add language_cplus.
576 * dwarfread.c (end_symtab): Support language_cplus.
577 * c-exp.y: Add new struct language_defn cplus_language_defn.
578 Don't set c to be the default language (see main.c).
579 * c-exp.y (yylex): Only look for field of this if
580 language is C++. (First difference from C!)
581 * language.c: Add case branches for C++ (currently, all
582 the same as C). Also, add c++ to "usage" note for "set lang".
583 * valprint.c (typedef_print). Add case branches for C++.
584 * main.c (main): New way to set initial language: Look at
585 file extension of psymtab containing main(). (Same as we
586 do for symtabs, but avoid loading the symtab yet.)
587 * symtab.c: New routine find_main_psymtab(), used by main()
588 to set initial language.
589 * symfile.c (allocate_symtab): Move code for mapping file
590 extensions-> languages to new deduce_language_from_filename().
591
592 Fix a C++ problem when looking for methods in super-classes.
593 There was confusion between base and derived types.
594 * valops.c (value_fn_field): Change function interface.
595 * values.c: Use new value_fn_field interface.
596
abefb1f1
PB
597Mon Nov 4 10:49:33 1991 Per Bothner (bothner at cygnus.com)
598
599 * infrun.c: Fixed typo in comment.
600 * utils.c: All the v*fprintf emulation is now in libiberty,
601 so we can get rid of some junk.
602 * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco,
603 xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more.
604 * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL
605 type operands, as used by branch instructions.
606 * gmalloc.c: Fix prototype of memcpy.
607 * elfread.c: Comment out register_addr, since it conflicts
608 with the one in coredep.c.
609 * buildsym.h: Remove extern declarations of two functions
610 that are really static in buildsym.c.
611 * tm-mips.h: Add symbolic names for more registers.
612 * mips-xdep.c (store_inferior_registers): Use new register names.
613 * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now
614 only used for core files, not ptrace. Therefore,
615 the KERNEL_U_ADDR hack is no longer needed.
616 The mapping to ptrace number is now in in mips-xdep.c.
617 * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the
618 mapping from the old REGISTER_U_ADDR), and use it
619 in {fetch,store}_inferior_registers.
620 * mipsread.c: Rename #include ecoff.h to new name coff-mips.h.
621 * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame):
622 Save/restore FP regs correctly (?).
623 * dbxread.c: Remove duplicate define_symbol and type_synonym_name
624 (these had been previously moved to buildsym.c).
625 Hence, define_symbol becomes extern instead of static.
626 * buildsym.c (read_struct_type): Comment out bogus handling
627 of C++ operator methods. Minor hacking of reading of class
628 contexts. Make define_symbol non-static, so dbxread.c can call it.
629
c9bd6710
JG
630Fri Nov 1 11:05:47 1991 John Gilmore (gnu at cygnus.com)
631
632 * mipsread.c (read_mips_symtab, read_the_mips_symtab): Use real
633 filename with error messages.
634 * stack.c (frame_select_command): Rename to select_frame_command
635 to avoid "fr" and "fra" having nonunique completions.
636 * symfile.c (sort_symtab_syms): Ignore sort of zero symtab *.
637 (symfile_init): Print file format name when unable to handle it.
638 (free_named_symtabs): Use BLOCKVECTOR rather than obsolete BLOCKLIST.
639 * symmisc.c (free_symtab): Only free linetable if nonzero.
640 * symtab.h: Remove obsolete BLOCKLIST macros.
641
d7d1098d
SG
642Thu Oct 31 18:12:43 1991 Stu Grossman (grossman at cygnus.com)
643
644 * infrun.c (wait_for_inferior): another stepi/nexti fix. Ensure
645 that stop_step is 1 at bottom of main loop. I don't know why this
646 needs to be done, but it helps me sleep better at night.
647
8b3c897a
SG
648Sun Oct 27 18:18:39 1991 Stu Grossman (grossman at cygnus.com)
649
650 * main.c (initialize_history): Read history after reading all
651 init files.
652
4137c5fc
JG
653Sun Oct 27 14:09:25 1991 John Gilmore (gnu at cygnus.com)
654
655 * buildsym.c: Break out initial malloc sizes.
656 (record_line): Record directly in a subfile. Alloc on demand.
657 (compare_line_numbers): Add from xcoffread.c.
658 (end_symtab): New params say whether to sort pendings and
659 linetable. Patch block stabs if defined. Shrink linetable before
660 allocating the symtab.
661 * buildsym.h: Delete line_vector* and prev_line_number. Add
662 global_stabs and file_stabs for xcoffread.
663 * dbxread.c (start_subfile): Move to buildsym. Change above calls.
664 * symtab.h: LINETABLE(symtab) can now be null. Zap LINELIST.
665 * symmisc.c, symtab.c: Cope with null LINETABLEs.
666
667 * blockframe.c: Pass fromleaf to INIT_EXTRA_FRAME_INFO.
668 * tm-29k.h, tm-88k.h, tm-i960.h, tm-irix3.h, tm-mips.h, tm-pyr.h,
669 tm-sparc.h: Accept fromleaf parameter.
670 * c-exp.y (yyerror): Pass error message if given.
671 * configure.in: Add rs6000 host and target.
672 * inflow.c (new_tty): O_NOCTTY kludge for RS/6000.
673 * symfile.h (entry_point): Add.
674
c0302457
JG
675Sat Oct 26 00:16:32 1991 John Gilmore (gnu at cygus.com)
676
677 * buildsym.c: New file. Breaks out symbol-table-building routines
678 from dbxread.c, so they can be shared with xcoffread.c.
679 * buildsym.h: New file. Declarations for buildsym.c users.
680 * dbxread.c: Remove large chunks into buildsym.c.
d47d5315
JG
681 * Makefile.in: Add buildsym.c and buildsym.h.
682
683 * symfile.c (syms_from_bfd): New routine.
684 (add_symbol_file): Call it to do the real work.
685 (syms_from_bfd): Initialize entry_point before calling symfile_init.
686 * symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c:
687 Avoid declaring or setting entry_point (symfile.h & symfile.c cope).
c0302457 688
4c53d9ca
DHW
689Fri Oct 25 10:58:16 1991 Mark Eichin (eichin at cygnus.com)
690
691 * cplus-dem.c (cplus-demangle): added support for templates, static
692 data, and the new (correct) mangling for destructors.
693
694 * dwarfread.c: (dwarfwarn): created a varargs version of
695 dwarfwarn, for non __STDC__ compilers.
696
697 * c-exp.y: (yylex): added match for "template" token.
698 (typebase): added TEMPLATE name '<' type '>' clause, for explicit
699 specification of template types.
700
701 * symtab.c: (lookup_template_type): new function for finding
702 templates in symbol table.
703 (type_name_no_tag): changed to explicitly check for s/u/e at the
704 beginning of the symbol - if it is a template, none of these will
705 be there (but the name will still contain spaces.)
706
bcccec8c
PB
707Fri Oct 25 18:59:32 1991 Per Bothner (bothner at cygnus.com)
708
709 Various fixes to improve g++ debugging.
710 * symtab.h: Add is_const and is_volatile flags for each method.
711 These are bit fields - take their space from voffset,
712 which shrinks to 30 bits. Since voffset is now a bitfield,
713 make it unsigned for portability. This changes its interpretation
714 slightly: Static methods now have voffset 1 instead of -1,
715 and virtual offsets start at 2, not 1.
716 * symtab.c: Renamed gdb_mangle_typename to gdb_mangle_name,
717 since it now returns an entire magled method name, not just
718 the type part. This avoids some duplication.
719 It also allows us to correctly mangle const and volatile
720 methods (using the new is_const and is_volatile bit fields
721 mentioned above).
722 * valprint.c (type_print_base), values.c (check_stub_method):
723 Simplify by using new gdb_mangle_name.
724 * values.c (value_headof): Fix to correctly handle single
725 inheritance (actually two fixes, either of which suffices).
726 * dbxread.c (read_struct_type): Handle const and volatile
727 method specifiers.
728 * dbxread.c (read_struct_type): Yet one more place where
729 we must handle '\\' continuations.
730 * valprint.c (vtbl_ptr_name): Add final '\0'.
731
eb3f3e5c
SG
732Fri Oct 25 16:06:38 1991 Stu Grossman (grossman at cygnus.com)
733
5ab580cc
SG
734 * tm-sparc.h, tm-68k.h (EXTRACT_RETURN_VALUE): fix output of
735 short return values for sparc and 68k. Patch from Paul Eggert.
736
eb3f3e5c
SG
737 * coffread.c, coredep.c, i386-xdep.c: install patches for
738 SysV/386 3.2 from Mauro DePalma.
739
9cb602e1
JG
740Fri Oct 25 02:02:13 1991 John Gilmore (gnu at cygnus.com)
741
c58215f2
JG
742 * core.c (core_file_info), exec.c (exec_file_info): Print file
743 type. Use printf_filtered.
744
9cb602e1
JG
745 * valops.c (value_fetch_lazy): Avoid 0-length fetches.
746
b662acae
FF
747Thu Oct 24 23:06:40 1991 Fred Fish (fnf at cygnus.com)
748
c8c0a2bd
FF
749 * dwarfread.c: Add casts to remove compiler warnings.
750
84d82b1c
FF
751 * tm-3b1.h, tm-68k.h, tm-altos.h, tm-amix.h, tm-hp300bsd.h,
752 tm-hp300hpux.h, tm-isi.h, tm-news.h, tm-pn.h, tm-sun2.h,
753 tm-sun3.h: Remove locally duplicated code for calling functions
754 in the inferior. The only differences were in the specific trap
755 vectors used and whether or not an fpu was present. These are
756 now handled by appropriate definitions of BPT_VECTOR and
757 HAVE_68881 respectively. Other minor obvious cleanups.
758
759 * valops.c: Correct a minor misspelling.
760
ed317bb3
FF
761 * utils.c: Remove local BSD/USG hacks that are now in libiberty.
762
b662acae
FF
763 * dwarfread.c: Remove prototype for dwarfwarn. Does not work
764 with <varargs.h>.
765
313fdead
JG
766Thu Oct 24 09:33:44 1991 John Gilmore (gnu at cygnus.com)
767
b0077123
JG
768 * stack.c (frame_command): Always print. Use new
769 frame_select_command to select a frame without printing.
770
313fdead
JG
771 * dwarfread.c: Use <varargs.h>, since <stdarg.h> is not portable.
772
4a35d6e9
FF
773Thu Oct 24 01:32:51 1991 Fred Fish (fnf at cygnus.com)
774
35f5886e
FF
775 * dwarfread.c: New file for DWARF debugging format support.
776
777 * elfread.c: New file for ELF object file format support.
778
779 * procfs.c: New file for SVR4 /proc (process file system) support.
780
781 * tm-amix.h, xm-amix.h, tconfig/amix, xconfig/amix: New files for
782 Amiga UNIX support.
783
784 * xm-svr4.h, tm-svr4.h: New files for SVR4 support.
785
786 * xm-m68k.h: New file for host machines with m68k cpu.
787
bb4ff694
FF
788 * Makefile.in: Add elfread.c and dwarfread.c to SFILES_MAINDIR.
789 Add elfread.o and dwarfread.o to OBS.
790
791 * symfile.h: Add "elf" to list of supported formats in comment.
792
e2aab031
FF
793 * c-exp.y, defs.h, symtab.h, valprint.c: Add three new builtin
794 types to gdb, builtin_type_long_double, builtin_type_complex, and
795 builtin_type_double_complex. Add and use new TARGET_SHORT_BIT,
796 TARGET_INT_BIT, TARGET_LONG_BIT, TARGET_FLOAT_BIT,
797 TARGET_DOUBLE_BIT, TARGET_LONG_DOUBLE_BIT, TARGET_COMPLEX_BIT, and
798 TARGET_DOUBLE_COMPLEX_BIT, as the sizes in bits of the indicated
799 types on the target machine (ala the existing TARGET_LONG_LONG_BIT).
800
02070680
FF
801 * infrun.c: When using SVR4 /proc interface instead of ptrace(),
802 call proc_set_exec_trap() to setup child to stop at first instruction.
803
804 * inftarg.c: When using SVR4 /proc interface, call proc_wait()
805 rather than wait().
806
807 * m68k-tdep.c: Add new routines supply_gregset(), fill_gregset(),
808 supply_fpregset(), and fill_fpregset(), which are machine
809 dependent support routines for SVR4 /proc interface.
810
2bc2e684
FF
811 * utils.c: Add warning_setup() and warning(). Warning() behaves
812 the same as error() except that it returns normally rather than
813 jumping back to command level. Modules that don't want to call
814 warning() for some reason, but want to produce their own warnings,
815 can call warning_setup() to ensure compatibility with the way
816 warning() and error() deal with the terminal.
817
eaa1ef1d
FF
818 * symtab.c: Make internal errors produce more useful messages.
819
dcd15e5e
FF
820 * tm-68k.h: Move code that is duplicated in almost every single
821 m68k based machine's configuration files to this common file.
822 Duplications in the configuration files still need to be removed
823 (FIXME).
824
150f5436
FF
825 * infrun.c (child_create_inferior): System V versions must call
826 setpgrp() with no arguments, to comply with prototyping typically
827 in <unistd.h>.
828
cb17dfb1
FF
829 * munch: Add support for SVR4 style nm output.
830
4a35d6e9
FF
831 * dbxread.c, mipsread.c symmisc.c, symtab.c: Remove the object
832 file specific fields from the partial symbol table structure and
833 replace them with a pointer to private data for each different
834 flavor of object file reader to initialize appropriately.
835
b0077123
JG
836Wed Oct 23 09:38:20 1991 John Gilmore (gnu at cygnus.com)
837
838 * xconfig/sun[34]os4: Add note about strstr botch on sunos4.0.3c
839 and previous.
840
841 * mipsread.c (fixup_undef_type): New function. If a struct /
842 union / enum is defined in a header file but nowhere else used,
843 (by typedefing, pointer referencing or declaration) the mipsread code
844 builds the complete tree for the structure but leaves its code as
845 TYPE_CODE_UNDEF as it doesn't know what kind of aggregate it is.
846 Guess its type based on the details of the members.
847
0d3e7f60
SG
848Tue Oct 22 18:04:32 1991 Stu Grossman (grossman at cygnus.com)
849
850 * infrun.c (wait_for_inferior): Check return value from
851 find_pc_line.
852
bc6c937d
SG
853Mon Oct 21 17:47:03 1991 Stu Grossman (grossman at cygnus.com)
854
855 * infrun.c (wait_for_inferior): fix stepi/nexti that was broken
856 by my last edit to this routine.
857
b0077123
JG
858Mon Oct 21 14:27:43 1991 John Gilmore (gnu at cygnus.com)
859
860 * tm-sun3.h (FIX_CALL_DUMMY): problem with cross debugging.
861 FIX_CALL_DUMMY does unaligned accesses and/or forgets to byte swap
862 the values before putting them into the dummy code. (From Peter
863 Schauer)
864
44e4e473
SC
865Mon Oct 21 10:04:39 1991 Steve Chamberlain (steve at rtl.cygnus.com)
866
867 * configure.in: added ebmon target.
868
785ce19c 869Wed Oct 16 22:49:58 1991 John Gilmore (gnu at cygnus.com)
a1b8c5d6
JG
870
871 GDB-4.2 release!
872
873 * Makefile.in: Roll VERSION to 4.2.
44e4e473 874 * README, TODO, WHATS.NEW: Update.
a1b8c5d6
JG
875
876 * core.c (core_open): Improve error message for bad file.
877 Pass .reg virtual memory address to fetch_core_registers to help
878 it find the registers in the core-file header.
879 * coredep.c (fetch_core_registers): Take new argument, use it,
880 and pass it to register_addr to locate the block of registers.
785ce19c 881 * xm-mips.h: Update KERNEL_U_ADDR for new scheme. Cleanup a bit.
a1b8c5d6
JG
882
883 * dbxread.c (read_dbx_symtab, process_one_symbol): Handle
884 Sequent N_FN_SEQ like everybody else's N_FN.
885
886 * main.c: Circumvent SCO cc bug with #if !!defined(USG).
887 * tm-i386v.h: #endif guck.
888 * xconfig/i386*: Remove -Dgetpagesize()=4096 kludge.
785ce19c
JG
889 * xconfig/i386sco: Add HAVE_STRSTR to avoid ANSI bdeath.
890 * xconfig/tahoe: Add REGEX, which seems to be missing.
891
892 * coredep.c: Add <sys/types.h> for SCOnix.
893 * dbxread.c (read_dbx_symntab): Avoid coredump on malformed file.
894 * printcmd.c (print_formatted): Flush output before disassembly.
a1b8c5d6 895
93ae2e88
RP
896Tue Oct 15 20:12:32 1991 Roland H. Pesch (pesch at fowanton.cygnus.com)
897
9e0906a6
RP
898 * doc/refcard.tex (sec "Working Files"): consistent metavars and