* archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
[binutils-gdb.git] / bfd / ChangeLog
index ee4b58bacfae9f7529d2905361d79791fe8faa27..ee383f1f82b03fca85c9ec7bf2c5b686279d1aa4 100644 (file)
@@ -1,3 +1,337 @@
+Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf32-mips.c (mips_elf_relocate_section): Do not complain about
+       an out of range pc-relative jump/call to an undefined weak symbol.
+
+Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp 
+       comparisons signed.
+
+Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
+       an error other than bfd_error_system_call, set the error to
+       bfd_error_wrong_format.
+
+       * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
+       bfd_elf32_powerpcle_vec.
+
+       * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
+       program segments are zero, don't set p_paddr_valid.
+
+Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c: Initial implementation of relaxation --
+       (struct alpha_elf_link_hash_entry): Add use_count member.
+       (elf64_alpha_check_relocs): Initialize and increment it.
+       (elf64_alpha_can_merge_gots): Check it when considering merging.
+       (elf64_alpha_merge_gots): Drop entries with zero use.
+       (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
+       (elf64_alpha_always_size_sections): Split out got sizing ...
+       (elf64_alpha_size_got_sections): ... here.  New function.
+       (elf64_alpha_relax_find_reloc_ofs): New function.
+       (elf64_alpha_relax_with_lituse): Likewise.
+       (elf64_alpha_relax_without_lituse): Likewise.
+       (elf64_alpha_relax_opt_call): Likewise.
+       (elf64_alpha_relax_section): Likewise.
+       (elf64_alpha_add_symbol_hook): Likewise.
+       (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
+       (elf64_alpha_relocate_section): Likewise.
+       (bfd_elf64_bfd_relax_section): Define.
+       (elf_backend_add_symbol_hook): Likewise.
+
+Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
+       * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
+       (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
+
+Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
+       * configure: Rebuild.
+
+Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
+       (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
+       * configure.in: Define and substitute WIN32LDFLAGS and
+       WIN32LIBADD.
+       * aclocal.m4: Rebuild with new libtool.
+       * configure, Makefile.in: Rebuild.
+
+Fri Apr 10 13:44:27 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
+       before any other symbols in the same section.
+
+Wed Apr  8 14:50:23 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
+       systems.
+
+Tue Apr  7 16:25:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * dwarf2.c (comp_unit): Move it earlier in the source. Add
+       addr_size.
+       (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
+        Use addr_size for address size, rather than sizeof(bfd_vma).
+       (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
+       Fix call to read_address.
+       (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
+       Scrap other unneeded arguments.  Fix call to read_address.
+       (scan_unit_for_functions): Fix call to read_attribute.
+       (parse_comp_unit): We now handle more values for addr_size.
+       Set addr_size in unit.  Fix call to read_attribute and
+       decode_line_info.
+
+Tue Apr  7 15:44:47 1998  Gavin Romig-Koch <gavin@cygnus.com>
+
+       * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
+
+Tue Apr  7 12:35:18 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * archures.c (bfd_default_scan): Add m68k cases back to default
+       switch, reverting patch of March 25, since IEEE support depends
+       upon them.
+
+Mon Apr  6 14:06:40 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * Makefile.am (diststuff): New target.
+       * Makefile.in: Rebuild.
+
+Sun Apr  5 16:21:44 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
+       som_offset when we have an extended name table.
+
+Sun Apr  5 16:04:39 1998  H.J. Lu  <hjl@gnu.org>
+
+       * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
+       trying to copy it.
+       * Makefile.in: Rebuild.
+
+Fri Apr  3 11:09:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
+       symbols when creating a shared library.
+       (elf_m68k_adjust_dynindx): New function, used by above code.
+       (elf_m68k_finish_dynamic_sections): Initialize the section
+       symbols.
+       (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
+
+Wed Apr  1 16:04:02 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
+       value 11.
+
+Wed Apr  1 13:36:58 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
+       assertion.
+
+Tue Mar 31 00:12:12 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
+       absolute symbols.
+
+Mon Mar 30 12:46:15 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Set version to 2.9.1.
+       * configure: Rebuild.
+
+       * Branched binutils 2.9.
+
+Mon Mar 30 12:20:50 1998  Brent Baccala  <baccala@freesoft.org>
+
+       * syms.c (ENABLE_CACHING): Define.
+       (struct indexentry): Define.
+       (struct stab_cache): Remove.
+       (cmpindexentry): New static function.
+       (struct stab_find_info): Add new fields: indextable,
+       indextablesize, cached_indexentry, cached_offset, cached_stab, and
+       cached_file_name.  Remove fields: file_cache, function_cache, and
+       line_cache.
+       (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
+       index table and search it.
+
+Mon Mar 30 10:39:34 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * elf.c (_bfd_elf_copy_private_section_data): Call
+       copy_private_bfd_data once we've seen the last SEC_ALLOC section.
+
+       * cpu-mips.c: Remove trailing comma at end of enumeration list.
+
+Sat Mar 28 16:33:02 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-arm.c: Define all globally visible variables and functions
+       only when COFF_WITH_PE is not defined.
+       * configure.in (armpe_little_vec, armpe_big_vec): Add
+       coff-arm.lo.
+       * configure: Rebuild.
+
+Fri Mar 27 16:06:02 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       Fix some gcc -Wall warnings:
+       * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
+       * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
+       * archures.c (bfd_default_scan): Likewise.
+       * bfd.c (bfd_scan_vma): Likewise.
+       * binary.c (mangle_name): Likewise
+       * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
+       * coff-sh.c (sh_relocate_section): Likewise.
+       * coff-stgo32.c (create_go32_stub): Likewise.
+       * coffcode.h (coff_slurp_line_table): Likewise.
+       * ecoff.c (_bfd_ecoff_write_armap): Likewise.
+       * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
+       (assign_file_positions_for_segments): Likewise.
+       * elf32-mips.c (mips_elf_relocate_section): Likewise.
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
+       * oasys.c (oasys_write_sections): Likewise.
+       * ppcboot.c (ppcboot_object_p): Likewise.
+       (mangle_name): Likewise.
+       * riscix.c (riscix_fix_pcrel_26): Likewise.
+       * srec.c (srec_scan): Likewise.
+       * stabs.c (_bfd_write_section_stabs): Likewise.
+       * sunos.c (sunos_add_dynamic_symbols): Likewise.
+       * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
+       switch.  Declare parameters for function pointers.
+       * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
+       warning.
+       * elf.c (elf_sort_sections): Likewise.
+       * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
+       Add default cases to switches.
+       (coff_arm_relocate_section): Remove unused local variables.
+       Always set rstat.
+       (coff_arm_bfd_set_private_flags): Change flag variable to type
+       flagword.
+       * coff-mips.c (mips_relocate_section): Initialize use_lo.
+       * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
+       (dump_toc): Change cat to const, and initialize it.
+       * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
+       * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
+       (sh_elf_relocate_section): Initialize r_symndx.
+       * coffcode.h (coff_compute_section_file_positions): Only declare
+       old_sofar if ALIGN_SECTIONS_IN_FILE.
+       (coff_write_object_contents): Initialize csym.
+       * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
+       * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
+       switch.
+       * dwarf2.c: Include libiberty.h.
+       (read_2_signed_bytes, read_4_signed_bytes): Comment out.
+       (decode_line_info): Remove unused local variables.
+       * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
+       (m32r_elf_relocate_section): Likewise.
+       * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
+       (v850_elf_reloc): Likewise.
+       * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
+       (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
+       * elf.c (assign_file_positions_for_segments): Always set adjust.
+       * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr.  Fully
+       parenthesize expression.
+       * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
+       (m32r_elf_object_p): Return a value.
+       (m32r_elf_print_private_bfd_data): Change fprintf format string.
+       * elf32-mips.c (mips_elf_final_link): Initialize last.
+       (mips_elf_finish_dynamic_sections): Initialize last and dindx.
+       * elf32-v850.c (v850_elf_object_p): Return a value.
+       (v850_elf_print_private_bfd_data): Change fprintf format string.
+       * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
+       unsigned long.
+       * elflink.h (elf_link_add_object_symbols): Change vernum to
+       unsigned int, and initialize it.  Change fprintf format string.
+       (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
+       when setting or comparing to soname_indx.
+       (elf_create_pointer_linker_section): Change num_symbols to
+       unsigned int.
+       * libcoff-in.h (coff_data_type): Change flags to flagword.
+       * peicode.h (pe_print_idata): Initialize idx.  Change j to
+       bfd_size_type.  Initialize hint_member.  Remove useless test to
+       time_stamp.
+       (pe_print_edata): Change num_functions and num_names in struct
+       EDT_type to unsigned long.  Remove cast.  Change fprintf format
+       string.
+       * ppcboot.c (ppcboot_object_p): Change i to size_t.
+       * reloc.c (bfd_get_reloc_size): Change return type to unsigned
+       int.
+       * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
+       int *.  Update uses.  Change j to long.
+       * bfd-in2.h, libcoff.h: Rebuild.
+
+Fri Mar 27 10:10:46 1998  Catherine Moore <clm@cygnus.com>
+
+       * elf32-v850.c Remove definition of USE_REL.
+       (v850_elf_info_to_howto_rela): New function.
+       (v850_elf_perform_relocation):  Renamed from
+       v850_elf_store_addend_in_insn.  Removed replace argument.
+       (v850_elf_reloc): store the relocation in the addend field instead
+       of the insn.
+       (v850_elf_final_link_relocate):  Now calls
+       v850_elf_perform_relocation.
+       (v850_elf_relocate_section):  Remove code to generate REL
+       relocations.
+
+Thu Mar 26 13:32:17 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coffcode.h (coff_new_section_hook): Set the type and storage
+       class in the native symbol information allocated for a new section
+       symbol.
+
+Thu Mar 26 10:13:41 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * peicode.h: Chain together calls to
+       coff_bfd_copy_private_bfd_data and
+       coff_bfd_print_private_bfd_data. 
+
+       * coff-arm.c: Add prototypes for
+       coff_arm_bfd_print_private_bfd_data and
+       coff_arm_bfd_copy_private_bfd_data. 
+
+Wed Mar 25 15:45:55 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
+       build.
+
+       * peicode.h: Call arm-coff private data functions after handling
+       pe private data.
+
+       * coff-arm.c: Turn statics into globals so that they can be shared
+       both pe and pei backends.
+
+Wed Mar 25 15:19:38 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
+       plain numbers.
+       (sunos_write_object_contents): Likewise.
+       * aoutx.h (NAME(aout,machine_type)): Likewise.
+       * coffcode.h (coff_set_arch_mach_hook): Likewise.
+
+Wed Mar 25 13:59:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * archures.c (bfd_mach_m68*): Add definitions for various m68k
+       variants.
+       (bfd_default_scan): Remove m68k special cases.
+       * bfd-in2.h: Rebuild.
+       * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
+       than plain numbers.
+       * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
+       * cpu-m68k.c (arch_info_struct): Likewise.  Add entry for
+       m68k:68000.
+       (bfd_m68k_arch): Set mach field to zero to signal no explicit
+       selection, change printable_name to just "m68k" and make that the
+       default instead of m68k:68020.
+
+       * aout-tic30.c (NAME): Define this to avoid multiple definitions
+       from aoutx.h.
+       (MY_get_section_contents): Define as aout_32_get_section_contents
+       rather than NAME(aout,get_section_contents).
+
+       * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
+
+       * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
+       and call bfd_default_set_arch_mach to do the real work.
+
 Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
 
        * bout.c (BALX): Include return register g14 as part of the insn.
@@ -6,6 +340,20 @@ Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
 
 Wed Mar 25 11:19:28 1998  Ian Lance Taylor  <ian@cygnus.com>
 
+       * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
+       * libbfd.h: Rebuild.
+
+       * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
+       byte_count to unsigned int.
+       (mn10300_elf_relax_section): Initialize internal_relocs.  Remove
+       unused local variables.
+
+       * evax-alpha.c (evax_close_and_cleanup): Remove unused local
+       variables er and er1.
+
+       * cpu-v850.c: Include <ctype.h>.
+       (scan): Case isdigit argument to unsigned char.
+
        From Yan Meroth <YAN.MEROTH@st.com>:
        * ihex.c (ihex_scan): Add extbase variable so that getting an
        extended linear address record does not ignore any previous