* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index c3cc02119520e59520b4db7fc2078b769eb4530a..95c0254d34fb317df11c73c12bad80b8a9e4e758 100644 (file)
+Thu Sep 16 11:21:13 1999  Catherine Moore  <clm@cygnus.com>
+
+       * elf32-m68k.c (elf_cpu32_plt0_entry): Use a1 instead of a0.
+       (elf_cpu32_plt_entry): Likewise.
+
+Thu Sep 16 10:48:17 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the
+       symbol table, then just compute a suitable value (but do not
+       create a __gp symbol).
+
+       * elf-hppa.h (elf_hppa_relocate_section): Allow undefined
+       symbols when building shared libraries.
+       (elf_hppa_final_link_relocate): Correct handling of PCREL
+       relocations against undefined symbols.
+
+1999-09-16  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Mark
+       interworking sections as linker created so that they will not
+       be removed by garbage collection.
+
+Wed Sep 15 02:31:57 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_final_link): Revamp __gp handling.
+       (elf_hppa_final_link_relocate): Consistently create an absolute
+       address, then subtract out the value of __gp.
+
+1999-09-14  Michael Meissner  <meissner@cygnus.com>
+
+       * configure.in (Canonicalization of target names): Remove adding
+       ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14
+       generates $ac_config_sub with a ${CONFIG_SHELL} already.
+       * configure: Regenerate.
+
+1999-09-14  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-m32r.c (ELF_MAXPAGESIZE): Change to 0x1 (at request of
+       Mitsubishi). 
+
+Mon Sep 13 20:01:47 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_record_segment_addrs): New function.
+       (elf_hppa_final_link): Initialize text_segment_base and
+       data_segment_base.
+       (elf_hppa_final_link_relocate): Handle SEGREL relocations.
+
+       * elf-hppa.h (elf_hppa_final_link): Remove unused variables.
+       (elf_hppa_final_link_relocate): Likewise.
+       (elf_hppa_relocate_insn): Likewise.
+       (elf_hppa_relocate_section): Initialize HOWTO.
+
+1999-09-13  Donn Terry  <donn@interix.com>
+
+       * coffcode.h (styp_to_sec_flags): Further refinement of COMDAT
+       handling to support both GNU and MS objects.
+
+       * coffcode.h (coff_write_object_contents): Don't check reloc_count
+       when determining whether to set F_RELFLG.
+
+1999-09-13  Philip Blundell  <pb@nexus.co.uk>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): Don't range-check
+       PC24 relocs if the target is an undefined weak symbol.
+       (arm_add_to_rel): Fix compiler warning.
+       (elf32_arm_plt0_entry): Correct comments.
+       
+1999-09-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * elfcode.h (write_relocs): Check for the_bfd NULL when handling
+       an absolute symbol in REL relocs.
+
+Sun Sep 12 23:47:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32.
+       Stub SEGREL32.  Return an error for any relocation not handled.
+
+1999-09-12  Ian Lance Taylor  <ian@zembu.com>
+
+       * cofflink.c (coff_link_add_symbols): Look for special MSVC string
+       constant symbols, and avoid multiple definition errors on them.
+
+1999-09-12  Donn Terry  <donn@interix.com>
+
+       * libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most
+       significant bit is set.
+
+1999-09-11  Ian Lance Taylor  <ian@zembu.com>
+
+       * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
+
+       * elfcode.h (write_relocs): Handle an absolute symbol in REL
+       relocs as we do for RELA relocs.
+
+1999-09-11  Donn Terry  <donn@interix.com>
+
+       * libpei.h (_bfd_pei_final_link_postscript): Declare.
+       (coff_final_link_postscript): Define.
+       * peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data
+       directory entries here.
+       (_bfd_pei_final_link_postscript): New function.
+
+       * peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets
+       section flags based on the section name.
+
+       * peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the
+       get the overflow of the s_nlnno field from the s_nreloc field.
+       * peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap
+       the s_nlnno overflow of the .text section into the s_nreloc
+       field.
+
+       * peigen.c (add_data_entry): Declare.
+       (pei_swap_aouthdr_out): Get image size right.  Set linker version
+       more intuitively.
+       (pei_swap_scnhdr_out): Test for UNINIT section, not .bss.
+       (pe_print_idata): Code cleanup, print more info, get rid of (now)
+       extraneous ImageBase.
+       (pe_print_edata): Likewise.
+       (pe_print_pdata): Likewise.  Print exception entries.
+       (pe_print_reloc): Likewise.  Print MIPS_JMPADDR.
+       (tbl): Make const, add "UNKNOWN".
+       (_bfd_pe_print_private_bfd_data_common): Print timestamp.
+       (_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted
+       section data directory.
+       (_bfd_pe_bfd_copy_private_section_data): Copy pe_flags.
+
+       * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
+       * peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
+       * peicode.h (coff_get_symbol_info): Define.
+
+       * config.bfd (i[3456]86-*-interix*): Set targ_cflags to
+       -DSTRICT_PE_FORMAT.
+       * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
+       than __INTERIX.
+       (coff_classify_symbol): Re-revert 1999-08-08 patch if
+       STRICT_PE_FORMAT.
+
+       * libpei.h: New file, broken out of peicode.h.
+       * peigen.c: New file, broken out of peicode.h.
+       * peicode.h: A bunch of code moved out to libpei.h and peigen.c.
+       * configure.in: Add peigen.lo to list of files required for each
+       PE target.
+       * Makefile.am: Rebuild dependencies.
+       (BFD32_BACKENDS): Add peigen.lo.
+       (BFD32_BACKENDS_CFILES): Add peigen.c.
+       (SOURCE_HFILES): Add libpei.h.
+       * configure, Makefile.in: Rebuild.
+
+       * peicode.h (coff_swap_scnhdr_in): Don't check for a special
+       section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA
+       instead.  Don't clear the s_paddr field for an uninitialized data
+       section.
+
+       * coffcode.h (coff_mkobject_hook): Set timestamp field in
+       coff_data_type to f_timdat.
+       * peicode.h (pe_mkobject_hook): Likewise.
+
+       * peicode.h (coff_swap_filehdr_in): Check the NT executable magic
+       number if COFF_IMAGE_WITH_PE.
+
+       * coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG
+       to the reverse of IMAGE_FILE_DEBUG_STRIPPED.
+       (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if
+       there is no SEC_DEBUGGING section.
+       * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of
+       IMAGE_FILE_DEBUG_STRIPPED.
+
+       * pe-i386.c (COFF_LONG_FILENAMES): Define.
+       (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
+       * pei-i386.c (COFF_LONG_FILENAMES): Define.
+       (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
+
+       * coffswap.h (IMAGE_BASE): Don't define.
+       * pei-arm.c (IMAGE_BASE): Don't define.
+       * pei-i386.c (IMAGE_BASE): Don't define.
+       * pei-mcore.c (IMAGE_BASE): Don't define.
+       * pei-ppc.c (IMAGE_BASE): Don't define.
+
+       * cofflink.c (_bfd_coff_link_input_bfd): When writing out a
+       symbol, switch on the class when determining whether to modify the
+       value.  For PE, don't modify the value of a C_FCN symbol not named
+       .bf.
+
+       * libbfd-in.h (_bfd_abort): Declare.
+       (abort): Define.
+       * bfd.c (_bfd_abort): New function.
+       * libbfd.h: Rebuild.
+
+       * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE
+       special handling.
+
+       * cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped,
+       don't write out the associated line numbers.
+
+       * cofflink.c (_bfd_coff_write_global_sym): Handle section symbol
+       aux entries.
+
+       * cofflink.c (coff_link_add_symbols): Don't warn about symbol type
+       changes when the base type is unknown.
+
+       * coffgen.c (coff_print_symbol): Fix printing of aux record for
+       function symbols.
+
+       * syms.c (BSF_DEBUGGING_RELOC): Define.
+       * coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
+       for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
+       symbols named .bf.
+       * coffgen.c (fixup_symbol_value): Relocate a symbol which has
+       BSF_DEBUGGING_RELOC set.
+       * bfd-in2.h: Rebuild.
+
+1999-09-10  Ian Lance Taylor  <ian@zembu.com>
+
+       * ecoff.c (bfd_debug_section): Update initialization for new
+       comdat_info field.
+       (_bfd_ecoff_styp_to_sec_flags): Add section parameter.
+       * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration.
+
+1999-09-10  H.J. Lu  <hjl@gnu.org>
+
+       * coff-alpha.c (alpha_ecoff_backend_data): Initialize the new
+       _bfd_filnmlen field.
+       * coff-mips.c (mips_ecoff_backend_data): Likewise.
+
+Fri Sep 10 00:35:14 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries
+       for FPTR relocs involving local symbols.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Get the right
+       value for the stub address in a call through a stub.
+       Install the value for a local symbol directly into the DLT
+       instead of generating a reloc.  Correctly handle FPTR64 relocs.
+
+       * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function.
+       (elf_hppa_remark_useless_dynamic_symbols): Similarly.
+       (elf_hppa_final_link): Call them.
+
+1999-09-10  Ian Lance Taylor  <ian@zembu.com>
+
+       * elflink.h (elf_fix_symbol_flags): Move weakdef handling here...
+       (elf_adjust_dynamic_symbol): ...from here.
+
+Wed Sep  8 17:56:11 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR
+       relocation, remove them.  SECREL64->LTOFF16WF.
+       (elf_hppa_final_link_relocate): Handle LTOFF* relocations.  Handle
+       DIR* relocations.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and
+       GPREL* relocations.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_link_final_relocate): Fix typos.
+       Handle LTOFF_TP* relocs.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs.
+       Consistently deal with addends.  Handle DLTIND14F and DLTREL14F.
+       (elf_hppa_relocate_insn): Handle PCREL* relocs.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*,
+       DIR32, DIR64 and FPTR64 relocations.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the        
+       address of the .PARISC.global section.
+       (elf_hppa_relocate_section): Lookup and pass the PA64 hash
+       table entry elf_hppa_final_link_relocate.  Do not give a warning
+       for a reloc against an external symbol if it has a PA64 hash
+       table entry.
+       (elf_hppa_final_link_relocate): Significantly rework.  Handle   
+       DLTIND relocations.  Compute the final value of the relocation
+       before passing the value of elf_hppa_relocate_insn.
+       (elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling
+       relocation support.  Handle DLTIND relocation requests just like
+       DLTREL relocation requests.  Simplify branch handling.
+
+1999-09-08  Ulrich Drepper  <drepper@cygnus.com>
+
+       * elf-hppa.h (elf_hppa_relocate_section): Catch problems with
+       non-allocated section as done in i386 version.
+       (elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch
+       statement since this is no know relocation.
+
+Tue Sep  7 17:25:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F
+       relocs.
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and
+       DLTREL14WD relocs.  
+       (elf_hppa_relocate_insn): Similarly.
+
+       * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and
+       DLTREL21L relocs.  Pass the output bfd to elf_hppa_relocate_insn.
+       Pass the relocate type rather than the insn format to
+       elf_hppa_relocate_insn.
+       (elf_hppa_relocate_insn): Make switch dependent on relocation type
+       rather than the opcode.  Handle DLTREL21L and DLTREL14R relocs.
+
+1999-09-07  Ian Lance Taylor  <ian@zembu.com>
+
+       * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field.
+       (bfd_coff_filnmlen): Define.
+       (bfd_coff_std_swap_table): Initialize new field.
+       * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather
+       than FILNMLEN.
+       (coff_write_symbols): Likewise.
+       (coff_get_normalized_symtab): Likewise.
+       * coff-sh.c (bfd_coff_small_swap_table): Initialize new field.
+       * libcoff.h: Rebuild.
+
+1999-09-06  Donn Terry  <donn@interix.com>
+
+       * coffcode.h (sort_by_secaddr): New static function if
+       COFF_IMAGE_WITH_PE.
+       (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort
+       sections by VMA when assigning target_index values.  Always set
+       virt_size.
+
+       * libcoff-in.h (struct pei_section_tdata): Add pe_flags field.
+       * coffcode.h (coff_set_alignment_hook) [COFF_WITH_PE version]: Set
+       pe_flags field.
+       * libcoff.h: Rebuild.
+
+       * coffcode.h (coff_set_custom_section_alignment): Add const to
+       declaration to match definition.
+       (coff_write_object_contents): Don't set F_AR32W(R)? if
+       COFF_WITH_PE.
+
+       * coff-i386.c (in_reloc_p): Add declaration.
+       (i386coff_vec): Simplify initialization of
+       application_section_flags.
+
+       * coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE
+       version.  Move COFF_WITH_PE specific code to new version.
+       (stype_to_sec_flags): Likewise.  Add section parameter.
+       * coffgen.c (make_a_section_from_file): Set target_index before
+       calling styp_to_sec_flags.  Pass section to styp_to_sec_flags.
+       * libcoff.h: Rebuild.
+
+       * syms.c (stt): Add some PE/PEI section names.
+       (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined
+       symbol.
+       (bfd_symbol_info): Check for 'w'.
+
+       * section.c (struct bfd_comdat_info): Define.
+       (asection): Add comdat field.
+       (STD_SECTION): Initialize comdat field.
+       (bfd_make_section_anyway): Likewise.
+       * bfd-in2.h: Rebuild.
+
+1999-09-06  Andreas Schwab  <schwab@suse.de>
+
+       * elflink.h (elf_link_add_object_symbols): Copy NON_GOT_REF flag
+       to version symbols.
+
+1999-09-06  Nick Clifton  <nickc@cygnus.com>
+
+       * elflink.h (elf_gc_record_vtentry): Use bfd_zmalloc and
+       bfd_realloc instead of calloc and realloc.
+
+1999-09-04  Steve Chamberlain  <sac@pobox.com>
+
+       * cpu-pj.c: New file.
+       * elf32-pj.c: New file.
+       * config.bfd (pj*): New cpu.
+       (pj-*-*, pjl-*-*): New targets.
+       * configure.in (bfd_elf32_pj_vec): New target vector.
+       (bfd_elf32_pjl_vec): New target vector.
+       * archures.c (bfd_arch_pj): Define.
+       * elf.c (prep_headers): Handle bfd_arch_pj.
+       * reloc.c: Define BFD_RELOC_PJ_* relocations.
+       * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add
+       to target vector list.
+       * Makefile.am: Rebuild dependencies.
+       (ALL_MACHINES): Add cpu-pj.lo.
+       (ALL_MACHINES_CFILES): Add cpu-pj.c.
+       (BFD32_BACKENDS): Add elf32-pj.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-pj.c.
+       * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
+
+1999-09-04  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf-bfd.h (ELF_LINK_NON_GOT_REF): Define.
+       * elflink.h (elf_adjust_dynamic_symbol): Copy REF_REGULAR_NONWEAK
+       and NON_GOT_REF from weak defined symbol to real symbol.
+       * elf32-i386.c (elf_i386_check_relocs): Set NON_GOT_REF.
+       (elf_i386_adjust_dynamic_symbol): If NON_GOT_REF is not set, don't
+       create a COPY reloc.
+       * elf32-sparc.c (elf32_sparc_check_relocs): Set NON_GOT_REF.
+       (elf32_sparc_adjust_dynamic_symbol): If NON_GOT_REF is not set,
+       don't create a COPY reloc.
+
+1999-09-03  Ian Lance Taylor  <ian@zembu.com>
+
+       * elflink.h (elf_bfd_final_link): When counting relocations, don't
+       count those in sections we are not including in the link.
+
+Thu Sep  2 17:41:20 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK
+       field in hpux11 shared libraries.
+
+1999-09-02  Nick Clifton  <nickc@cygnus.com>
+
+       * elflink.h (elf_gc_record_vtentry): Fix memory leak.
+
+Wed Sep  1 13:34:29 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_add_symbol_hook): New function.
+       (elf_hppa_final_link, elf_hppa_relocate_section): Likewise.
+       (elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise.
+
+1999-08-31  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * elflink.h (record_link_assignment): When possible, keep the
+       original type of the symbol.
+
+Mon Aug 30 15:26:48 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both
+       R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the
+       tools were configured.
+       * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare.
+
+1999-08-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate local
+       GOT entries for GOT16 relocations; they're not required.
+
+1999-08-24  Nick Clifton  <nickc@cygnus.com>
+
+       From a patch submitted by Roland McGrath  <roland@baalperazim.frob.com>
+
+       * config.bfd (arm-*-netbsd*): New target.
+       * configure.in (armnetbsd_vec): New target vector.
+       * configure: Regenerate
+       * targets.c (bfd_target_vector): Add &armnetbsd_vec.
+
+       * Makefile.am (BFD32_BACKENDS): Add armnetbsd.lo.
+       (ALL_MACHINES_CFILES): Add armnetbsd.c.
+       (armnetbsd.lo): New rule with deps.
+       * Makefile.in: Regenerate.
+       
+       * armnetbsd.c: New file:  Definitions specific to arm-netbsd
+       target. 
+
+Tue Aug 24 00:25:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * som.c (som_slurp_symbol_table): Fix typo in comment.
+
+Fri Aug 20 17:01:23 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_fake_sections): Compute section indices
+       here instead of using elf_section_data...
+
+1999-08-19  Nick Clifton  <nickc@cygnus.com>
+
+       * coff-mcore.c (mcore_emit_base_file_entry): New function:  Emit
+       relocations into the base file.
+       (coff_mcore_relocate_section): Call mcore_emit_base_file_entry if
+       we are building a base file.
+
+1999-08-19  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-arm.h (arm_add_to_rel): New function.  Add a value to
+       a REL style reloc.
+       (elf32_arm_relocate_section): Use arm_add_to_rel to increment
+       REL relocs when performing a partial relocation.
+
+1999-08-18  Donn Terry  <donn@interix.com>
+
+       * cofflink.c: Move definitions of N_TMASK, et. al., out of
+       _bfd_coff_link_input_bfd into top level.
+
+       * coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE.
+       (RTYPE2HOWTO): Return NULL if reloc type is out of range.
+       (coff_i386_rtype_to_howto): Likewise.
+       * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG.
+       Completely ignore symbols which are all zero.
+       (dummy_reloc16_estimate): Add return 0.
+       * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope
+       variable copy to name_copy to avoid shadowing outer scope
+       variable.
+       * libcoff-in.h (coff_data_type): Change raw_syment_count field
+       from unsigned int to unsigned long.  Add timestamp field.
+       * libcoff.h: Rebuild.
+
+1999-08-17  H.J. Lu  <hjl@gnu.org>
+
+       * elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in
+       macro definition.
+
+1999-08-17  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMIC
+       for special section symbols.
+       * elflink.h (elf_merge_symbol): If we have no old BFD, check
+       BSF_DYNAMIC on the section symbol to see whether the old BFD is
+       dynamic.
+
+1999-08-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunate
+       coincidence of variable names between old and new code.
+
+1999-08-12  Nick Clifton  <nickc@cygnus.com>
+
+       * elf32-arm.h (elf32_arm_to_thumb_stub):  Make 'offset' parameter
+       into a bfd_vma and 'addend' parameter a 'bfd_signed_vma'.
+       (elf32_thumb_to_arm_stub):  Make 'offset' parameter into a bfd_vma
+       and 'addend' parameter a 'bfd_signed_vma'.
+       (elf32_arm_final_link_relocate): Do not involve stubs in
+       R_ARM_THM_PC22 relocs relative to section symbols, they are long
+       jumps, not function calls.
+
+1999-08-11  Robin Farine <advanc@dial.eunet.ch>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): Check for overflow
+       in R_ARM_PC24 relocs.
+
+Tue Aug 10 12:48:09 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (elf_hppa_fake_sections): New function.
+       * elf32-hppa.c (elf_backend_fake_sections): Define.
+
+        * elf-hppa.h (elf_hppa_final_write_processing): Update for
+        recent changes to the arch_info structure.
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle
+       R_HPPA_SEGBASE and R_HPPA_SEGREL32.
+       * cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info
+       list.
+
+Tue Aug 10 00:34:29 1999  Mark P. Mitchell  <mark@codesourcery.com>
+                          Ralf Baechle <ralf@uni-koblenz.de>
+
+       * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Always
+       output DT_MIPS_GOTSYM.
+       (_bfd_mips_elf_finish_dynamic_sections): Use the same value as
+       DT_MIPS_SYMTABNO if there are no global GOT symbols.
+
+Tue Aug 10 00:21:08 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_create_dynamic_relocation): Change
+       prototype.  Handle local symbols.  Add commentary.
+       (mips_elf_calculate_relocation): Adjust accordingly.
+       (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32
+       relocations. 
+       
+       * elflink.h (elf_bfd_final_link): Tweak last change.
+
+1999-08-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * elflink.h (elf_link_size_reloc_section): Use the counts in the
+       elf-section data to allocate just the right amount of relocation
+       space.  Don't allocate the hash space twice.
+       (elf_bfd_final_link): Calculate the amount of space to allocate in
+       each relocation section.
+
+Mon Aug  9 17:37:30 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in
+       64bit mode, generate a section relative relocation for a 32bit
+       wide relocation.
+       (elf_hppa_is_local_label_name): New function.
+       * elf32-hppa.c (elf_hppa_is_local_label_name): Deleted.  To be
+       shared between 32bit and 64bit port.
+
+1999-08-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (elf_mips_howto_table): Fix src_mask for
+       R_MIPS_GOT16 and R_MIPS_CALL16.
+       (mips_elf_got16_entry): Use mips_elf_high to calculate the value
+       to use when looking for a preexisting GOT entry.
+
+1999-08-09  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of
+       the Sep. 4th, 1998 change.  glibc 2.0.x dynamic linker had bug,
+       not binutils.
+       * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+
+1999-08-09  Geoff Keating  <geoffk@cygnus.com>
+
+       * elflink.h (elf_link_output_extsym): Don't output a weak
+       reference to an undefined symbol just because it was defined weak
+       in a shared object.
+
+1999-08-09  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coffgen.c (coff_find_nearest_line): When looking for file, use
+       last best match rather than first.  If address is beyond last line
+       number record, don't return the last line as the correct value.
+
+1999-08-08  Ian Lance Taylor  <ian@zembu.com>
+
+       * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT.
+       * bfd-in2.h: Rebuild.
+
+1999-08-08  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * libcoff-in.h (struct coff_section_alignment_entry): Define.
+       * coffcode.h (coff_set_custom_section_alignment): New static
+       function.
+       (coff_section_alignment_table): New static array.
+       (coff_new_section_hook): Use coff_set_customer_section_alignment.
+       * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
+       * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define.
+       * libcoff.h: Rebuild.
+
+1999-08-08  Ian Lance Taylor  <ian@zembu.com>
+
+       * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
+       MKDEP.
+       * Makefile.in: Rebuild.
+
+1999-08-08  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * section.c (SEC_SHARED): Define.
+       * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED.
+       (styp_to_sec_flags): Likewise.
+       * peicode.h (coff_swap_scnhdr_out): Likewise.
+       * bfd-in2.h: Rebuild.
+
+1999-08-08  Ian Lance Taylor  <ian@zembu.com>
+
+       * coffcode.h (coff_classify_symbol): Comment out part of
+       1999-08-05 change which breaks cygwin DLLs.
+
+       * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*.
+       * aclocal.m4, configure: Rebuild.
+
+1999-08-06  Ian Lance Taylor  <ian@zembu.com>
+
+       * section.c (global_syms): Only initialize union field if
+       __STDC__.
+
+1999-08-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by
+       the size of a GOT entry here.
+       (mips_elf_calculate_relocation): Don't create a local GOT entry
+       for the symbol in a GOT16 relocation; just for it's high-order bit
+       (_bfd_mips_elf_relocate_section): Fix thinko.
+
+1999-08-05  Ian Lance Taylor  <ian@zembu.com>
+
+       Based on patches from Donn Terry <donn@interix.com>:
+       * coffcode.h (enum coff_symbol_classification): Define.
+       (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to
+       _bfd_coff_classify_symbol.  Change return type.
+       (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global.
+       (coff_slurp_symbol_table): Use coff_classify_symbol.
+       (coff_classify_symbol): New static function.
+       (coff_sym_is_global): Never define.
+       (bfd_coff_std_swap_table): Initialize with coff_classify_symbol.
+       * cofflink.c (coff_link_check_ar_symbols): Use
+       bfd_coff_classify_symbol rather than bfd_coff_sym_is_global.
+       (coff_link_add_symbols): Likewise.
+       (_bfd_coff_link_input_bfd): Likewise.
+       * coff-sh.c (bfd_coff_small_swap_table): Initialize with
+       coff_classify_symbol.
+       * libcoff.h: Rebuild.
+
+Wed Aug  4 18:08:07 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors
+       (e_ltpsel, e_rtpsel): Similarly.
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel
+       and 14bit ertpsel.  Handle 64bit psel.
+
+1999-08-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16
+       handling for REL relocations.  And only left-shift R_MIPS26
+       relocation addends where necessary.
+
+1999-08-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ...
+       (mips_elf_next_lo16_relocation): Don't compute the addend here.
+       Just return the relocation found.
+       (mips_elf_relocate_section): Pull the LO16 addend out of the
+       section itself when using REL relocations.
+       
+       * elf32-mips.c (mips_elf_calculate_relocation): Restore
+       _DYNAMIC_LINK handling and handling of undefined symbols in shared
+       libraries.
+
+1999-08-03  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation
+       value of a symbol in a SEC_DEBUGGING section.  Warn when doing a
+       relocation against a symbol in an input section with no output
+       section.  From Daniel Jacobowitz <drow@false.org>.
+
+       * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used.
+
+       * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to
+       look for generated file correctly.
+       * aclocal.m4, configure: Rebuild.
+
+1999-08-02  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26
+       and R_MIPS16_26 relocations correctly when relocating.
+       (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16
+       and R_MIPS_CALL_LO16 are for global symbols.
+       
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elflink.h (elf_bfd_final_link): Copy the whole isym, not just
+       some fields.
+       * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used
+       variables and initialize them.
+
+1999-08-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where
+       there are no global symbols requiring GOT entries.
+       (_bfd_mips_elf_size_dynamic_sections): Likewise.
+       (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
+       (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak
+       symbols are considered to have the value zero.
+       (_bfd_mips_elf_relocate_section): Don't try to perform a
+       relocation for an undefined symbol.
+       (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local
+       GOT16 relocations.
+
+1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI
+       wants ba,a,pt %xcc instead of %icc.
+       Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots
+       of large PLT entries.
+       (sparc64_elf_plt_ptr_offset): Fix calculation.
+       (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT
+       addend should be relative to load address, not .plt section start.
+       (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries.
+
+1999-07-30  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf-bfd.h (struct elf_backend_data): Add
+       print_symbol_all and output_arch_syms backend methods.
+       * elfxx-target.h: Likewise.
+       * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create,
+       sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms,
+       sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New
+       functions.
+       (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER
+       symbols in .dynsym, add their names into .dynstr. Put those symbols
+       into dynlocal.
+       (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER
+       pointers to STT_REGISTER symbols in dynsym section.
+       (sparc64_elf_print_symbol_all): New function.
+       * elf.c (bfd_elf_print_symbol): Allow special backend symbol
+       printing using the print_symbol_all hook.
+
+1999-07-30  Catherine Moore  <clm@cygnus.com>
+
+       * elf32-arm.h (elf32_arm_check_relocs):  Use r_offset for
+       R_ARM_GNU_VTENTRY.
+
+1999-07-29  Richard Henderson  <rth@cygnus.com>
+
+       * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if
+       dynamic_sections_created.
+
+1999-07-29  Richard Henderson  <rth@cygnus.com>
+
+       * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ...
+       (mips_rtype_to_howto): ... new function.
+       (_bfd_mips_elf_relocate_section): Use it.
+
+1999-07-28  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo.
+
+1999-07-27  Nick Clifton  <nickc@cygnus.com>
+
+       Patch generated by Bernd Schmidt. <bernds@cygnus.co.uk>
+       
+       * coff-arm.c (coff_arm_is_local_label_name): Change to strip
+       out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'.
+
+1999-07-23  Donn Terry  <donn@interix.com>
+
+       * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags
+       field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL.
+       * cofflink.c (coff_link_add_symbols): If PE, handle section
+       symbols specially.
+       * libcoff.h: Rebuild.
+
+       * config.bfd (i[3456]86-*-interix*): New target.
+
+1999-07-21  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and
+       COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with
+       .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD.
+       * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define.
+       (COFF_SUPPORT_GNU_LINKONCE): Define.
+       * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define.
+       (COFF_SUPPORT_GNU_LINKONCE): Define.
+
+1999-07-21  Ian Lance Taylor  <ian@zembu.com>
+
+       From Mark Elbrecht:
+       * makefile.dos: Remove; obsolete.
+       * configure.bat: Remove; obsolete.
+
+1999-07-21  H.J. Lu  <hjl@gnu.org>
+
+       * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes.
+
+1999-07-21  Philippe De Muyter  <phdm@macqel.be>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error
+       message and fail if a symbol index is out of range.
+
+1999-07-21  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value
+       when looking at a R_MIPS_GOT16 relocation.
+
+1999-07-20  Nick Clifton  <nickc@cygnus.com>
+
+       * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+
+Mon Jul 19 14:03:44 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP
+       removed in previous change.
+       (_bfd_mips_elf_relocate_section): Adjust GP relative relocations
+       in relocateable output.
+
+1999-07-19  Ian Lance Taylor  <ian@zembu.com>
+
+       * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target
+       structure.
+
+       * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD
+       if they appear to be specially created by the linker.
+
+1999-07-19  Nick Clifton  <nickc@cygnus.com>
+
+       * targets.c (alternative_target): New field in bfd_target
+       structure.
+       (bfd_search_for_target): New function:  Find a target that
+       satisifies a search function.
+       * bfd-in2.h: Regenerate.
+
+       * elfxx-target.h: Initialise the alternative_target field of
+       the bfd_target structures to point to the other target (if
+       defined).
+       * nlm-target.h: Initialise the alternative_target field of
+       the bfd_target structures to point to the other target (if
+       defined).
+       
+       * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro.
+       (CREATE_LITTLE_COFF_TARGET_VEC): New macro.
+       
+       * aix386-core.c: Initialise new field of bfd_target structure. 
+       * aout-adobe.c: Initialise new field of bfd_target structure. 
+       * aout-arm.c: Initialise new field of bfd_target structure. 
+       * aout-target.h: Initialise new field of bfd_target structure. 
+       * aout-tic30.c: Initialise new field of bfd_target structure. 
+       * binary.c: Initialise new field of bfd_target structure. 
+       * bout.c: Initialise new field of bfd_target structure. 
+       * cisco-core.c: Initialise new field of bfd_target structure. 
+       * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-alpha.c: Initialise new field of bfd_target structure. 
+       * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-i386.c: Initialise new field of bfd_target structure. 
+       * coff-i860.c: Initialise new field of bfd_target structure. 
+       * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-mips.c: Initialise new field of bfd_target structure. 
+       * coff-ppc.c: Initialise new field of bfd_target structure. 
+       * coff-rs6000.c: Initialise new field of bfd_target structure. 
+       * coff-sh.c:  Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC.
+       * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-tic30.c: Initialise new field of bfd_target structure. 
+       * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-w65.c:   Use CREATE_LITTLE_COFF_TARGET_VEC.
+       * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC.
+       * coff-z8k.c:   Use CREATE_BIG_COFF_TARGET_VEC.
+       * hppabsd-core.c: Initialise new field of bfd_target structure. 
+       * hpux-core.c: Initialise new field of bfd_target structure. 
+       * i386msdos.c: Initialise new field of bfd_target structure. 
+       * i386os9k.c: Initialise new field of bfd_target structure. 
+       * ieee.c: Initialise new field of bfd_target structure. 
+       * ihex.c: Initialise new field of bfd_target structure. 
+       * irix-core.c: Initialise new field of bfd_target structure. 
+       * mipsbsd.c: Initialise new field of bfd_target structure. 
+       * netbsd-core.c: Initialise new field of bfd_target structure. 
+       * oasys.c: Initialise new field of bfd_target structure. 
+       * osf-core.c: Initialise new field of bfd_target structure. 
+       * ppcboot.c: Initialise new field of bfd_target structure. 
+       * ptrace-core.c: Initialise new field of bfd_target structure. 
+       * sco5-core.c: Initialise new field of bfd_target structure. 
+       * som.c: Initialise new field of bfd_target structure. 
+       * srec.c: Initialise new field of bfd_target structure. 
+       * tekhex.c: Initialise new field of bfd_target structure. 
+       * trad-core.c: Initialise new field of bfd_target structure. 
+       * versados.c: Initialise new field of bfd_target structure. 
+       * vms.c: Initialise new field of bfd_target structure. 
+
+1999-07-19  Andreas Schwab  <schwab@suse.de>
+
+       * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
+       and rel_hdr.
+
+Sat Jul 17 02:28:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elflink.h (elf_link_adjust_relocs): New function.
+       (elf_bfd_final_link): Use it.
+       (elf_link_input_bfd): Deal with the fact that there can be 
+       two relocation sections for a single section.
+       (elf_reloc_link_order): Likewise.
+
+       * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for 
+       a relocateable object.
+       (_bfd_mips_elf_relocate_section): Handle relocateable links.
+
+1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
+       (sparc64_elf_get_reloc_upper_bound,
+       sparc64_elf_get_dynamic_reloc_upper_bound,
+       sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
+       sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
+       New functions.
+       (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
+       ELF64_R_TYPE_ID/DATA where appropriate.
+
+1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
+       DT_SPARC_PLTFMT.
+
+1999-07-16  Ian Lance Taylor  <ian@zembu.com>
+
+       * elf32-mips.c (mips_elf_local_relocation_p): New static
+       function.
+       (mips_elf_next_lo16_addend): Call bfd_set_error on failure.
+       (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
+       Always set *require_jalxp.
+       (mips_elf_stub_section_p): Mark abfd parameter as unused.
+       (_bfd_mips_elf_relocate_section): Only look for LO16 following
+       GOT16 if the GOT16 is against a local symbol.  Don't return false
+       for an undefined symbol.  If there is an overflow, assert that we
+       have a name.
+
+1999-07-16  Andreas Schwab  <schwab@suse.de>
+
+       * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
+       variables `link' and `elfsec'.
+       (elf_bfd_final_link): Remove unused variable `os'.
+
+Thu Jul 15 17:55:31 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
+       a PT_PHDR program headers.
+       (_bfd_mips_elf_final_link): Don't assume there are going to be
+       section symbols when we're not building a shared object.
+       (_bfd_mips_elf_check_relocs): Make sure we have a GOT when
+       we need one.
+
+1999-07-15  J.T. Conklin  <jtc@redback.com>
+
+       * config.bfd (i[3456]86-*-vxworks*): New target.
+
+1999-07-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_stub_section_p): New function.
+       (mips_elf_calculate_relocation): Handle MIPS16 stub functions.
+       (mips_elf_relocate_section): Adjust calling sequence for
+       mips_elf_calculate_relocation and mips_elf_perform_relocation.
+       (mips_elf_perform_relocation): Turn `jal' into `jalx' where
+       required.
+
+1999-07-15  Ian Lance Taylor  <ian@zembu.com>
+
+       * configure.in: Bump version number to 2.9.5.
+       * configure: Rebuild.
+
+Thu Jul 15 02:56:15 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
+       64bit format.
+       (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
+       to derive final type instead of hardwiring a selection.
+
+1999-07-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
+       things relocated by R_MIPS16_GPREL.
+       (mips_elf_perform_relocation): Likewise.
+
+Wed Jul 14 15:23:19 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss.
+
+1999-07-14  Richard Henderson  <rth@cygnus.com>
+
+       * elf32-mips.c (struct mips_got_info): Add global_gotno.
+       (_bfd_mips_elf_size_dynamic_sections): Set it.
+       (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
+       (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
+       new argument max_local.
+
+1999-07-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
+       subwords when handling an R_MIPS16_26 relocation.
+       (mips_elf_perform_relocation): Don't be paranoid abour right-shift
+       semantics.
+       
+       * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
+       dst_mask to match reality.
+       (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
+       (mips_elf_obtain_contents): Use bfd_get.
+       (mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
+       (mips_elf_relocate_section): Likewise.
+
+1999-07-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
+       (mips_elf_relocate_section): Adjust calling sequence for 
+       mips_elf_perform_relocation.
+       (mips_elf_perform_relocation): Take additional argument.  Handle
+       R_MIPS16_26.  Use bfd_put for convenience.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Thinko last change.
+       Always overwrite p_flags.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
+       * elflink.c (_bfd_elf_create_dynamic_sections): Only create
+       .dynbss and .rel[a].bss if want_dynbss.
+       * elfxx-target.h (elf_backend_want_dynbss): Provide default.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
+
+1999-07-13  Richard Henderson  <rth@cygnus.com>
+
+       * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
+       (struct elf_link_hash_table): Add dynlocal.
+       (_bfd_elf_link_lookup_local_dynindx): Prototype.
+       (_bfd_elf_link_adjust_dynindx): Delete.
+       (_bfd_elf_link_renumber_dynsyms): Prototype.
+       (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
+       * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
+       * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
+       (_bfd_elf_link_lookup_local_dynindx): New function.
+       (elf_link_renumber_hash_table_dynsyms): New function.
+       (_bfd_elf_link_renumber_dynsyms): New function.
+       * elflink.h (elf_link_record_local_dynamic_symbol): New function.
+       (struct elf_assign_sym_version_info): Delete removed_dynamic.
+       (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
+       instead of elf_link_remove_section_and_adjust_dynindices.
+       Remove removed_dynamic code.  Use _bfd_elf_link_renumber_dynsyms.
+       (elf_link_assign_sym_version): Remove removed_dynamic code.
+       (elf_link_renumber_dynsyms): Delete.
+       (elf_bfd_final_link): Install section and local symbols into .dynsym.
+
+       * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
+       (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
+       (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
+       * elf32-mips.c: Similarly.
+       * elf32-ppc.c: Similarly.
+       * elf32-sparc.c: Similarly.
+       * elf64-alpha.c: Similarly.
+       * elf64-sparc.c: Similarly.
+
+1999-07-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
+       when _gp_disp is undefined.  Do not check R_MIPS_LO16 for overflow
+       when the relocation is against _gp_disp.
+
+1999-07-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * dwarf2.c (read_attribute): Support DW_FORM_ref8.
+       * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
+       to possibly_dynamic_relocs.  Adjust usage throughout code.
+       (elf_mips_howto_table): Handle R_MIPS_64 correctly.
+       (elf_mips_ctor64_howto): Likewise.
+       (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
+       Adjust indentation.
+       (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
+       (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
+       Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
+       * elf64-mips.c (elf_backend_may_use_rel_p): Define.
+
+1999-07-12  Ian Lance Taylor  <ian@zembu.com>
+
+       * Makefile.am: Rebuild dependencies.
+       * Makefile.in: Rebuild.
+
+       * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
+       * bfd-in2.h: Rebuild.
+
+       * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
+       as appropriate.  Use EMPTY_HOWTO as appropriate.  Fill in
+       structure initializations.  Add casts.
+       * reloc.c (EMPTY_HOWTO): Define.
+       * bfd-in2.h: Rebuild.
+       * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
+       comparisons against 0.
+       * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
+       previous_ibfd_e_flags to unsigned long.
+       * vms.h (struct vms_private_data_struct): Change section_count to
+       unsigned.
+       * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
+       (_bfd_vms_write_gsd): Change symnum to unsigned.
+       * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
+       * vms-tir.c (etir_sta): Change psect to unsigned.
+       (alloc_section): Change idx to unsigned.
+       (tir_sta, tir_ctl): Change psect to unsigned.
+       (_bfd_vms_write_tir): Change len and before to bfd_size_type.
+       * vms.c (priv_section_count): Change to unsigned.
+
+1999-07-12  Andreas Schwab  <schwab@suse.de>
+
+       * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
+       * m68klinux.c: Likewise.
+
+1999-07-12  Ian Lance Taylor  <ian@zembu.com>
+
+       * Many files: Changes to avoid gcc warnings: Remove unused local
+       variables.  Add default case to enum switches.
+       * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
+       compile if not COFF_IMAGE_WITH_PE.
+       (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
+       (bfd_arm_get_bfd_for_interworking): Likewise.
+       (bfd_arm_process_before_allocation): Likewise.
+       * epoc-pei-arm.c: Don't rename bfd_arm functions.
+       * pei-arm.c: Likewise.
+       * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
+       (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
+       (mips_elf_got16_entry): Put parens around & in body of ==.
+       (mips_elf_calculate_relocation): Correct test for empty string.
+       * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
+       stderr.
+       * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
+       format.
+
+1999-07-11  Ian Lance Taylor  <ian@zembu.com>
+
+       * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
+       as appropriate.  Fill in structure initializations.  Add variable
+       initializations.  Add casts.
+       * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
+       (dwarf1_unit_find_nearest_line): Change i to unsigned long.
+
+       * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
+       char *.
+       * elf-bfd.h (bfd_elf_hash): Update declaration.
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
+       when calling bfd_elf_hash.
+
+1999-07-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * libbfd.c (bfd_put_8): Make it of type `void'.
+       * bfd-in2.h: Regenerated.
+       * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
+       for 32-bit hosts.
+       (_bfd_mips_elf_final_link): Likewise.
+
+       * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
+
+Thu Jul  8 12:32:23 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+       * config.bfd (hppa*-*-linux-gnu*): New target
+
+1999-07-07  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
+       (_bfd_mips_elf_create_dynamic_sections): New function.
+       (_bfd_mips_elf_add_symbol_hook): Likewise.
+       (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
+       (_bfd_mips_elf_finish_dynamic_symbol): Likewise.        
+       (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+       (_bfd_mips_elf_gc_mark_hook): Likewise.
+       (_bfd_mips_elf_gc_sweep_hook): Likewise.
+       (_bfd_mips_elf_always_size_sections): Likewise.
+       (_bfd_mips_elf_size_dynamic_sections): Likewise.
+       (_bfd_mips_elf_check_relocs): Likewise.
+       (_bfd_mips_elf_link_hash_table_create): Likewise.
+       (_bfd_mips_elf_print_private_data): Likewise.
+       (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+       (_bfd_mips_elf_final_link): Likewise.
+       (_bfd_mips_elf_additional_program_headers): Likewise.
+       (_bfd_mips_elf_modify_segment_map): Likewise.
+       (_bfd_mips_elf_relocate_section): Likewise.
+       * elf32-mips.c (mips_elf32_object_p): Move contents into
+       _bfd_mips_elf_object_p.
+       (mips_elf_additional_program_headers): Rename to
+       _bfd_mips_elf_additional_program_headers.
+       (mips_elf_modify_segment_map): Rename to
+       _bfd_mips_elf_modify_segment_map.
+       (elf_mips_abi_name): Change prototype.
+       (mips_elf32_section_from_shdr): Merge into
+       _bfd_mips_elf_section_from_shdr.
+       (mips_elf32_section_processing): Merge into
+       _bfd_mips_elf_section_processing.
+       (mips_elf_final_link): Rename to _bfd_mips_elf_final_link.  Invoke
+       the right back-end ELF linker.
+       (mips_elf_relocate_section): Rename to
+       _bfd_mips_elf_relocate_section.  Clean up.  Adjust for 64-bit code.
+       (mips_elf_link_output_symbol_hook): Rename to
+       _bfd_mips_elf_link_output_symbol_hook.
+       (mips_elf_create_dynamic_section): Rename to
+       _bfd_mips_elf_create_dynamic_section.
+       (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
+       Adjust for 64-bit code.  Use mips_elf_got_section.
+       (mips_elf_adjust_dynamic_symbol): Rename to
+       _bfd_mips_elf_adjust_dynamic_symbol.  Use
+       mips_elf_allocate_dynamic_relocations.
+       (mips_elf_finish_dynamic_symbol): Rename to
+       _bfd_mips_elf_finish_dynamic_symbol.  Use mips_elf_got_section.
+       Adjust for 64-bit code.
+       (mips_elf_finish_dynamic_sections): Rename to
+       _bfd_mips_elf_finish_dynamic_sections.  Adjust for 64-bit code.
+       (mips_elf_always_size_sections): Rename to
+       _bfd_mips_elf_always_size_sections.
+       (mips_elf_add_symbol_hook): Rename to
+       _bfd_mips_elf_add_symbol_hook.
+       (mips_elf_next_lo16_addend): Constify.
+       (mips_elf_calculate_relocation): Likewise.
+       (mips_elf_obtain_contents): Likewise.
+       (mips_elf_perform_relocation): Likewise.
+       (mips_elf_create_dynamic_relocation): Likewise.
+       (mips_elf_allocate_dynamic_relocations): New function.
+       (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
+       (MIPS_ELF_REL_SIZE): Likewise.
+       (MIPS_ELF_DYN_SIZE): Likewise.
+       (MIPS_ELF_GOT_SIZE): Likewise.
+       (MIPS_ELF_SYM_SIZE): Likewise.
+       (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
+       (MIPS_ELF_GET_WORD): Likewise.
+       (MIPS_ELF_PUT_WORD): Likewise.
+       (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
+       (STUB_LW): Conditionalize for 64-bit value.
+       (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
+       entries.
+       (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
+       Check it for inconsistency.
+       (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
+       ABI.
+       (_bfd_mips_elf_fake_sections): Remove duplicate handling of
+       .msym. 
+       (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
+       (mips_elf_got_offset_from_index): Use misp_elf_got_section.
+       (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
+       (mips_elf_local_got_index): Likewise.
+       (mips_elf_got_page): Likewise.
+       (mips_elf_got_info): Likewise.
+       (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
+       (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
+       (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
+       instead of constant `2'.
+       (mips_elf_create_got_section): Tidy.  Use MIPS_ELF_GOT_SIZE.
+       (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
+       (mips_elf_size_dynamic_sections): Use
+       MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
+       MIPS_ELF_ADD_DYNAMIC_ENTRY.  Remove #if 0'd code.
+       Adjust all releveant entries in elf backend table.
+       * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
+       (mips_elf64_section_processing): Likewise.
+       Adjust elf backend entries to use _bfd_mips_elf variants now
+       publicly available.
+       
+       * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
+       hash-entry sizes.
+       (size_dynamic_sections): Likewise.
+       (elf_link_output_extsym): Likewise.
+       * elf.c: (elf_fake_sections): Likewise.
+       * libbfd.c (bfd_get): New macro.
+       (bfd_put): Likewise.
+       * bfd-in2.h: Regenerated.
+
+1999-07-07  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf-bfd.h (elf_size_info): Add hash_entry_size,
+       int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
+       wap_reloca_in, and swap_reloca_out. 
+       * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
+       multiple internal relocations per external relocation.
+       (link_read_relocs): Likewise.
+       (elf_bfd_final_link): Likewise.
+       (elf_link_input_bfd): Likewise.
+       (elf_gc_mark): Likewise.
+       (elf_gc_smash_unused_vtentry_relocs): Likewise.
+       * elfcode.h (elf_swap_dyn_out): Adjust type to match
+       elf_swap_dyn_in.
+       (size_info): Add entries for new fields.
+       * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
+       (mips_elf64_be_swap_reloc_in): New function.
+       (mips_elf64_be_swap_reloc_out): Likewise.
+       (mips_elf64_be_swap_reloca_in): Likewise.
+       (mips_elf64_be_swap_reloca_out): Likewise.
+       (mips_elf64_size_info): Add entries for new fields.
+       
+1999-07-07  Ian Lance Taylor  <ian@zembu.com>
+
+       * elflink.h (elf_bfd_final_link): Assert that section reloc_count
+       field equals the new rel_count field.
+       (elf_link_input_bfd): When doing a relocateable link, use the new
+       rel_count field rather than the reloc_count field.
+       (elf_reloc_link_order): Likewise.
+       (elf_finish_pointer_linker_section): Likewise.
+
+       Based on patch from H.J. Lu <hjl@gnu.org>:
+       * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
+       shared library to override a weak definition in a regular object.
+
+Tue Jul  6 10:23:39 1999  Jeffrey A Law  (law@cygnus.com)
+
+        * libhppa.h: Revert July 2, 1999 patch.
+
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
+       need to generate DLTIND relocations, not DLTREL relocations.
+
+1999-07-05  Nick Clifton  <nickc@cygnus.com>
+
+       * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
+       architectures. 
+       (coff_set_flags): Recognise arm 5 architectures.
+
+       * cpu-arm.c: Add support for strongarm and arm9 cpus.
+       Add support for armv5 architecture.
+
+       * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
+       
+       * reloc.c: Add new, assembler only, ARM reloc:
+       BFD_RELOC_ARM_ADRL_IMMEDIATE.
+       
+       * bfd-in2.h: Regenerate.
+
+1999-07-02  Mark Mitchell  <mark@codesourcery.com>
+
+       * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
+       (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
+       * elf.c (_bfd_elf_find_nearest_line): Pass it.
+       * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
+       * elf32-mips.c (ABI_64_P): New macro.
+       (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
+       (_bfd_mips_elf_find_nearest_line): Adjust call to
+       _bfd_dwarf2_find_nearest_line.
+       * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
+       * libbfd.h: Regenerated.
+
 1999-07-02  Ian Lance Taylor  <ian@zembu.com>
 
        * config.bfd: Add * at the end of i[3456]86-*-unixware.
This page took 0.035962 seconds and 4 git commands to generate.