* configure.in: Check for --enable-shared. Substitute new
[deliverable/binutils-gdb.git] / binutils / ChangeLog
index 10b78df83e83e3465314c7e201e2806d3028b102..fecff7d7af89a4c1f98bf22d76189bed0be3e8b6 100644 (file)
@@ -1,3 +1,329 @@
+Wed Feb  7 14:17:45 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Check for --enable-shared.  Substitute new
+       variables BFDLIB and OPCODES.
+       * configure: Rebuild.
+       * Makefile.in (BFDLIB): Set to @BFDLIB@.
+       (OPCODES): Set to @OPCODES@.
+
+Mon Feb  5 16:18:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Support for building bfd and opcodes as shared libraries, based on
+       patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
+       * configure.in (HLDFLAGS): New substitution.
+       * configure: Rebuild.
+       * Makefile.in (HLDFLAGS): New variable.  Make all links use
+       $(HLDFLAGS) before $(CFLAGS) and $(LDFLAGS).
+       (BFDLIB_DEP): New variable.  Replace all occurrences of $(BFD) as
+       a dependency with $(BFDLIB_DEP).  Remove $(BFD) as a dependency if
+       there is also a dependency on $(ADDL_DEPS).
+       (BFDLIB): Rename from BFD; change all uses; set to -L../bfd -lbfd.
+       (OPCODES_DEP): New variable.  Replace all occurrends of $(OPCODES)
+       as a dependency with $(OPCODES_DEP).
+       (OPCODES): Set to -L../opcodes -lopcodes.
+       (ADDL_DEPS): New variable.  Replace all occurrences of
+       $(ADDL_LIBS) as a dependency with $(ADDL_DEPS).
+       (check): Set LD_LIBRARY_PATH in the environment.
+       (config.status): Depend upon BFD configure.host and config.bfd.
+
+Fri Feb  2 17:02:59 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       * objdump.c: #include stdarg.h or varargs.h.
+       (objdump_print_value): Change FILE* arg to struct disassemble_info*.
+       All callers updated.  Use fprintf_func.
+       (objdump_print_address): Consistently use fprintf_func.
+       (objdump_sprintf): New function.
+       (disassemble_data): Print insn into a buffer, print raw insn ourselves,
+       then print insn mnemonic.
+
+Fri Feb  2 16:48:55 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure: Regenerate.
+
+Thu Feb  1 09:38:18 1996  Steve Chamberlain  <sac@slash.cygnus.com>
+
+       * configure.in (i[3-6]86-*-win32): Becomes i[3-6]86-*-cygwin32.
+       (powerpc*-*-cygwin32): New.
+       * configure: Regenerated.
+
+Wed Jan 31 13:22:03 1996  Richard Henderson  <rth@tamu.edu>
+
+       * Makefile.in (distclean): Remove $(DEMANGLER_PROG).1.
+
+Mon Jan 29 17:36:29 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Based on patches from H J Lu <hjl@zoom.com>:
+       * objcopy.c (remove_leading_char): New static variable.
+       (OPTION_REMOVE_LEADING_CHAR): Define.
+       (copy_usage): Mention --remove-leading-char.
+       (filter_symbols): If remove_leading_char, and the first character
+       of a global symbol matches the symbol leading char of the BFD,
+       remove the first character.
+       (copy_object): Filter the symbols if remove_leading_char is set.
+       (copy_main): Handle --remove-leading-char.
+       * binutils.texi, objcopy.1: Document --remove-leading-char.
+
+Sat Jan 27 15:40:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * objdump.c (fprintf): Add prototype to avoid compiler warning on
+       SunOS.
+
+Fri Jan 26 11:53:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * binutils.texi (nm): Improve documentation on symbol types.
+       (objdump): Reference the stabs manual from the discussion of the
+       --stabs option.
+
+Thu Jan 25 11:21:46 1996  Raymond Jou  <rjou@mexican.cygnus.com>
+
+       * mpw-make.sed: Add a "stamps" target.
+
+Thu Jan 25 13:51:44 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * objdump.c (dump_headers, dump_section_header): Change objdump -h
+       output to be simpler and to include section file offsets.
+
+Wed Jan 24 12:06:05 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * stabs.c (parse_stab_members): Don't adjust voffset.
+
+       * ieee.c (ieee_read_cxx_class): Don't multiply voffset by 4.
+       (struct ieee_write_type): Add name field.
+       (struct ieee_type_class): Remove name field.  Change all uses to
+       use new name field in type instead.
+       (struct ieee_name_type): Likewise.
+       (ieee_start_struct_type): Initialize name field of type.
+       (ieee_start_class_type): Don't initialize classdef entry of tag.
+       (ieee_class_method_var): Don't adjust voffset.
+       (ieee_end_class_type): Likewise.
+       (ieee_tag_type): Initialize new name field of type.
+       (ieee_typdef): Set name after copying in type information.
+
+       * debug.c (VOFFSET_STATIC_METHOD): Define as -1, not 1.
+
+       * ieee.c (struct ieee_modified_type): Define.
+       (struct ieee_handle): Add modified and modified_alloc fields.
+       (ieee_get_modified_info): New static function.
+       (ieee_pointer_type): Cache type index.
+       (ieee_const_type): Likewise.
+       (ieee_volatile_type): Likewise.
+
+       * ieee.c (ieee_define_named_type): When creating a tag for an
+       anonymous struct, copy the name into memory.
+       (ieee_tag_type): Likewise.
+       * debug.c (debug_write_type): Only check and set id field for an
+       unnamed object.
+       (debug_write_class_type): Likewise.
+
+       * ieee.c: Various changes to write out types for functions and
+       references, and to not write out unnecessary function types.
+
+       * ieee.c (struct ieee_var): Remove variable field.  Add kind
+       field, and define some enum constants for it.
+       (parse_ieee_ty): Set kind field of variable for 'x' and 'X' types.
+       (parse_ieee_atn): Make an indirect slot for an external variable,
+       although we otherwise don't record it.  Set kind field rather than
+       variable field of pvar.
+       (ieee_read_cxx_class): Try to get the type of a static member.
+       (ieee_read_reference): Check kind field rather than variable
+       field.
+
+Tue Jan 23 15:54:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ieee.c: Various changes to handle reading C++ reference type
+       information.
+
+       * debug.h (enum debug_var_kind): Add DEBUG_VAR_ILLEGAL.
+       (enum debug_parm_kind): Add DEBUG_PARM_ILLEGAL.
+       * debug.c (debug_get_parameter_types): Handle DEBUG_KIND_FUNCTION.
+
+       * ieee.c: Various changes to write out definitions of C++ classes.
+
+       * debug.c (debug_append_filename): Remove.
+       * debug.h (debug_append_filename): Don't declare.
+
+       * stabs.c (struct stab_handle): Remove last_type field.  Add
+       so_string and so_value fields.
+       (finish_stab): Call stab_emit_pending_vars before calling
+       debug_end_function.  Don't warn about pending variables.
+       (parse_stab): Accumulate N_SO strings until a non N_SO symbol is
+       seen, rather than calling debug_append_filename.  Call
+       stab_emit_pending_vars before calling debug_end_function.  Don't
+       set info->last_type.
+
+Tue Jan 23 09:53:54 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       * objdump.c (disassemble_data): Handle unknown endianness.
+       Pass fprintf to INIT_DISASSEMBLE_INFO.
+
+Mon Jan 22 16:46:43 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+       Add new option --show-raw-insn.
+       * objdump.c (show_raw_insn): New global.
+       (usage): Update.
+       (long_options): Update.
+       (disassemble_data): Set disasm_info.flags if --show-raw-insn.
+
+       * objdump.c (disassemble_data): Set new arch,mach,endian fields in
+       disasm_info.
+
+Mon Jan 22 19:29:36 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ieee.c: Extensive changes to pass a single info argument around
+       in the reading routines, rather than several arguments.  Add code
+       to read C++ debugging records.
+
+       * debug.h (debug_get_type_size): Declare.
+       (debug_get_field_name): Declare.
+       (debug_get_field_bitpos): Declare.
+       (debug_get_field_bitsize): Declare.
+       (debug_get_field_visibility): Declare.
+       (debug_get_field_physname): Declare.
+       * debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.
+       (debug_get_type_size): New function.
+       (debug_get_field_name): New function.
+       (debug_get_field_bitpos): New function.
+       (debug_get_field_bitsize): New function.
+       (debug_get_field_visibility): New function.
+       (debug_get_field_physname): New function.
+       (debug_write_type): Make sure we pass the real kind, not INDIRECT,
+       to tag_type.  Pass the name recursively for INDIRECT.
+
+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.
@@ -174,7 +500,7 @@ Fri Dec 15 16:30:57 1995  Ian Lance Taylor  <ian@cygnus.com>
 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.
+       given.
 
 Tue Dec 12 12:05:21 1995  Ian Lance Taylor  <ian@cygnus.com>
 
This page took 0.025968 seconds and 4 git commands to generate.