Make structs work on DECstation (sigh)
[binutils-gdb.git] / gdb / ChangeLog
index d857fcfbe7807fe19ef4cc1238b20c23fea07c87..6941e92e1f6028e9cca0f3f88da523d8a597d321 100644 (file)
@@ -1,3 +1,318 @@
+Wed Nov 27 01:23:41 1991  John Gilmore  (gnu at cygnus.com)
+
+       Fix bugs in C++ debugging.
+
+       * symtab.h:  target_type is not used in record types.
+       Eliminate TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT.  Eliminate
+       lookup_method_type.  Add TYPE_TYPE_SPECIFIC macro.
+
+       * symtab.c (lookup_member_type):  Don't chain them up, just
+       allocate one in symbol_obstack when we need one.
+       (allocate_stub_method):  Build stub in symbol_obstack.
+       (check_stub_method):  Move here from values.c.  Don't deallocate
+       stub; overwrite it.
+       (lookup_method_type):  Gone now.
+
+       * buildsym.c: Handle g++ v1 stabs a little bit better.
+       Change some C++ parsing error()s to complain()ts.
+       * buildsym.c, findvar.c, printcmd.c, symtab.c:  Make unions and
+       structs have the same representation and work the same as far as
+       C++ is concerned. 
+       * buildsym.c, symtab.c, values.c: Remove all references to
+       TYPE_MAIN_VARIANT and TYPE_NEXT_VARIANT.
+
+       * valops.c:  Improve comments and indentation.  Only call
+       check_stub_method when the stub flag is on.
+       * valprint.c:  Fix or mark minor bugs and unportabilities.
+       
+       * coffread.c (anonymous unions):  Allocate a cplus structure.
+
+       * mipsread.c:  Eliminate "template" types.  Build new, real
+       types whenever we need them.  Allocate cplus structures as needed.
+       Bulletproof the type parsing a bit more.  Mark storage leaks.
+       (parse_type):  Copy TYPE_TYPE_SPECIFIC when copying a real type
+       on top of a partial type.
+
+Fri Nov 22 16:39:57 1991  John Gilmore  (gnu at cygnus.com)
+
+       * inflow.c (terminal_inferior):  Check the results of ioctl's, and
+       print a message if any of them fail.
+       (terminal_ours_1):  Store result of ioctl's for debugging, but
+       don't print (the terminal isn't ours...).
+
+       * tm-tahoe.h (FRAME_ARGS_ADDRESS):  No need to offset from frame
+       pointer.
+
+       * m2-exp.y (MAX, MIN):  Rename to MAX_FUNC, MIN_FUNC to avoid
+       conflicts with system header files.
+
+Fri Nov 22 08:27:40 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Roll VERSION to 4.2.95.
+
+       * buildsym.c, coredep.c, mem-break.c, xcoffread.c:  Put <stdio.h>
+       first, before defs.h.
+       * config/mh-i386sco: Override compiler to gcc, print warning.
+       * configure.in:  Handle i386-none-aout rather than i386-aout-none.
+       * infptrace.c, language.h, utils.c:  Lint.
+       * m2-exp.y:  #undef MAX and MIN in case system includes set them.
+       * xm-tahoe.h:  Set HOST_BYTE_ORDER.  Include system versions of
+       {BIG,LITTLE}_ENDIAN and the INT_MAX family first, to avoid
+       redefinition warnings.
+       * defs.h:  Reorder things so that the xm-file gets first crack
+       at #define's, followed by defs.h and then the tm-file.
+       * Makefile.in:  Remove spaces after 'ignore exit code' - flags.
+       Late-model BSD 'make's don't cope with them.
+
+Thu Nov 21 23:48:56 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Makefile.in:  Roll new files into various lists.
+
+Thu Nov 21 18:26:11 1991  Fred Fish  (fnf at cygnus.com)
+
+       * dwarfread.c (struct_type):  Must initialize the c++ specific
+       portion of union types as well as struct types, since gdb attempts
+       to reference the c++ specific info for both types.
+
+Thu Nov 21 10:23:52 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Makefile.in: Roll VERSION to 4.2.90.
+
+       * defs.h:  Incorporate param.h into defs.h.  All users changed.
+       * param-no-tm.h:  Change users to define TM_FILE_OVERRIDE instead.
+       * param.h, param-no-tm.h:  Removed.
+       * Update copyrights in all changed files.
+       * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c,
+       solib.c, symtab.h, tm-umax.h, valprint.c:  Lint.
+       * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h,
+       xm-merlin.h:  Avoid host include files in target descriptions.
+       * getpagesize.h:  Removed, libiberty copes now.
+       * Makefile.in:  Remove getpagesize.h, param.h, param-no-tm.h.
+
+       * exec.c (exec_files_info):  If `verbose' is set, show file offset
+       as well.
+
+       * main.c:  Use getcwd rather than getwd.
+       * standalone.c:  Fake getcwd rather than getwd.
+       * xm-*.h:  Remove fake values of MAXPATHLEN.
+
+       * xcoffexec.c:  Add /* */ to #if 0'd thing to help ANSI.
+
+Wed Nov 20 18:35:56 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Remove gdb/hp-include.  Support for HP a.out oddities should be
+       in BFD, not in GDB.  Move gdb/hp-include/a.out.h to include/a.out.hp.h.
+
+       * infptrace.c, tm-sun386.h:  Cashier <a.out.gnu.h>, remove refs.
+
+       * configure.in, xconfig, tconfig, Makefile.in, doc/gdbint.texinfo:
+       Makefile fragments for various hosts and targets now come from
+       gdb/config/mh-* and gdb/config/mt-*.  This is for consistency with
+       other config setups.
+
+       * rs6000-pinsn.c, rs6k-opcode.h:  Clean up.
+       * rs6k-opcode.def:  Delete.
+
+Wed Nov 20 05:04:40 1991  Fred Fish  (fnf at cygnus.com)
+
+       * dwarfread.c:  Recognize obsolete form of AT_element_list
+       attribute still used by at least one AT&T compiler, and possibly
+       more.
+
+Tue Nov 19 07:53:55 1991  Fred Fish  (fnf at cygnus.com)
+
+       * dwarfread.c (enum_type, struct_type):  Ignore names invented by
+       helpful compilers for anonymous structs, unions, and enums.
+
+       * c-exp.y, m2-exp.y:  Add defines for yymaxdepth, yy_yys, and
+       yy_yyv, so multiple parsers produced by SVR4 versions of yacc
+       can coexist in the same executable without collision.
+
+       * symtab.h:  Add declaration for lookup_template_type() to kill
+       compiler warnings about conversions from int to pointer.
+
+Mon Nov 18 17:45:18 1991  Fred Fish  (fnf at cygnus.com)
+
+       * procfs.c:  Move inclusion of defs.h to before param.h, as in
+       all the other source files that include both.  This is required
+       to supply some typedefs that are used in files included by param.h.
+
+       * m68k-tdep.c (m68k_skip_prologue):  Add generic m68k support for
+       skipping function prologues, ala the other cpu families (i386,
+       mips, m88k, etc).  Add the ability to skip movm and fmovm
+       instructions in the prologues.  Still needs support for profile
+       (-p compiled) prologue sequences (FIXME).
+
+       * tm-68k.h:  Change SKIP_PROLOGUE macro to use the new generic
+       m68k prologue skipping function by default.
+
+       * tm-altos.h, tm-isi.h:  Continue to use the old definition of
+       SKIP_PROLOGUE.
+
+Mon Nov 18 15:12:45 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Makefile.in:  Remove tdesc stuff, and extra blanks before colons.
+       * blockframe.c:  Remove tdesc-related code.  Default
+       FRAME_CHAIN_COMBINE.
+       * infrun.c:  Remove tdesc-related code.
+       * m88k-tdep.c (frame_chain_combine, init_frame_pc):  Remove copies
+       of defaultable things.
+       * tm-m88k.h:  New file, common to all Moto 88k target configs.
+       Derived from tm-delta88.h.
+       * tm-delta88.h:  Use it.
+       * xm-m88k.h:  Common file for 88K hosts.  Remove obsolete stuff.
+       * xm-delta88.h:  Use it.
+       * tm-*.h:  Remove FRAME_CHAIN_COMBINE macros, since all are
+       default.
+       * coffread.c:  Remove tdesc stuff.
+       * tconfig/delta88, tconfig/m88k:  Remove tdesc stuff.
+       * xconfig/m88k:  Rename tm-88k.h to tm-m88k.h.
+
+Mon Nov 18 13:51:37 1991  Per Bothner  (bothner at cygnus.com)
+
+       * source.c (open_source_file):  If openp fails, try again
+       using just the base (non-directory) part of the filename.
+       This solves various annoying problems, such as when the
+       source was compiled with an absolute pathname - and the
+       source files have moved.  Or if the source was compiled
+       using a relative pathname, it can be more convenient
+       to just specific the source directory to the dir command.
+
+Mon Nov 18 00:04:41 1991  Fred Fish  (fnf at cygnus.com)
+
+       * cplus-dem.c (munge_function_name):  Add missing third arg to
+       instance of call to do_type().
+
+       * dwarfread.c:  Changes to match new dwarf.h.  Remove 
+       AT_deriv_list, AT_loclist, AT_incomplete, AT_const_data,
+       and AT_is_external.
+
+Sun Nov 17 16:20:53 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+       * symtab.h (struct type): Moved C++-specific fields into new type
+       `struct cplus_struct_type'.  Now takes 10% less memory.  Many
+       macros changed.
+       * symtab.c (init_type): Don't set fields belonging to
+       TYPE_CPLUS_SPECIFIC unless TYPE is TYPE_CODE_STRUCT.
+       * buildsym.c (read_type): Allocate TYPE_CPLUS_SPECIFIC for
+       TYPE_CODE_STRUCT.
+       (read_struct_type): Ditto.  Also, add comments about how we can
+       deduce TYPE_VPTR_FIELDNO from inheritance info and fieldname info.
+       * coffread.c (decode_base_type): Allocate TYPE_CPLUS_SPECIFIC for
+       TYPE_CODE_STRUCT.
+       (read_struct_type): Ditto.
+       * dwarfread.c (struct_type): Ditto.
+
+       * symtab.c (read_range_type): Don't set TYPE_MAIN_VARIANT.
+       (lookup_pointer_type): Don't use or set TYPE_MAIN_VARIANT.
+       (lookup_reference_type): Ditto.
+
+       * cplus-dem.c: Many changes made to handle decoding of
+       ANSI-mangled names.
+       * symtab.c (gdb_mangle_name): Mangle/demangle ANSI-mangled names
+       as well.
+
+Fri Nov 15 17:57:59 1991  Stu Grossman  (grossman at cygnus.com)
+
+       * mipsread.c (parse_partial_symbols):  patch to keep DEC C
+       compiler from making gdb bomb out.  Thanks to Ed Santiago!
+
+Thu Nov 14 19:27:30 1991  Fred Fish  (fnf at cygnus.com)
+
+       * symfile.c:  Add function compact_misc_function_vector() to
+       remove duplicate misc function vector entries.  See comments
+       in source for why this is necessary/desirable.
+
+       * dwarfread.c:  Add misc function type parameter to internal
+       record_misc_function().  Remove calls to init_misc_bunches()
+       and condense_misc_bunches(), these are now done in elfread.c.
+
+       * elfread.c:  Add support for reading bfd canonical symbol tables
+       and generating misc function vector entries for global and
+       absolute symbols.  Do calls to init_misc_bunches() and
+       condense_misc_bunches() where they will enclose all calls to
+       record_misc_function(), including those in dwarfread.c.
+
+Thu Nov 14 17:02:11 1991  Roland H. Pesch  (pesch at cygnus.com)
+
+       * doc/Makefile.in: new targets gdb.me, gdb.ms, gdb.mm
+       (roffable documentation).
+       * doc/gdb.texinfo: embedded hints (as comments) for better
+       texi2roff conversion.
+
+Thu Nov 14 13:18:25 1991  John Gilmore  (gnu at cygnus.com)
+
+       * m88k-tdep.c (examine_prologue):  Deal with OR instructions
+       that shuffle parameters into other regs.
+       * symtab.c (decode_line_1):  Fix bug introduced in Per's change
+       of Nov 12th.
+
+Wed Nov 13 19:51:11 1991  Steve Chamberlain  (sac at cygnus.com)
+
+       * Makefile.in, xconfig/delta88 made it install a sysV manual page;
+       gdb.z into the right place.
+
+Wed Nov 13 16:45:13 1991  John Gilmore  (gnu at cygnus.com)
+
+       Motorola 88000 port without tears, I mean without tdescs.
+
+       * m88k-tdep.c:  Blow away all tdesc stuff.
+       Provide functions for all the frame-related macros in
+       tm-delta88.h.  Adopt i960-style EXTRA_FRAME_INFO.
+       (examine_prologue, frame_find_saved_regs, skip_prologue):  borrow
+       from i960-tdep.c and adapt to the function prologues on the 88k.
+       (read_next_frame_reg):  Borrow from mips-tdep.c.
+       FIXME:  frame_locals_address should go away.
+
+       * tm-delta88.h:  Dump all the tdesc stuff.
+       Macros for all frame-related stuff call fns of same name.
+       Remove duplicated definitions.  FP_REGNUM becomes same as
+       SP_REGNUM.  
+
+       * xm-88k.h:  Eliminate lots of library dependencies, now handled
+       in libiberty.  Eliminate KDB nonsupport.
+
+       * doc/gdbint.texinfo:  Add rudiments on frames.  FIXME, add more.
+
+
+       * stack.c (frame_info):  Mark frameless functions.
+       Print locals address (FIXME, remove if same).
+       * blockframe.c:  Comment changes, FIXME after.
+       * coffread.c:  Even without TDESC, need to zap "@" symbols.
+       Don't register for wierd format names; change the names in BFD.
+
+       * alloca.c, language.c, tdesc.c:  Lint.
+       * tdesc.c, tdesc-lib: FIXME:  remove these.
+
+Tue Nov 12 19:30:22 1991  John Gilmore  (gnu at cygnus.com)
+
+       * Makefile.in:  Add tdesc library support.  Fixups to lint,
+       copying.c rules.
+
+Tue Nov 12 13:43:26 1991  Per Bothner  (bothner at cygnus.com)
+
+       * symtab.c (decode_line_1):  Remove spurious call to operator_chars.
+
+       Allow setting breakpoints on C++ destructors.
+       * valops.c (destructor_name_p):  Don't check TYPE_HAS_DESTRUCTOR,
+       since it lies.  Rely on callers to catch missing destructors.
+       * symtab.c (decode_line_1):  For example (see above), here.
+       * buildsym.c, symtab.h:  Remove TYPE_FLAGS_HAS{CON,DE}STRUCTOR
+       flags since they are no longer used.
+
+       Fixes to support C++ methods with functional parameters.
+       * c-exp.y (func_mod rule):  Allow (and ignore) list of parameter
+       types in a function type.
+       * eval.c (parse_and_eval_type), value.h:  New function,
+       parse_and_eval_type, is based on old code from check_stub_method.
+       But don't actually evaluate the cast, since that calls
+       value_cast(), whcih may fail.  Just extract the type
+       from the parsed expression.
+       * values.c (check_stub_method):  While looping through the
+       arguments, adjust depth *after* parameter has been handled.
+       Replace call and setup of parse_and_eval with new function
+       parse_and_eval_type.
+
 Tue Nov 12 09:40:07 1991  Fred Fish  (fnf at cygnus.com)
 
        * utils.c, rem-multi.shar:  Remove fixed arg count version of
