bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index ae281deb53dd719d419601b1b08f6f4e75f9f84c..b84bcf0a6e30019e5927c4fb5c49ab4154590b6b 100644 (file)
@@ -1,3 +1,840 @@
+2005-03-02  Jan Beulich  <jbeulich@novell.com>
+
+       * Makefile.am: Add dependency of cache.o on libiberty.h.
+       * cache.c: Include libiberty.h.
+       (bfd_open_file): Use unlink_if_ordinary instead of unlink.
+
+2005-03-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * elf.c (bfd_section_from_shdr <default case>): Call
+       elf_backend_section_from_shdr hook unconditionally, and return
+       what it returns.
+       (bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
+       * elfxx-target.h (elf_backend_section_from_shdr)
+       (elf_backend_section_from_phdr): Default to
+       _bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
+       respectively.
+
+2005-03-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * targets.h: Typo fix.
+       * bfd-in2.h: Regenerate.
+
+       * bout.c (b_out_write_object_contents): Don't use sizeof on host
+       structs to size on-disk structures.
+       (b_out_set_section_contents): Size the external struct, not the
+       internal one for on-disk size.
+       (b_out_sizeof_headers): Likewise.
+
+2005-03-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
+       entry points with the func descriptor as well as undefweak.
+
+2005-02-28  Ross Ridge  <rridge@csclub.uwaterloo.ca>
+
+       * peicode.h (pe_ILF_build_a_bfd): Do not assume that an @ will be
+       present when IMPORT_NAME_UNDOECRATE is used.
+
+2005-02-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 757
+       * elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
+       int.
+
+       * elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
+       to _bfd_elf_merge_symbol.
+
+       * elflink.c (_bfd_elf_merge_symbol): Use the pointer to
+       unsigned int to return the alignment of the old common symbol
+       in the dynamic object.
+       (_bfd_elf_add_default_symbol): Pass NULL to
+       _bfd_elf_merge_symbol.
+       (elf_link_add_object_symbols): Pass &old_alignment to
+       _bfd_elf_merge_symbol. Get the alignment of the new common
+       symbol in the dynamic object.
+
+2005-02-24  Ben Elliston  <bje@au.ibm.com>
+
+       * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
+       * format.c (bfd_check_format_matches): Likewise.
+       * archive.c (BFD_GNU960_ARMAG): Likewise.
+       (bfd_generic_archive_p): Likewise.
+       (_bfd_write_archive_contents): Likewise.
+
+2005-02-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
+       * configure: Regenerate.
+
+2005-02-24  Julian Brown  <julian@sirius.codesourcery.com>
+
+       * elflink.c (elf_link_add_object_symbols): Force symbols in discarded
+       COMDAT group sections to have default visibility.
+
+2005-02-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * coffcode.h (coff_print_aux): Warning fix.
+       * elf-m10300.c (mn10300_elf_relax_section): Use section->id
+       instead of section pointer to identify.
+       * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.  Allocate
+       the correct size buffer for local sym mangling too.
+       (h8300_bfd_link_add_symbols): Likewise.
+       * elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
+       warning.
+       * elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
+       * elf32-xtensa.c (literal_value_hash): Warning fix.
+       * versados.c (process_otr): Warning fix.
+       (versados_canonicalize_reloc): Likewise.
+       * vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
+       * vms.c (fill_section_ptr): Warning fix.
+
+2005-02-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
+       * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
+
+2005-02-23  Nick Clifton  <nickc@redhat.com>
+
+       * elfxx-mips.c (mips_elf_create_dynamic_relocation): Initialise
+       the relvaddr field of the Elf32_crinfo structure.
+
+       * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Initialise
+       variables that are passed by reference to
+       m68hc11_get_relocation_value in case that function does not
+       initialise them.
+
+       * elf32-cr16c.c (cr16c_elf_final_link_relocate): Remove duplicated
+       return statements and replace with a single return at the end of
+       the function.  This helps pacify the flow analysis code in gcc 4.0.
+
+       * elf.c (_bfd_elf_compute_section_file_positions): Initialise
+       strtab to avoid compile time warning.
+
+2005-02-23  Ben Elliston  <bje@au.ibm.com>
+
+       * opncls.c (bfd_zalloc): Document this function.
+
+2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
+       SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
+       Replace SEC_SHARED with SEC_COFF_SHARED.
+       (styp_to_sec_flags): Likewise.
+
+       * elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
+       (TARGET_LITTLE_SYM): Likewise.
+
+       * section.c (SEC_ARCH_BIT_0): Removed.
+       (SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
+       SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
+       (SEC_SHARED): Renamed to ...
+       (SEC_COFF_SHARED): This.
+       (SEC_BLOCK): Renamed to ...
+       (SEC_TIC54X_BLOCK): This.
+       (SEC_CLINK): Renamed to ...
+       (SEC_TIC54X_CLINK): This.
+       (SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
+       SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
+       end.
+       * bfd-in2.h: Regenerated.
+
+2005-02-21  Fred Fish  <fnf@specifixinc.com>
+
+       * dwarf2.c (find_abstract_instance_name): Call recursively
+       to handle a DW_AT_specification.
+
+2005-02-21  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
+
+       * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
+       mips_elf_create_dynamic_relocation,
+       _bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
+       Remove #if 0'd code.
+
+2005-02-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am"
+       * Makefile.in: Regenerate.
+
+2005-02-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * coffgen.c (bfd_coff_get_comdat_section): Check that
+       coff_section_data isn't NULL.
+
+2005-02-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
+       * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
+       * coff-rs6000.c (xcoff_write_armap_big): Warning fixes.  Remove
+       useless assignments.
+       (xcoff_write_archive_contents_big): Likewise.
+       (_bfd_xcoff_put_ldsymbol_name): Likewise.
+       * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
+       * coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
+       * cofflink.c (process_embedded_commands): Warning fixes.
+       * cpu-arm.c: Delete unnecessary prototypes.  Convert to C90.
+       Warning fixes.
+       * dwarf2.c: Warning fixes.
+       * elf-bfd.h: Likewise.
+       * elf-eh-frame.c: Likewise.
+       * elf-strtab.c: Likewise.
+       * elf.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-ppc.c: Likewise.
+       * elf32-sh-symbian.c: Likewise.
+       * elf32-sh.c: Delete unnecessary prototypes.  Warning fixes.
+       * elf64-sh64.c: Likewise.
+       * peicode.h: Likewise.
+       * elf64-mmix.c: Warning fixes.
+       * elfcode.h: Likewise.
+       * elfxx-mips.c: Likewise.
+       * libbfd-in.h: Likewise.
+       * libbfd.c: Likewise.
+       * mach-o.c: Likewise.
+       * merge.c: Likewise.
+       * mmo.c: Likewise.
+       * opncls.c: Likewise.
+       * pef.c: Likewise.
+       * srec.c: Likewise.
+       * vms-hdr.c: Likewise.
+       * vms-tir.c: Likewise.
+       * xtensa-isa.c: Likewise.
+       * xtensa-modules.c: Likewise.
+       * xsym.c: Likewise.
+       (pstrcmp): Use correct choice of string lengths.  Fix return value.
+       (bfd_sym_module_name): Correct string length.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2005-02-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (elf32_frv_relocate_section): Remove warning from
+       uninitialized check_segment[1] in TLSMOFF case.
+       Reported by Alan Modra.
+       (elf32_frv_relocate_section): Improve errors and warnings.
+
+2005-02-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning.
+
+2005-02-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
+       * elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
+       * pef.c (bfd_pef_scan): Don't ignore return value of
+       bfd_pef_scan_start_address.
+       * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
+       bfd_mach_o_scan_start_address.
+       * elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
+       * elfxx-mips.c: Remove unnecessary prototypes.
+       (sort_dynamic_relocs_64): Abort if not BFD64.
+
+2005-02-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
+       Skip toc reloc adjust if reloc_count is zero.
+
+2005-02-15  Nigel Stephens  <nigel@mips.com>
+           Maciej W. Rozycki  <macro@mips.com>
+
+       * elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
+       reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
+       R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
+       (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
+       (elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
+       dst_mask.
+       (mips16_gprel_reloc): Remove bit shuffling; call
+       _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
+       and _bfd_mips16_elf_reloc_shuffle() instead.
+       (mips16_reloc_map): New reloc map for MIPS16 relocs.
+       (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
+       relocs.
+       (mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
+       elf_mips16_howto_table_rel.
+       * elf64-mips.c (mips16_elf64_howto_table_rel): New array for
+       MIPS16 REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16
+       relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
+       (elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
+       (elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
+       dst_mask.
+       (mips16_elf64_howto_table_rela): New array for MIPS16 RELA
+       reloc howtos.  Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
+       R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
+       placeholders.
+       (mips16_gprel_reloc): Remove bit shuffling; call
+       _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
+       and _bfd_mips16_elf_reloc_shuffle() instead.
+       (mips16_reloc_map): New reloc map for MIPS16 relocs.
+       (bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
+       relocs.
+       (mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
+       mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
+       * elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
+       REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
+       R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
+       (elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
+       (elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
+       dst_mask.
+       (mips16_gprel_reloc): Remove bit shuffling; call
+       _bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
+       and _bfd_mips16_elf_reloc_shuffle() instead.
+       (mips16_reloc_map): New reloc map for MIPS16 relocs.
+       (bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
+       relocs.
+       (mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
+       elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
+       * elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
+       handle bit shuffling for MIPS16 relocs.
+       (_bfd_mips16_elf_reloc_shuffle): Likewise.
+       (_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
+       and _bfd_mips16_elf_reloc_shuffle().
+       (_bfd_mips_elf_generic_reloc): Likewise.
+       (mips_elf_calculate_relocation): Likewise.  Handle R_MIPS16_HI16
+       and R_MIPS16_LO16.
+       (mips_elf_obtain_contents): Remove bit shuffling.
+       (mips_elf_perform_relocation): Likewise; call
+       _bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
+       instead.
+       (_bfd_mips_elf_relocate_section): Likewise.  Handle R_MIPS16_HI16
+       and R_MIPS16_LO16.
+       * elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
+       (_bfd_mips16_elf_reloc_shuffle): Likewise.
+       * reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
+       (BFD_RELOC_MIPS16_HI16_S): Likewise.
+       (BFD_RELOC_MIPS16_LO16): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2005-02-15  Jan Beulich  <jbeulich@novell.com>
+
+       * elfxx-ia64.c (ia64_howto_table): Correct strings for
+       R_IA64_DTPMOD64[LM]SB.
+
+2005-02-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
+       backward branch in the same section.
+       (elfNN_ia64_relocate_section): Inform users that the input
+       section is too big to relax br instruction when overflow
+       happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
+       and R_IA64_PCREL21F.
+
+2005-02-14 Orjan Friberg <orjanf@axis.com>
+
+       * elfcore.h (elf_core_file_p): Move the call to
+       elf_backend_object_p to allow the correct machine to be set before
+       processing the program headers.
+
+2005-02-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/716
+       * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address
+       aware flag from the input bfd to the output bfd.
+
+2005-02-11  Maciej W. Rozycki  <macro@mips.com>
+
+       * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
+       R_MIPS_LITERAL relocations for external symbols.
+       * elf64-mips.c (mips_elf64_literal_reloc): Likewise.
+       * elfn32-mips.c (mips_elf_literal_reloc): Likewise.
+
+2005-02-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd-in2.h: Rebuilt.
+
+2005-02-11  Paul Brook  <paul@codesourcery.com>
+
+       * elf-bfd.h (struct elf_link_hash_table): Add
+       is_relocatable_executable.
+       * elf.c (_bfd_elf_link_hash_table_init): Initialize it.
+       * elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
+       symbols in relocatable executables.
+       (bfd_elf_record_link_assignment): Create dynamic section symbols in
+       relocatable executables.
+       (_bfd_elf_link_renumber_dynsyms): Ditto.
+       (bfd_elf_final_link): Ditto.
+       * elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
+       relocations into relocatable executables.
+       (elf32_arm_check_relocs): Crate dynamic sections for relocatable
+       executables.  Also copy absolute relocations.
+       (elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
+       in relocatable executables.
+       (allocate_dynrelocs): Copy relocations for relocatable executables.
+       Output dynamic symbols for symbols defined in linker scripts.
+
+2005-02-11  Nick Clifton  <nickc@redhat.com>
+
+       * libbfd.c (read_signed_leb128): Use an unsigned type for 'shift'
+       to avoid a compile time warning.
+
+       * coff-alpha.c (alpha_adjust_reloc_in): Remove redundant test from
+       BFD_ASSERT.
+
+       * coff-tic4x.c (coff_rtype_to_howto): Move definition before
+       inclusion of coffcode.h so that it is actually picked up.
+
+       * coffcode.h (coff_std_swap_table): Add an unused attribute in
+       case it is not used.
+
+       * elf32-ip2k.c (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused
+       structure and macro.
+
+       * elf32-iq2000.c (iq2000_reloc_map): Remove unused structure and
+       array.
+
+       * elf32-m32r.c (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC
+       to protect the declaration of this array.
+
+       * xsym.c (bfd_sym_parse_contained_variables_table_entry_v32):
+       Avoid call to memcpy with a size of 0.
+
+2005-02-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
+       old-style branches to undefined dot-symbols which will be
+       satisfied by a plt call.
+
+2005-02-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (move_plt_plist): New function, extracted from..
+       (ppc64_elf_copy_indirect_symbol): ..here.
+       (func_desc_adjust): Use move_plt_plist.
+
+2005-02-10  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
+
+2005-02-10  Paul Brook  <paul@codesourcery.com>
+
+       * elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
+       symbols local.
+       (elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
+       (elf_link_renumber_local_hash_table_dynsyms): New function.
+       (_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
+
+2005-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * bfd-in.h (BFD_LINKER_CREATED): Define.
+       * bfd-in2.h: Rebuilt.
+       * elflink.c (bfd_elf_size_dynamic_sections): Disregard
+       BFD_LINKER_CREATED bfds when determining input bfds without
+       .note.GNU-stack section.
+
+2005-02-10  Maciej W. Rozycki  <macro@mips.com>
+
+       * elf64-mips.c (mips16_gprel_reloc): Update a comment.
+       * elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
+       relocations against external symbols unchanged.
+
+2005-02-08  Paul Brook  <paul@codesourcery.com>
+
+       * elflink.c (elf_link_input_bfd): Ignore symbols from null input
+       sections.
+
+2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elflink.c (elf_link_add_object_symbols): Don't add "warning: "
+       prefix here.
+
+2005-02-07  Maciej W. Rozycki  <macro@mips.com>
+
+       * elf64-mips.c: Fix formatting throughout.
+
+2005-02-07  Maciej W. Rozycki  <macro@mips.com>
+
+       * elfn32-mips.c (elf_mips_howto_table_rela): Fix a comment typo.
+
+2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
+       *ABS*/*UND* sections.
+       (elf32_frv_relocate_section): Move zero-addend-required error...
+       (_frv_emit_got_relocs_plt_entries): ... here.  Report error for
+       missing needed TLS section.
+
+2005-02-07  Hans-Peter Nilsson  <hp@axis.com>
+
+       * aoutx.h (NAME(aout,find_nearest_line)): Correct case for N_SO
+       being the last symbol.
+       (aout_link_add_symbols): Just return TRUE if a warning
+       symbol was last.
+
+2005-02-07  Maciej W. Rozycki  <macro@mips.com>
+
+       * elf32-mips.c (mips_elf_gprel32_reloc): Reject
+       R_MIPS_GPREL32 relocations against external symbols.
+       * elf64-mips.c (mips_elf64_gprel32_reloc): Replace an incorrect
+       comment.
+
+2005-02-07  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (elf_string_from_elf_strtab): Delete macro.
+       * elf.c (bfd_elf_string_from_elf_section): Expand occurrence of
+       elf_string_from_elf_strtab.
+       (_bfd_elf_setup_group_pointers, bfd_section_from_shdr): Likewise.
+       (bfd_section_from_shdr): For SHT_SYMTAB, load SHT_SYMTAB_SHNDX too
+       if it exists.  Don't do the reverse for SHT_SYMTAB_SHNDX.  For
+       SHT_STRTAB, check whether the strtab is for symtab or dynsymtab by
+       looking at cached symtab info first, before iterating over headers.
+       For SHT_REL and SHT_RELA, load dynsymtab if needed.
+       * elfcode.h (elf_object_p): Don't load section header stringtab
+       specially.
+
+2005-02-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Disallow R_386_GOTOFF
+       against protected function when building shared library.
+
+       PR 584
+       * elf64-x86-64.c (is_32bit_relative_branch): New.
+       (elf64_x86_64_relocate_section): Alllow R_X86_64_PC32 on a
+       protected function symbol when building shared library for
+       32bit relative branch instruction.
+
+2005-02-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (add_symbol_adjust): Don't create fake descriptor
+       syms when doing a relocatable link.
+       (ppc64_elf_gc_mark_hook): Check that syms are defined before looking
+       at u.def.section.
+       (ppc64_elf_tls_setup): Likewise.
+       (ppc64_elf_edit_opd): Don't use an undefined func desc sym.
+
+2005-02-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (struct ppc_link_hash_entry): Add "fake".
+       (link_hash_newfunc): Clear all locals using memset.
+       (make_fdh): Remove flags param.  Always create fake func desc
+       weak.  Link the descriptor with the code entry sym.
+       (ppc64_elf_archive_symbol_lookup): Don't return fake syms.
+       (add_symbol_adjust): Adjust make_fdh call.
+       (func_desc_adjust): Likewise.  Twiddle any pre-existing fake
+       descriptor to strong undefined if code entry is strong.
+
+2005-02-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (bfd_elf_record_link_assignment): Do "provide" symbol
+       lookup here.  Set to new before calling bfd_link_repair_undef_list.
+       (elf_smash_syms): Check that u.undef.weak isn't the not_needed bfd.
+
+2005-02-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * linker.c (_bfd_link_hash_newfunc): Set all local fields.
+
+2005-02-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Set u.undef.weak.
+       * elflink.c (elf_smash_syms): Restore symbols that were undefweak
+       before the as-needed lib was loaded.  Abort on unexpected refs.
+
+2005-02-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_smash_syms): Expand comments.
+       (elf_link_add_object_symbols): Only call elf_smash_syms for
+       as-needed dynamic objects.
+
+       * elfxx-ia64.c (elfNN_ia64_new_elf_hash_entry): Don't clear
+       everything, just the field specific to ia64.
+       * elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Likewise.
+
+2005-02-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (func_desc_adjust): Move code creating func desc sym to..
+       (make_fdh): ..here.  New function.  Don't set BSF_OBJECT for
+       undefined syms.
+       (struct add_symbol_adjust_data): New.
+       (add_symbol_adjust): Make an undefweak func desc for old ABI
+       objects to link with --as-needed shared libs.  Return fail status.
+       Don't adjust old ABI func entry sym to weak if func desc syms
+       isn't defined.
+       (ppc64_elf_check_directives): Adjust call to add_symbol_adjust,
+       and return status.
+
+2005-02-01  Hans-Peter Nilsson  <hp@axis.com>
+
+       * cpu-cris.c (get_compatible): Rearrange disabled code and comment
+       for clarity.
+
+2005-02-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup..
+       * linker.c (bfd_link_repair_undef_list): ..to new function, but don't
+       remove anything but new and undefweak.
+       * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any
+       existing _DYNAMIC.
+       (_bfd_elf_create_dynamic_sections): Formatting.
+       (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list.
+       (_bfd_elf_merge_symbol): Don't handle as-needed syms here.
+       (struct elf_smash_data): New.
+       (elf_smash_syms): New function.
+       (elf_link_add_object_symbols): Call elf_smash_syms.  Don't add
+       unneeded dynamic objects to loaded list.
+       (elf_link_output_extsym): Don't handle as-needed here.  Strip
+       bfd_link_hash_new symbols.
+       * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+       delref when dynindx is already -1.
+       * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new
+       symbols.
+       * elfxx-mips.c (mips_elf_output_extsym): Likewise.
+
+2005-02-01  Ben Elliston  <bje@au.ibm.com>
+
+       * elfxx-target.h (bfd_elfNN_bfd_discard_group): Redefine.
+
+2005-02-01  Ben Elliston  <bje@au.ibm.com>
+
+       * aout-arm.c, aout-target.h, aoutx.h, archive.c, armnetbsd.c,
+       bfd-in.h, bfdio.c, coff-alpha.c, coff-arm.c, coff-h8300.c,
+       coff-i860.c, coff-mcore.c, coff-or32.c, coff-ppc.c, coff-sh.c,
+       coff-sparc.c, coffcode.h, coffgen.c, cofflink.c, cpu-cris.c,
+       cpu-h8500.c, cpu-ns32k.c, ecoff.c, ecofflink.c, elf.c,
+       elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-hppa.c,
+       elf32-i860.c, elf32-ip2k.c, elf32-m32r.c, elf32-sh.c,
+       elf32-v850.c, elf64-mips.c, elf64-sparc.c, elflink.c,
+       i386aout.c, i386msdos.c, i386os9k.c, ieee.c, mach-o.c,
+       nlm32-sparc.c, oasys.c, opncls.c, pdp11.c, pe-mips.c, peXXigen.c,
+       pef.c, peicode.h, reloc.c, riscix.c, section.c, simple.c, som.c,
+       sparclynx.c, targets.c, vms-misc.c, vms-tir.c, xsym.c, doc/chew.c,
+       hosts/delta68.h, hosts/vaxbsd.h: Remove #if 0'd code
+       throughout. Similarly, collapse #if 1'd code.
+
+2005-02-01  Ben Elliston  <bje@au.ibm.com>
+
+       * elf-bfd.h (bfd_elf_discard_group): Remove.
+       * elf.c (bfd_elf_discard_group): Likewise.
+       * elfxx-target.h (bfd_elfNN_bfd_discard_group): Remove macro.
+
+2005-01-31  Richard Sandiford  <rsandifo@redhat.com>
+
+       * elf-bfd.h (elf_backend_data): Add elf_backend_eh_frame_address_size.
+       (_bfd_elf_eh_frame_address_size): Declare.
+       * elfxx-target.h (elf_backend_eh_frame_address_size): Define a default.
+       (elfNN_bed): Initialize elf_backend_eh_frame_address_size.
+       * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Declare.
+       (elf_backend_eh_frame_address_size): Define.
+       * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): New function.
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Get the address
+       size from the new backend hook.
+       (_bfd_elf_write_section_eh_frame): Likewise.
+       (_bfd_elf_eh_frame_address_size): New function.
+
+2005-01-31  Andrew Cagney  <cagney@gnu.org>
+
+       * configure: Regenerate to track ../gettext.m4.
+
+2005-01-31  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
+       SHF_WRITE for .init_array, .fini_array, and .preinit_array.
+
+2005-01-31  Nick Clifton  <nickc@redhat.com>
+
+       * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos,
+       sparc-lynxos, vax-vms) be obsolete.
+
+2005-01-28  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elf-bfd.h (struct elf_backend_data): Add minpagesize.
+       * elf32-arm.c (ELF_MINPAGESIZE): Define.
+       * elf32-ppc.c (ELF_MINPAGESIZE): Define.
+       * elfcode.h (elf_object_p): Use minpagesize instead of
+       maxpagesize.
+       * elfxx-target.h (ELF_MINPAGESIZE): Default to ELF_MAXPAGESIZE.
+       (elfNN_bed): Include ELF_MINPAGESIZE.
+
+2005-01-28  Julian Brown  <julian@codesourcery.com>
+
+       * bin-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
+       * bin-in2.h (bfd_elf32_arm_set_target_relocs): Update prototype.
+       * elf32-arm.c (elf32_arm_link_hash_table): Add fix_v4bx flag.
+       (bfd_elf32_arm_set_target_relocs): Add formal parameter fix_v4bx for
+       passing flag value from ld. Set flag value in global hash table entry.
+       (elf32_arm_final_link_relocate): Add code to implement R_ARM_V4BX
+       relocation.
+
+2005-01-27  Andrew Cagney  <cagney@gnu.org>
+
+       * configure: Regenerate to track ../gettext.m4 change.
+
+2005-01-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * elf32-arm.c (elf_backend_default_use_rela_p): Define to zero for
+       SymbianOS.
+
+2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       2004-12-10  Alexandre Oliva  <aoliva@redhat.com>
+       * elf32-frv.c (elf32_frv_relocate_section): Force local binding
+       for TLSMOFF.
+       * reloc.c: Add R_FRV_TLSMOFF.
+       * elf32-frv.c (elf32_frv_howto_table): Likewise.
+       (frv_reloc_map, frv_reloc_type_lookup): Map it.
+       (elf32_frv_relocate_section): Handle it.
+       (elf32_frv_check_relocs): Likewise.
+       * libbfd.h, bfd-in2.h: Rebuilt.
+       2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+       * elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
+       when given an undefweak TLS symbol.  Fix constant TLS PLT entries
+       such that they return the constant in gr9.
+       (_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
+       symbols.
+       (_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
+       too, such that they shrink on relaxation.
+       (elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
+       marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
+       (_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
+       if we can guarantee the use of 16-bit constants.
+       2004-11-10  Alexandre Oliva  <aoliva@redhat.com>
+       Introduce TLS support for FR-V FDPIC.
+       * reloc.c: Add TLS relocations.
+       * elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
+       (elf32_frv_rel_tlsdesc_value_howto): New.
+       (elf32_frv_rel_tlsoff_howto): New.
+       (frv_reloc_map): Add new mappings.
+       (struct frvfdpic_elf_link_hash_table): Add pointer to summary
+       reloc information.
+       (frvfdpic_dynamic_got_plt_info): New.
+       (frvfdpic_plt_tls_ret_offset): New.
+       (ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
+       (struct _frvfdpic_dynamic_got_info): Likewise.  Add TLS members.
+       (struct _frvfdpic_dynamic_got_plt_info): Likewise.
+       (FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
+       section as local.
+       (struct frvfdpic_relocs_info): Add TLS fields.
+       (frvfdpic_relocs_info_hash): Warning clean up.
+       (frvfdpic_relocs_info_find): Initialize tlsplt_entry.
+       (frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
+       (FRVFDPIC_TLS_BIAS): Define.
+       (tls_biased_base): New.
+       (_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
+       relocations.
+       (frv_reloc_type_lookup): Likewise.
+       (frvfdpic_info_to_howto_rel): Likewise.
+       (elf32_frv_relocate_section): Likewise.
+       (_frv_create_got_section): Create the PLT section here.
+       (elf32_frvfdpic_create_dynamic_sections): Not here.
+       (_frvfdpic_count_nontls_entries): Move out of...
+       (_frvfdpic_count_got_plt_entries): ... here.
+       (_frvfdpic_count_tls_entries): Likewise.  Add TLS support.
+       (_frvfdpic_count_relocs_fixups): Likewise.  Add relaxation
+       support.
+       (_frvfdpic_relax_tls_entries): New.
+       (_frvfdpic_compute_got_alloc_data): Add TLS support.
+       (_frvfdpic_get_tlsdesc_entry): New.
+       (_frvfdpic_assign_got_entries): Add TLS support.
+       (_frvfdpic_assign_plt_entries): Likewise.
+       (_frvfdpic_reset_got_plt_entries): New.
+       (_frvfdpic_size_got_plt): Move out of...
+       (elf32_frvfdpic_size_dynamic_sections): ... here.
+       (_frvfdpic_relax_got_plt_entries): New.
+       (elf32_frvfdpic_relax_section): New.
+       (elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
+       (elf32_frv_check_relocs): Add TLS support.
+       (bfd_elf32_bfd_relax_section): Define for FDPIC.
+       * libbfd.h, bfd-in2.h: Rebuilt.
+
+2005-01-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
+       loadable reloc sections.
+       (_bfd_elf_canonicalize_dynamic_reloc): Likewise.
+       (_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
+
+2005-01-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_link_add_object_symbols): Don't create link dynamic
+       sections immediately when linking shared libs.  Instead, wait until
+       we know a lib is needed.
+       (_bfd_elf_link_create_dynstrtab): Extract from..
+       (_bfd_elf_link_create_dynamic_sections_): ..here.
+       (elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
+       _bfd_elf_link_create_dynamic_sections.  Add abfd param.  Allow
+       for non-existent .dynamic.
+       (elf_link_output_extsym): Don't complain about undefined symbols
+       in as-needed dynamic libs that aren't actually linked.
+
+2005-01-24  Andrew Cagney  <cagney@gnu.org>
+
+       * configure: Regenerate, ../gettext.m4 was updated.
+
+2005-01-21  Ben Elliston  <bje@au.ibm.com>
+
+       * aout-encap.c: Remove unused file.
+
+2005-01-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 679
+       * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
+       non-function symbols are local.
+       (_bfd_elf_symbol_refs_local_p): Likewise.
+
+2005-01-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * bfd.c (bfd_link_just_syms): Add abfd param.
+       * bfd-in2.h: Regenerate.
+
+2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
+       (_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
+       instructions.  If the amount of padding is known, reduce the size
+       of the CIE or FDE by that amount.
+
+2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
+       augmentation_size.  Use bfd_signed_vmas for data_align.
+       * elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
+       (read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
+       functions.  Don't read past the end of the enclosing CIE or FDE.
+       (skip_bytes): New utility function.
+       (_bfd_elf_discard_section_eh_frame): Use new functions, adding more
+       sanity checking.
+       (_bfd_elf_write_section_eh_frame): Use new functions.
+
+2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
+       assert-style REQUIRE() macro to handle sanity checks.
+
+2005-01-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
+       (comp_unit): Here.
+       (read_unsigned_leb128): Removed.
+       (read_signed_leb128): Removed.
+       (find_abstract_instance_name): Updated.
+       (parse_comp_unit): Accept info_ptr_unit.
+       (_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
+       comp unit and pass it to parse_comp_unit.
+
+       * elf-eh-frame.c (read_unsigned_leb128): Moved to ...
+       (read_signed_leb128): Moved to ...
+       * libbfd.c: Here.
+
+       * libbfd-in.h (read_unsigned_leb128): New prototype.
+       (read_signed_leb128): Likewise.
+       * libbfd.h: Regenerated.
+
+2005-01-17  Andrew Stubbs  <andrew.stubbs@st.com>
+           Nick Clifton   <nickc@redhat.com>
+
+       * cpu-sh.c (bfd_to_arch_table): Change arch_sh1_up to arch_sh_up,
+       arch__sh4_nofp_up to arch_sh4_nofpu_up and arch_sh4a_nofp_up to
+       arch_sh4a_nofpu_up in order to match the external names and make the
+       testsuite's job easier.
+       * archuires.c: Rename bfd_mach_sh2a_fake? to more meaningful
+       names.
+       * bfd-in2.h: Regenerate.
+
+2005-01-15  Andrew Cagney  <cagney@gnu.org>
+
+       * bfd.m4: New file.
+       * acinclude.m4: Move BFD_NEED_DECLARATION,
+       BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
+       the new file bfd.m4.  Include ../bfd/bfd.m4.
+       * configure: Re-generate.
+
 2005-01-12  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
This page took 0.032442 seconds and 4 git commands to generate.