* debug.h (debug_get_type_size): Declare.
[deliverable/binutils-gdb.git] / binutils / ChangeLog
index 98f72da57786323c2724650e85d8c9f8ccc0d502..c21f8f91f6721167b3d8e7878a0d602a7005aebb 100644 (file)
@@ -1,3 +1,419 @@
+Fri Jan 19 12:31:57 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * debug.h (struct debug_write_fns): Remove ellipsis_type.  Add int
+       and boolean parameters to function_type.  Add boolean parameter to
+       method_type.
+       (debug_make_ellipsis_type): Don't declare.
+       (debug_make_function_type): Add debug_type * and boolean
+       parameters.  Change all callers.
+       (debug_make_method_type): Add boolean parameter.  Change all
+       callers.
+       (debug_get_parameter_types): Add boolean * parameter.  Change all
+       callers.
+       (debug_get_target_type): Declare.
+       * debug.c (struct debug_function_type): Add fields arg_types and
+       varargs.
+       (struct debug_method_type): Add field varargs.
+       (debug_ellipsis_type, ELLIPSIS_P): Remove.
+       (debug_make_ellipsis_type): Remove.
+       (debug_make_function_type): Add arg_types and varargs parameters.
+       (debug_make_method_type): Add varargs parameter.
+       (debug_get_parameter_types): Add pvarargs parameter.
+       (debug_get_target_type): New function.
+       (debug_write_type): In case DEBUG_KIND_FUNCTION, push argument
+       types and pass count to function_type.  In DEBUG_KIND_METHOD, use
+       a signed int for the count, don't call ellipsis_type, and pass
+       varargs to method_type.
+       * stabs.c (struct stab_demangle_info): Add varargs field.
+       (stab_demangle_argtypes): Add pvarargs parameter.  Change all
+       callers.
+       (stab_demangle_args): Likewise.
+       (stab_demangle_type): In case 'F', pick up argument types.
+       * prdbg.c (pr_ellipsis_type): Remove.
+       (pr_function_type): Add argcount and varargs parameters.
+       (pr_method_type): Add varargs parameter.
+       * ieee.c (ieee_ellipsis_type): Remove.
+       (ieee_function_type): Add argcount and varargs parameters.
+       (ieee_method_type): Add varargs parameter.  Remove most of
+       function body, and just call ieee_function_type.
+
+       * stabs.c: Include "demangle.h".  Added several new static
+       functions not listed below to demangle argument types; they are
+       all called via stab_demangle_argtypes.
+       (finish_stab): If the kind of an undefined tag is
+       DEBUG_KIND_ILLEGAL, use DEBUG_KIND_STRUCT instead.  Warn if there
+       are any pending variable.
+       (parse_stab): Don't close the function when the block depth goes
+       to zero.  Pass value to debug_end_function.
+       (parse_stab_string): In case 'T', pass the name to
+       parse_stab_type.
+       (parse_stab_type): In case 'x', use stab_find_tagged_type.  In
+       case '#', handle functions with variable numbers of arguments.
+       (parse_stab_struct_type): Add tagname parameter.  Change all
+       callers.
+       (parse_stab_members): Add tagname and typenums parameters.  Change
+       all callers.  If the type of a method is a stub, call
+       parse_stab_argtypes to demangle the argument types and get the
+       physical name of the function.
+       (parse_stab_argtypes): New static function.
+       (stab_record_variable): For a DEBUG_GLOBAL or DEBUG_STATIC
+       variable, call debug_record_variable immediately.
+       (stab_find_tagged_type): New static function.
+
+       * debug.h (enum debug_type_kind): Add DEBUG_KIND_ILLEGAL.
+       (struct debug_write_fns): Add field ellipsis_type.  Add id
+       parameter to start_struct_type, start_class_type, and tag_type.
+       (debug_make_ellipsis_type): Declare.
+       (debug_find_named_type): Declare.
+       (debug_get_type_kind): Declare.
+       (debug_get_return_type): Declare.
+       (debug_get_parameter_types): Declare.
+       (debug_get_fields): Declare.
+       (debug_get_field_type): Declare.
+       * debug.c (struct debug_handle): Add fields class_id and base_id.
+       (struct debug_class_type): Add field id.
+       (struct debug_method_variant): Rename argtypes to physname.
+       Change all uses.
+       (debug_ellipsis_type): New static variable.
+       (ELLIPSIS_P): New macro.
+       (debug_make_ellipsis_type): New function.
+       (debug_make_method_variant): Rename argtypes to physname.
+       (debug_make_static_method_variant): Likewise.
+       (debug_name_type): Always put types in the global namespace.
+       (debug_find_named_type): New function.
+       (debug_find_tagged_type): Treat DEBUG_KIND_ILLEGAL specially,
+       rather than DEBUG_KIND_VOID.
+       (debug_get_real_type): New static function.
+       (debug_get_type_kind): New function.
+       (debug_get_return_type): New function.
+       (debug_get_parameter_types): New function.
+       (debug_get_fields): New function.
+       (debug_get_field_type): New function.
+       (debug_write): Initialize base_id.
+       (debug_write_type): Pass new id argument to tag_type.  Handle
+       DEBUG_KIND_ILLEGAL.  Use id for DEBUG_KIND_STRUCT and
+       DEBUG_KIND_UNION.  Handle ellipsis for method arguments.
+       (debug_write_class_type): Don't dereference kclass if it is NULL.
+       Use id.
+       * prdbg.c (pr_fns): Add pr_ellipsis_type.
+       (pr_ellipsis_type): New static function.
+       (pr_pointer_type): If this is a pointer to an array, parenthesize
+       it correctly.
+       (pr_start_struct_type): Add id parameter.
+       (pr_start_class_type): Likewise.
+       (pr_tag_type): Likewise.
+       (pr_fix_visibility): Add the visibility to the top of the stack,
+       not the second element on the stack.
+       (pr_struct_field): Pop the stack before calling pr_fix_visibility.
+       (pr_class_static_member): Likewise.
+       (pr_class_start_method): Don't push a type, just set the method
+       name in the type on the top of the stack.
+       (pr_class_end_method): Don't pop the stack.
+       (pr_class_method_variant): Rename argtypes parameter to physname.
+       Append const and volatile rather than prepending them.  Add a
+       space after the physname.
+       (pr_class_static_method_variant): Likewise.
+       * ieee.c (ieee_fns): Add ieee_ellipsis_type.
+       (ieee_define_named_type): Use DEBUG_KIND_ILLEGAL rather than
+       DEBUG_KIND_VOID.
+       (write_ieee_debugging_info): Likewise.
+       (ieee_typdef): Likewise.
+       (ieee_ellipsis_type): New static function.
+       (ieee_start_struct_type): Add id parameter.
+       (ieee_start_class_type): Likewise.
+       (ieee_tag_type): Likewise.
+       (ieee_class_method_variant): Rename name to physname.
+       (ieee_class_static_method_variant): Likewise.
+
+       * Makefile.in (DEBUG_OBJS): Remove prdbg.o.
+       ($(OBJDUMP_PROG)): Depend upon, and link against, prdbg.o.
+
+Thu Jan 18 17:35:06 1996  Kim Knuttila  <krk@cygnus.com>
+
+       * dlltool.c (make_tail): Changed the order of the sections to avoid
+       an alignment problem.
+
+Wed Jan 17 14:23:00 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * srconv.c (wr_du): Set du.stackfrmt to 0.
+       (wr_un, wr_sc): Emit all sections, even those with 0 size.
+
+Tue Jan 16 16:15:49 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+       * srconv.c (wr_hd): Space size within segment was being
+       stored in segment identifier field.
+
+Tue Jan 16 12:07:25 1996  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mpw-config.in (BUILD_NLMCONV, BUILD_SRCONV, SYSINFO_PROG,
+       BUILD_DLLTOOL): Put definitions for these into makefile when
+       configuring, instead of always clearing in mpw-make.sed.
+       * mpw-make.sed: Edit out any host_alias or target_alias settings,
+       fix pathname to BFD internal include files, remove dependency
+       calculation rules.
+
+Thu Jan 11 17:31:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * objdump.c (dump_section_header): Add new section flags
+       SEC_{EXCLUDE,SORT_ENTRIES}.
+
+Thu Jan 11 11:45:34 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * objcopy.c (filter_symbols): NULL terminate the output symbols.
+       (copy_object): Allocate space for a possible extra NULL pointer.
+
+       * debug.c (debug_make_undefined_tagged_type): Make sure we are
+       given a kind of type we can handle.
+       (debug_write_type): Handle undefined enums and structs.
+       (debug_write_class_type): Handle undefined classes.
+       * prdbg.c (pr_enum_type): Handle an undefined enum.
+       * ieee.c (ieee_enum_type): Likewise.
+
+Wed Jan 10 15:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in: Updated dependencies.
+       (ALLOCA, MALLOC): Remove variables.
+       (ADDL_LIBS): Remove $(MALLOC) from definition.
+       * alloca.c, gmalloc.c: Remove.
+
+Mon Jan  8 18:02:29 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ieee.c: Add global function write_ieee_debugging_info and a
+       bunch of static functions and structs used to write out IEEE
+       debugging information.
+       * budbg.h (write_ieee_debugging_info): Declare.
+
+       * ieee.c (struct ieee_type): Add pslot field.
+       (enum builtin_types): Define.
+       (ieee_builtin_type): For a pointer, return a pointer to the named
+       type.  Use enum values rather than numbers.
+       (ieee_alloc_type): New static function.
+       (ieee_read_type_index): Use ieee_alloc_type.
+       (parse_ieee_bb): Likewise.
+       (parse_ieee_ty): Likewise.  Use ieee_builtin_type for array range,
+       rather than making a new integer type.  Store the new type in the
+       slot, if there is one.
+       (parse_ieee_atn): Treat ATN10 as defining a register variable.
+       (ieee_regno_to_genreg): Rename from ieee_regno_to_gen.  Change all
+       callers.
+       (ieee_genreg_to_regno): New static function.
+
+       * stabs.c (parse_stab_type): Add new typename parameter.  Change
+       all callers.
+       (parse_stab_range_type): Add new typename parameter.  Change all
+       callers.
+
+       * debug.h (struct debug_write_fns): Add tag parameter to
+       enum_type, start_struct_type, and start_class_type.
+       * debug.c (debug_write_type): Pass any tag name to
+       start_struct_type, debug_write_class_type, and enum_type.  If
+       DEBUG_KIND_TAGGED, pass the name in the recursive call.
+       (debug_write_class_type): Accept a new tag parameter, and pass it
+       to start_class_type.
+       * prdbg.c (pop_type): Don't remove '+' character.
+       (pr_enum_type): Accept and use tag parameter.
+       (pr_start_struct_type): Likewise.
+       (pr_start_class_type): Likewise.
+       (pr_class_baseclass): Adjust algorithm used to find where to put
+       the baseclass name.
+       (pr_tag): Don't bother to insert the tag name.
+
+       * objcopy.c: Include budbg.h.
+       (convert_debugging): New static variable.
+       (OPTION_DEBUGGING): Define.
+       (copy_options): Add "debugging".
+       (copy_usage): Mention --debugging.
+       (is_strip_section): Skip debugging sections if convert_debugging.
+       (setup_section, copy_section): Likewise.
+       (filter_symbols): Skip debugging symbols if convert_debugging.
+       (copy_object): If convert_debugging, read and write debugging
+       information.
+       (write_debugging_info): New static function.
+       (copy_main): Handle --debugging.
+       * Makefile.in (DEBUG_OBJS): New variable.
+       ($(OBJCOPY_PROG)): Depend upon and link against $(DEBUG_OBJS).
+       ($(STRIP_PROG)): Likewise.
+       (OBJDUMP_OBJS): Remove variable.
+       ($(OBJDUMP_PROG)): Use objdump.o $(DEBUG_OBJS) rather than
+       $(OBJDUMP_OBJS).
+       * binutils.texi, objcopy.1: Document --debugging.
+
+Thu Jan  4 16:31:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ieee.c: New file with code to read IEEE debugging information.
+       * budbg.h (parse_ieee): Declare.
+       * rddbg.c (read_debugging_info): Handle IEEE flavour files.
+       (read_ieee_debugging_info): New static function.
+       * Makefile.in: Rebuild dependencies.
+       (CFILES): Add ieee.c.
+       (OBJDUMP_OBJS): Add ieee.o.
+
+       * bucomm.h (xrealloc): Change type of first parameter from char *
+       to PTR.
+
+Tue Jan  2 17:44:07 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in: Add targets to automatically rebuild dependencies.
+       Remove targets which just listed dependencies of .o files.
+       (DEP): New variable.
+       (HFILES, GENERATED_HFILES): New variables.
+       (CFILES, GENERATED_CFILES): New variables.
+       (underscore.c): Don't do anything, just depend upon stamp-under.
+       (stamp-under): New target; do what underscore.c used to do.
+       (nlmconv.o): Depend upon sym.h and ecoff.h.
+       (.dep, .dep1, dep.sed, dep, dep-in): New targets.
+       (stage1, stage2, stage3, against, comparison): Remove.
+       (de-stage1, de-stage2, de-stage3): Remove.
+       (clean, distclean): Remove stamp-under and dep.sed.
+       * dep-in.sed: New file.
+
+       Implement generic debugging support.  Implement a stabs reader and
+       a generic printer.
+       * budbg.h, debug.c, debug.h, prdbg.c, rddbg.c, stabs.c: New files.
+       * objdump.c: Include "debug.h" and "budbg.h".
+       (dump_debugging): New global variable.
+       (usage): Mention --debugging.
+       (long_options): Add "debugging".
+       (display_bfd): Handle --debugging.
+       * Makefile.in (OBJDUMP_OBJS): New variable.
+       ($(OBJDUMP_PROG)): Use $(OBJDUMP_OBJS).
+       * binutils.texi, objdump.1: Document --debugging.
+
+Sat Dec 30 09:59:51 1995  Jeffrey A Law  (law@cygnus.com)
+
+       * nm.c ( long_options): Add "--defined-only" option.
+       (usage): Update for new "--defined-only" option.
+       (filter_symbols): Handle "--defined-only".
+
+Fri Dec 29 16:04:56 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * arparse.y: Include "bucomm.h", not <sysdep.h>.
+       * nlmheader.y: Don't include "sysdep.h".
+
+Tue Dec 26 18:23:18 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * nm.c (print_symdef_entry): Check return value of
+       bfd_get_elt_at_index.
+
+Sat Dec 23 11:03:16 1995  Michael Meissner  <meissner@tiktok.cgynsu.com>
+
+       * configure.in (DLLTOOL_DEFS): Build dlltool for PowerPC if target
+       is powerpc*-*-win* in addition to powerpc*-*-*pe*.
+
+Fri Dec 15 16:30:57 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * objdump.c (endian_string): New static function.
+       (display_target_list): Use it.
+       * nlmconv.c (main): Use new bfd_big_endian macro.
+
+Fri Dec 15 07:51:34 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+       * dlltool.c (fill_ordinals): Start from 1 if no other instructions
+       given.
+
+Tue Dec 12 12:05:21 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in (clean): Remove $(DEMANGLER_PROG).1.  From Ronald
+       F. Guilmette <rfg@monkeys.com>.
+
+Mon Dec 11 14:33:05 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mac-binutils.r: Fix copyright and version strings.
+
+       * Makefile.in (version): Remove, no longer used.
+
+Fri Dec  1 14:41:56 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mpw-make.sed (install, install-only): Edit in Mac-specific
+       install procedure.
+
+Thu Nov 30 20:26:02 1995  Kim Knuttila  <krk@cygnus.com>
+
+       * dlltool.c (ppc_jtab): The binary glue for PowerPC dll linkage,
+       including the return instruction.
+       sinfo: added a preferred alignment field.
+       (secdata): section data for the PowerPC version.
+       (make_one_lib_file): More symbols, More sections (pdata, rdata)
+       (make_tail): Use idata$6 instead of idata$7 for ppc. Also added a 
+       NULL idata$3 descriptor (temporary).
+
+Tue Nov 28 17:23:44 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+       * dlltool.c (fill_ordinals): Don't reference d_export_vec if
+       there are no exported functions.
+
+Mon Nov 27 13:05:59 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure: Regenerate with autoconf 2.7.
+
+Wed Nov 22 13:17:15 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * dlltool.c (fill_ordinals): Start assigning ordinals at 1.
+
+       * Makefile.in (EXPECT): Use $$r, not $${rootme}.
+       (check): Set r, not rootme.
+
+Tue Nov 21 18:04:09 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Use BFD_NEED_DECLARATION.
+       * acconfig.h: Put NEED_DECLARATION_FPRINTF in @TOP@ section.
+       * configure, config.in: Rebuild with autoconf 2.6.
+
+Fri Nov 17 10:34:37 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
+       $(host_canonical) and $(target_canonical).
+
+Thu Nov 16 03:39:20 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+       Version 2.6 released.
+       * Makefile.in (VERSION): Update to 2.6.
+
+Wed Nov 15 12:14:17 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.in (CC_FOR_TARGET): Define.
+       (check): Pass CC and CFLAGS to runtest.
+
+       * nm.c (display_rel_file): Don't require a DYNAMIC object when
+       dumping the dynamic symbol table.
+
+       * objdump.c (compare_symbols): Sort global symbols before local
+       symbols before debugging symbols.
+       (objdump_print_address): Don't futz around looking for a global
+       symbol with the same value.
+
+Tue Nov 14 17:19:11 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * dlltool.c: Use FOPEN_* macros rather than "r" or "w".
+
+       * dlltool.c (fill_ordinals): Correct memset call.
+
+Sun Nov 12 12:56:05 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+       * mpw-make.sed (DEMANGLER_PROG): Edit out attempts to do anything
+       with the man page.
+
+Fri Nov 10 11:41:22 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * objcopy.c (setup_section): Copy the section lma independently of
+       the vma.
+
+Wed Nov  8 11:33:00 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * arsup.c (ar_open): Cast malloc return value.
+
+Tue Nov  7 09:01:26 1995  Kim Knuttila  <krk@cygnus.com>
+
+       * configure.in, configure (DLLTOOL_DEFS): Added ppc target.
+       * dlltool.c (MPPC): Added basic PPC definitions.
+
+Tue Nov  7 14:02:57 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Don't treat rs6000-*-lynx* specially.
+       * configure: Rebuild.
+       * config/rslynx: Remove.
+       * Makefile.in: Remove @target_makefile_fragment@.
+
 Mon Nov  6 15:00:50 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        * bucomm.h: Include <sys/types.h>.
This page took 0.028698 seconds and 4 git commands to generate.