@@ -17,7 +332,7 @@ Tue Nov 12 07:23:46 1991  John Gilmore  (gnu at cygnus.com)
        * xconfig/rs6000, tconfig/rs6000:  New files.
        * buildsym.c:  Add hooks for xcoffread.c.
        * rs6000-pinsn.c, rs6000-tdep.c, rs6000-xdep.c, tm-rs6000.h,
-       xm-rs6000.h:  New files.
+       xm-rs6000.h, rs6k-opcode.def, rs6k-opcode.h:  New files.
        * xcoffexec.c:  New file for handling AIX shared libraries.
 
 Mon Nov 11 19:14:31 1991  Fred Fish  (fnf at cygnus.com)
@@ -289,6 +604,24 @@ Sat Oct 26 00:16:32 1991  John Gilmore  (gnu at cygus.com)
        * symtab.h, symfile.c, coffread.c, mipsread.c, dwarfread.c:
        Avoid declaring or setting entry_point (symfile.h & symfile.c cope).
 
+Fri Oct 25 10:58:16 1991  Mark Eichin  (eichin at cygnus.com)
+
+       * cplus-dem.c (cplus-demangle): added support for templates, static
+       data, and the new (correct) mangling for destructors.
+
+       * dwarfread.c: (dwarfwarn): created a varargs version of
+       dwarfwarn, for non __STDC__ compilers.
+
+       * c-exp.y: (yylex): added match for "template" token.
+       (typebase): added TEMPLATE name '<' type '>' clause, for explicit
+       specification of template types.
+
+       * symtab.c: (lookup_template_type): new function for finding
+       templates in symbol table.
+       (type_name_no_tag): changed to explicitly check for s/u/e at the
+       beginning of the symbol - if it is a template, none of these will
+       be there (but the name will still contain spaces.)
+
 Fri Oct 25 18:59:32 1991  Per Bothner  (bothner at cygnus.com)
 
        Various fixes to improve g++ debugging.