* ecoff.c (ecoff_swap_tir_in): Change input argument to const.
[binutils-gdb.git] / bfd / ChangeLog
index 8aab28848cf829cd42cacc37196a3442f7365202..f169f3db3ecc5901bbaecd8da18e47d844a1e7a8 100644 (file)
@@ -1,3 +1,235 @@
+Mon Jun 20 11:06:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       * ecoff.c (ecoff_swap_tir_in): Change input argument to const.
+       (ecoff_swap_tir_out): Likewise.
+       (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
+       (ecoff_slurp_symbolic_info): Add new arguments to correspond to
+       read_debug_info entry point in ecoff_debug_swap structure.
+       Change all calls.
+       * libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
+       * ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
+       (ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize new
+       ecoff_debug_swap fields.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+       * elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
+       (mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
+       fields.
+       * configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
+       ecofflink.o.
+       (bfd_elf32_littlemips_vec): Likewise.
+       (ecoff_big_vec, ecoff_little_vec): Likewise.
+       (ecoffalpha_little_vec): Likewise.
+       * Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
+       (BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
+
+       * aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
+       when computing reloc sizes.  From Eric Youngdale
+       <ericy@cais.cais.com>.
+       * elfcode.h (elf_bfd_final_link): Don't try to compute maximum
+       reloc count or size for a non-ELF file.
+
+       * mipsbsd.c (MY_final_link_callback): Define to avoid warning.
+
+       * hp300hpux.c (MY_final_link_callback): Define to avoid warning.
+       (BMAGIC, QMAGIC): Define; used by aoutx.h.
+       (MY(slurp_symbol_table)): Change translate_from_native_sym_flags
+       calls to use new parameters.
+
+Fri Jun 17 14:45:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aout-target.h (MY(callback)): Set the alignments of the text,
+       data and bss sections after determining the architecture.
+
+       * sunos.c (sunos_add_one_symbol): Treat a common symbol from a
+       dynamic object as being in the .bss section of the object, rather
+       than as being undefined.
+
+Fri Jun 17 11:16:50 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
+
+       * elf32-hppa.h (elf_hppa_final_processing): Delete decl.
+
+Thu Jun 16 23:36:23 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * elfcode.h (elf_link_input_bfd): Don't try to read local symbols
+       if there aren't any in the input file.
+
+Thu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
+
+       * i386linux.c: Many new functions and definitions for linker
+       support for Linux shared libraries.
+       * bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
+       * bfd-in2.h: Rebuild.
+
+Thu Jun 16 14:23:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * config.bfd: If second argument is ``_'', then, instead of
+       echoing config file name, echo whether target uses leading
+       underscores on symbol names.  Add appropriate settings to
+       different cases.  Used by binutils/configure.in to set default for
+       c++filt.
+
+       * elfcode.h (elf_bfd_final_link): If trying to generate a shared
+       object, warn and return false.
+
+       * aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
+       and treat them as OMAGIC.
+
+Wed Jun 15 18:02:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       Enable sparc v9 support for release.  Note that this is still a
+       work in progress, pending release of an ABI specification.
+       * config.bfd, configure.in: Include sparc v9 elf config.
+       * elfcode.h (prep_headers): Handle sparc v9 (64 bit).
+       * reloc.c (bfd_reloc_code_real): New reloc types.
+       * elf64-sparc.c: Implement elf64-sparc target.
+       * Makefile.in, targets.c: Updated.
+
+Wed Jun 15 01:34:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * libelf.h (struct elf_obj_tdata): New field dt_needed_name.
+       (elf_dt_needed_name): New accessor macro.
+       * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
+       is set, use that instead of the filename for the DT_NEEDED dynamic
+       entry.
+       * elf.c (bfd_elf_set_dt_needed_name): New function.
+       * bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
+       * bfd-in2.h: Rebuilt.
+
+       * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
+       argument, and set it to the .interp section.
+       * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
+       (bfd_elf64_size_dynamic_sections): Likewise.
+       * bfd-in2.h: Rebuilt.
+
+       * coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
+       field of the reloc rather than letting it be garbage.
+
+       * archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
+       __.SYMDEF; the former was used in old Linux archives.  From
+       jrs@world.std.com (Rick Sladkey).
+
+       * i386linux.c (i386linux_write_object_contents): Define; like
+       MY(write_object_contents) in aout-target.h, but set MACHTYPE to
+       M_386.  From jrs@world.std.com (Rick Sladkey).
+       (MY_write_object_contents): Define.
+
+       * aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
+       as N_DATA symbols.
+       (aout_link_add_symbols): Likewise.
+
+       * aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
+       tables.
+       (struct stringtab_entry, struct stringtab_data): Remove.
+       (HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
+       (struct strtab_hash_entry, struct strtab_hash): Define.
+       (strtab_hash_newfunc, strtab_hash_lookup): Define.
+       (stringtab_free, emit_stringtab): Define.
+       (stringtab_init, add_to_stringtab): Rewrite.
+       (NAME(aout,write_syms)): Use new stringtab code.
+       (struct aout_final_link_info, NAME(aout,final_link)): Likewise.
+       (aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
+
+       * bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
+       request BFD to write object in the traditional format, whatever
+       that means for the particular backend.
+       * bfd-in2.h: Rebuilt.
+
+       * hash.c (bfd_hash_allocate): If obstack_alloc fails, set
+       bfd_error_no_memory.
+
+Tue Jun 14 13:00:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * libaout.h (struct aoutdata): Add q_magic_format to subformat
+       enum.
+       * aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
+       if not already defined.  Copy subformat information.
+       (MY_text_includes_header): Define as 0 if not already defined.
+       (MY(backend_data)): Use MY_text_includes_header rather than 0.
+       (MY_final_link_callback): Rename from final_link_callback, and
+       define only if MY_final_link_callback is not already defined.
+       (MY_bfd_final_link): Rename use of final_link_callback to
+       MY_final_link_callback.
+       * aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
+       ZMAGIC, but set the subformat to q_magic_format.  Abort if the
+       magic number if not recognized.
+       (adjust_z_magic): Use QMAGIC if q_magic_format.
+       * i386linux.c (MY_text_includes_header): Define as 1.
+       (i386linux_bfd_final_link): New static function.
+       (MY_bfd_final_link): Define as i386linux_bfd_final_link.
+
+       * aoutx.h (translate_to_native_sym_flags): Check both section and
+       output_section against sections of abfd.
+
+       * libecoff.h (struct ecoff_link_hash_entry): Change type of
+       written from boolean to char.  Add new field small.
+       * ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
+       rather than false.  Initialize small to 0.
+       (ecoff_link_add_externals): If ECOFF type is scSUndefined, set
+       small.  If small is set, and hash table type is common, force the
+       symbol into a section named SCOMMON and change the ECOFF type from
+       scCommon to scSCommon.
+       (ecoff_link_write_external): Set written to 1 rather than true.
+       * coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
+       overflow check to consider section VMA of input file.
+
+Mon Jun 13 14:20:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
+       machine type of 68000.
+       * aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
+       Set *unknown to true if machine type is really unknown, as opposed
+       to M_UNKNOWN for the 68000.
+       (NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
+       accordingly.
+       * libaout.h (NAME(aout,machine_type)): Add new argument to
+       prototype.
+
+Sun Jun 12 20:21:03 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+       * som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
+       or HIUX_AUX_ID.
+       (som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
+       (som_write_armap): Use CPU_PA_RISC1_0 as the magic number.  Note
+       som.c is careful to always define CPU_PA_RISC1_0.
+
+Sat Jun 11 16:32:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Add weak symbols as an extension to a.out.
+       * aoutx.h (sym_in_text_section): Don't define.
+       (sym_in_data_section, sym_in_bss_section): Likewise.
+       (sym_is_undefined, sym_is_global_defn): Likewise.
+       (sym_is_debugger_info, sym_is_fortrancommon): Likewise.
+       (sym_is_absolute, sym_is_indirect): Likewise.
+       (translate_from_native_sym_flags): Rewrite for clarity.  Rearrange
+       arguments and change caller.  Handle weak symbols.
+       (translate_to_native_sym_flags): Likewise.
+       (aout_link_check_ar_symbols): Don't ignore weak symbols.  Pull
+       object in from archive if a weak defintion is found for an
+       existing undefined symbol.
+       (aout_link_add_symbols): Put all cases in switch.  Set flags of an
+       undefined symbol to 0.  Handle weak symbols.
+       (aout_link_write_symbols): Handle weak symbols.
+       (aout_link_write_other_symbol): Likewise.
+       (aout_link_input_section_std): Likewise.
+       (aout_link_input_section_ext): Likewise.
+       * sunos.c (sunos_write_dynamic_symbol): Likewise.
+
+Fri Jun 10 13:25:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
+       (NAME(aout,get_reloc_upper_bound)): Likewise.
+
+       * coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
+       * linker.c (_bfd_generic_link_write_global_symbol): Don't assume
+       the section of a common symbol is not NULL.
+
+Wed Jun  8 23:15:53 1994  Stu Grossman  (grossman@cygnus.com)
+
+       * nlmcode.h (nlm_object_p):  Set EXEC_P and start address for GDB.
+
 Wed Jun  8 23:57:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * aoutx.h (aout_get_external_symbols): Don't try to read the