* configure: Rebuild with autoconf 2.10.
[binutils-gdb.git] / bfd / ChangeLog
index 2d2d303de878d923a51ca6d09699014171a1cdd8..6a9bc04295e46a0735fe156ccbd7826864a35568 100644 (file)
@@ -1,3 +1,423 @@
+Tue May 28 11:42:08 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure: Rebuild with autoconf 2.10.
+
+       * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
+       potential leading underscore in the allocated buffer.
+
+Fri May 24 14:28:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
+       symbols into .sbss if this is a relocatable link.
+
+Thu May 23 12:26:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
+       undefined symbols when creating a shared library.
+
+Fri May 17 13:54:15 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-sh.c: Add a bunch of new code and static const arrays to
+       support aligning loads and stores on four byte memory boundaries.
+       Also:
+       (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
+       R_SH_LABEL.
+       (sh_relax_section): Look for R_SH_CODE relocs.  If we find one,
+       call sh_align_loads.
+       (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
+       as unused.
+
+Thu May 16 16:34:13 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * cache.c (bfd_open_file): Unlink the file before opening it for
+       write.  From Marty Leisner <leisner@sdsp.mc.xerox.com>.
+
+       * opncls.c (bfd_fdopenr): Set opened_once.
+
+Tue May 14 12:35:32 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * som.c (som_slurp_reloc_table): Clear external_relocs cache after
+       freeing it.
+
+       * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
+       the code unconditionally.
+
+Mon May 13 19:51:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libcoff-in.h (struct pei_section_tdata): Define structure.
+       (pei_section_data): Define macro.
+       * libcoff.h: Rebuild.
+       * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
+       store s_paddr field in pei_section_data.
+       (coff_compute_section_file_positions): Use pei_section_data rather
+       than _cooked_size, and don't overwrite an existing value.
+       (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
+       0.  If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
+       * peicode.h (coff_bfd_copy_private_section_data): Define if
+       COFF_IMAGE_WITH_PE.
+       (pe_bfd_copy_private_section_data): New static function if
+       COFF_IMAGE_WITH_PE.
+
+Wed May  8 16:10:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * srec.c (srec_set_arch_mach): Write as a function rather than a
+       macro definition.
+
+       * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
+       no map, just check each member in turn to see whether it is
+       required.
+
+Wed May  8 09:17:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
+       table.  Call BFD_ASSERT to validate header size, instead of
+       calling fatal.
+       (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
+       name.
+
+Tue May  7 16:10:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * ppcboot.c: New target for looking at PPCbug boot records.
+
+       * config{ure.in,.bfd}: Add support for ppcboot target.
+       * targets.c: Ditto.
+       * configure: Regenerate.
+               
+Tue May  7 11:15:19 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * coff-h8300.c (howto_table): Update names to match recent
+       changes to include/coff/internal.h.  Fix minor errors in the
+       existing relocs.  Add R_MOVL1 and R_MOVL2.
+       (rtype2howto): Similarly.
+       (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
+       existing relaxing code  and peform more relaxing.
+       (h8300_reloc16_extra_cases): Likewise.
+
+Mon May  6 18:24:09 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * reloc16.c (bfd_coff_reloc16_get_value): Handle common
+       symbols correctly.
+
+Sat May  4 05:08:45 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * elfcode.h (elf_object_p):  Reject generic ELF target if
+       e_machine matches an alternate machine code in a specific backend.
+
+       * netbsd-core.c (netbsd_core_vec):  Remove initializer for
+       obsolete align_power_min field.
+
+Fri May  3 13:07:35 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * coff-h8300.c (reloc_howto_type): Add howto entry for
+       R_PCRWORD_B.
+       (rtype2howto): Handle R_PCRWORD_B.
+       (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
+       (h8300_reloc_16_estimate): Likewise.  Try to turn a 16bit
+       pc-relative branch (R_PCRWORD) into an 8bit pc-relative
+       branch (R_PCWORD_B).
+
+Fri May  3 10:47:41 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (translate_from_native_sym_flags): Set the section for
+       BSF_CONSTRUCTOR symbols.
+
+       * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
+       last_bf_index.
+
+Wed May  1 18:39:32 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * coffcode.h (coff_write_object_contents): In comdat section lookup,
+       stop looking when section is found.
+
+Wed May  1 14:17:57 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffcode.h (STRING_SIZE_SIZE): Define.
+       (styp_to_sec_flags): Handle long symbol names when looking for the
+       section symbol.
+       (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
+       (bfd_coff_long_section_names): Define.
+       (coff_write_object_contents): Handle long section names.
+       (bfd_coff_std_swap_table): Initialize new field.
+       * libcoff.h: Rebuild.
+       * coffgen.c (make_a_section_from_file): Handle long section
+       names.
+       (coff_write_symbols): Handle long section names.
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+       * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
+       * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
+       * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
+       * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
+       * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
+       * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
+
+       * bout.c (b_out_callback): Set lma of sections.
+       (b_out_bfd_get_relocated_section_contents): Rename in_abfd
+       parameter to output_bfd.  Used input_bfd instead of output_bfd in
+       several places.
+
+Tue Apr 30 17:56:39 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (translate_from_native_sym_flags): Don't create
+       SEC_CONSTRUCTOR sections.
+       * ecoff.c (ecoff_set_symbol_info): Likewise.
+
+       * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
+       From Don Bowman <bowman@waterloo.hp.com>.
+
+Tue Apr 30 17:06:32 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
+       SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
+
+Mon Apr 29 13:15:17 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (struct mips_elf_link_hash_entry): Add
+       mips_32_relocs field.
+       (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
+       (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
+       relocs against a global symbol which is not defined in a regular
+       file.
+       (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
+       against a global symbol, increment mips_32_relocs.
+       (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
+       the symbol is not defined in a regular file, make room in the
+       .rel.dyn section.
+
+Fri Apr 26 18:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ecoff.c (ecoff_compute_section_file_positions): Track the real
+       file position and the virtual file position separately.  Set
+       filepos information bsaed on the real file position.
+       (_bfd_ecoff_set_section_contents): Handle .lib sections like the
+       Jan 23 change to coffcode.h.
+
+       * som.c (som_slurp_symbol_table): Set the symbol count to the
+       number of BFD symbols created.
+
+Fri Apr 26 12:34:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
+       output file if linking shared objects.  Loop to check all relocs,
+       rather than returning false on first error.
+
+Thu Apr 25 13:25:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
+       (ppc_elf_additional_program_headers): If .interp section, bump #
+       of program headers by 1.
+       (ppc_elf_adjust_dynamic_symbol): Flesh out support.
+       (ppc_elf_size_dynamic_sections): Add support for .plt section.
+       (ppc_elf_check_relocs): Print out filename in debug code.  Enable
+       PLT support.
+       (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
+       debug output.
+       (ppc_elf_relocate_section): If the output section isn't defined,
+       don't abort, just give an error message.
+
+       * elflink.c (_bfd_elf_create_dynamic_sections): If the section
+       being created is .sdata or .sdata2, don't make the symbol dynamic.
+
+Wed Apr 24 14:04:07 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
+       members of an archive for dynamic objects with no symbols, and
+       pass them directly to check_archive_element.
+       (xcoff_link_check_ar_symbols): Pass dynamic objects to
+       xcoff_link_check_dynamic_ar_symbols.
+       (xcoff_link_check_dynamic_ar_symbols): New static function.
+
+       * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
+       from _bfd_nodynamic to _bfd_xcoff.
+       * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
+       Declare.
+       (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
+       (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
+       (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
+       * libcoff.h: Rebuild.
+       * xcofflink.c (xcoff_swap_ldrel_in): New static function.
+       (xcoff_get_section_contents): New static function.
+       (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
+       (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
+       (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
+       (xcoff_dynamic_reloc): New static variable.
+       (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
+       (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
+       
+Tue Apr 23 12:48:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
+       if reloc_entry->addend is not 0.
+       (CALC_ADDEND): Just set the addend to reloc.r_offset.
+
+Mon Apr 22 18:29:01 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
+       R_SPARC_GLOB_JMP.
+       * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
+       Add entries for R_SPARC_[56].
+       (sparc_reloc_map): Add entries for R_SPARC_[56].
+
+Mon Apr 22 15:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Optimize linking of stabs in sections as used in ELF and COFF.
+       * stabs.c: New file.
+       * libbfd-in.h (_bfd_link_section_stabs): Declare.
+       (_bfd_write_section_stabs): Declare.
+       (_bfd_write_stab_strings): Declare.
+       * libbfd.h: Rebuild.
+       * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
+       (struct coff_link_hash_table): Add stab_info field.
+       * libcoff.h: Rebuild.
+       * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
+       stab_info field.
+       (coff_link_add_symbols): Call _bfd_link_section_stabs if
+       appropriate.
+       (_bfd_coff_final_link): Write out stab strings hash table.
+       (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
+       * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
+       hash table.
+       * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
+       (struct bfd_elf_section_data): Add stab_info field.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
+       field.
+       * elflink.h (elf_link_add_object_symbols): If appropriate, call
+       _bfd_link_section_stabs.
+       (elf_bfd_final_link): Write out stab strings hash table.
+       (elf_link_input_bfd): Handle optimized stabs sections.
+       * reloc.c (_bfd_final_link_relocate): Check address against
+       _raw_size rather than _cooked_size.
+       * Makefile.in: Rebuild dependencies.
+       (BFD_LIBS): Add stabs.o
+       (BFD_LIBS_CFILES): Add stabs.c.
+
+       * VERSION: Increment for bfdlink.h change.
+
+       * coffgen.c (coff_renumber_symbols): Correct handling of
+       BSF_NOT_AT_END common symbols.
+
+Fri Apr 19 19:21:56 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-ppc.c (record_toc): Add cast to avoid warning.
+       (ppc_allocate_toc_section): Likewise.
+       (coff_ppc_relocate_section): Remove ANSI C string concatenation.
+       (ppc_coff_reloc_type_lookup): Remove unreached code.
+       * coffcode.h (coff_write_object_contents): Don't take the address
+       of an array.
+       * peicode.h (pe_print_idata): Add casts to avoid warning.
+       (pe_print_edata): Likewise.
+       (pe_print_reloc): Remove ANSI C string concatenation.
+
+Thu Apr 18 18:51:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
+       and last_bf fields.
+       * libcoff.h: Rebuild.
+       * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
+       symbols.
+       (coff_swap_aux_out): Likewise.
+       * peicode.h (coff_swap_aux_in): Likewise.
+       (coff_swap_aux_out): Likewise.
+       * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
+       symbols.
+       * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
+       field.
+       (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
+       Fix up .bf endndx link fields.
+       * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
+       field.
+       * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
+       symbols.
+
+Wed Apr 17 12:08:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
+       on Solaris PowerPC systems doesn't get confused.
+
+       * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
+       #ifdef PPC.
+
+       * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
+       (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
+       update did_reg and did_reg2.
+
+Wed Apr 17 13:07:37 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
+
+       * linker.c (_bfd_generic_link_add_one_symbol): When calling the
+       callback routines, pass h->root.string rather than name, in case
+       copy is true and name is transient.
+
+Tue Apr 16 16:36:38 1996  Stu Grossman  (grossman@lisa.cygnus.com)
+
+       * elfcore.h:  Add support for core files with multiple threads.
+       (Primarily for Solaris.)
+
+Tue Apr 16 13:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
+       section->orelocation is NULL.
+
+       * coffgen.c (bfd_coff_get_syment): New function.
+       (bfd_coff_get_auxent): New function.
+       * bfd-in.h (bfd_coff_get_syment): Declare.
+       (bfd_coff_get_auxent): Declare.
+       * bfd-in2.h: Rebuild.
+
+Mon Apr 15 19:06:59 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (struct mips_hi16): Define.
+       (mips_hi16_addr, mips_hi16_addend): Remove.
+       (mips_hi16_list): New static variable.
+       (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
+       (mips_elf_lo16_reloc): Process mips_hi16_list.
+       (mips_elf_relocate_section): Permit an arbitrary number of HI16
+       relocs before the associated LO16 reloc.
+
+Wed Apr 10 00:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * versados.c (versados_scan): Check bfd_alloc return value.
+       (versados_object_p): Check all bfd_read return values.  Require
+       that lang field be less than 10, to avoid confusion with Intel Hex
+       files.
+
+       * libaout.h (WRITE_HEADERS): Write out the relocs even if there
+       aren't any symbols.
+       * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
+       not 0, for an absolute symbol.
+       (NAME(aout,swap_ext_reloc_out)): Likewise.
+
+       * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
+       (ihex_write_object_contents): For a large start address, output
+       the full 32 bit address in record type 5.
+
+       * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
+       to int to avoid promotion problems in prototype.
+
+Tue Apr  9 11:44:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.host: Use ${srcdir} when looking for picfrag.
+
+       * configure.host: Switch on ${libdir}, not $(libdir).  From
+       alan@spri.levels.unisa.edu.au (Alan Modra).
+
+       * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
+       entry point, not just for DYNAMIC objects.
+       * sunos.c (sunos_add_dynamic_symbols): Always call
+       sunos_create_dynamic_sections.  If called with a non DYNAMIC
+       object, don't do anything else.
+       (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
+
+Mon Apr  8 12:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Permit --enable-shared to specify a list of
+       directories.
+       * configure: Rebuild.
+
+       * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
+       host when configuring with --enable-shard.
+
 Fri Apr  5 12:24:13 1996  Ian Lance Taylor  <ian@cygnus.com>
 
        * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra