* elf-bfd.h (ELF_COMMON_DEF_P): New.
[binutils-gdb.git] / bfd / ChangeLog
index c181a3716959910c8e1c31710641ced79a26ddf6..2f4b51952ca75c216d851c88db595441bfdb7bea 100644 (file)
@@ -1,3 +1,196 @@
+2004-07-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf-bfd.h (ELF_COMMON_DEF_P): New.
+       * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
+       common definitions.
+       * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
+       _bfd_elf_symbol_refs_local_p.
+       * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
+       symbols.
+
+2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
+       DYN_NO_NEEDED.
+       (bfd_elf_get_dyn_lib_class): New prototype.
+       * elf.c (bfd_elf_get_dyn_lib_class): New function.
+
+       * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
+       DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
+       entry is needed. Issue an error if a DT_NEEDED entry is needed
+       for a file marked DYN_NO_NEEDED.
+       (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
+       for DT_NEEDED tags.
+
+       * bfd-in2.h: Regenerated.
+
+2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * elflink.c (elf_section_complain_discarded): Don't complain in
+       .PARISC.unwind.
+
+2004-07-10  James E Wilson  <wilson@specifixinc.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
+       (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
+       (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
+       elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
+       Fix callers.
+       (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64.  Change
+       bfd_put_64 to bfd_putl64.
+       (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
+       
+2004-07-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 240
+       * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
+       .init/.fini sections when trying to relax it.
+
+2004-07-09  Jie Zhang  <zhangjie@magima.com.cn>
+
+       * elf.c (assign_file_positions_for_segments): Make sure the
+       .dynamic section is the first section in the PT_DYNAMIC segment.
+
+2004-07-09  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
+       * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
+       sh_elf_get_flags_from_mach functions so that they do not conflict
+       when this target is built with other sh-elf targets.
+       * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
+       suppression of this function.
+       (sh_elf_find_flags): Likewise.
+
+2004-07-07  Tomer Levi  <Tomer.Levi@nsc.com>
+
+       * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
+       (ALL_MACHINES_CFILES): Add cpu-crx.c.
+       (BFD32_BACKENDS): Add elf32-crx.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
+       (cpu-crx.lo): New target.
+       (elf32-crx.lo): New target.
+       * Makefile.in: Regenerate.
+       * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
+       (bfd_archures_list): Add bfd_crx_arch.
+       * bfd-in2.h: Regenerate.
+       * config.bfd: Handle crx-*-elf*, crx*.
+       * configure.in: Handle bfd_elf32_crx_vec.
+       * configure: Regenerate.
+       * cpu-crx.c: New file.
+       * elf32-crx.c: Likewise.
+       * libbfd.h: Regenerate.
+       * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
+       BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
+       BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
+       BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
+       BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
+       BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
+       * targets.c (bfd_elf32_crx_vec): Declare.
+       (bfd_target_vector): Add bfd_elf32_crx_vec.
+
+2004-07-06  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Add sh-symbian-elf target.
+       * configure.in: Add bfd_elf32_shl_symbian_vec.
+       * configure: Regenerate.
+       * elf-bfd.h (struct elf_backend_data): Add new field
+       'check_directives'.
+       * elflink.c (elf_link_add_object_symbols): Invoke the
+       check_directives function, if defined.
+       * elfxx-target.h: Provide a default, NULL definition for
+       check_directives.
+       * targets.c: Add bfd_elf32_shl_symbian_vec.
+       * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
+       definition.
+       (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
+       * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
+       (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
+       not already been defined.
+       * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
+       * sh-symbian.c: New file.  Provide functions to support the
+       * sh-symbian-elf target.
+       * Makefile.am: Add elf32-sh-symbian.c
+       * Makefile.in: Regenerate.
+
+2004-07-05  Andrew Stubbs <andrew.stubbs@superh.com>
+
+       * elf32-sh.c: Include ../opcodes/sh-opc.h.
+       * Makefile.am: Ran make dep-am.
+       * Makefile.in: Ran make dep-in.
+
+2004-07-03  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
+
+       * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
+       externals properly.
+
+2004-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * config.bfd: Add want64 to configuration target s390-*-linux*.
+
+2004-07-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_get_section_ident): New.
+
+       * elflink.c (elf_link_read_relocs_from_section): Call
+       bfd_get_section_ident to identify the section when reporting
+       error.
+       (_bfd_elf_link_output_relocs): Likewise.
+       (elf_link_output_extsym): Likewise.
+       (elf_link_input_bfd): Likewise.
+       (bfd_elf_gc_record_vtinherit): Likewise.
+
+       * bfd-in2.h: Regenerated.
+
+2004-07-01  Jie Zhang  <zhangjie@magima.com.cn>
+           Nick Clifton  <nickc@redhat.com>
+
+       PR 204
+       * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
+       of section symbols to mips_elf_sort_hash_table ().
+
+2004-07-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_section_ignore_discarded_relocs): Revert last
+       change.  Comment.
+       (elf_section_complain_discarded): New function.  Handle
+       .gcc_except_table too.
+       (elf_link_input_bfd): Rewrite handling of relocs against symbols
+       in discarded sections.
+       * elf-bfd.h (elf_discarded_section): Protect macro arg.
+
+2004-06-30  James E Wilson  <wilson@specifixinc.com>
+
+       * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff.  Initialize
+       to NULL.  Call get_pltoff if NULL and NEED_PLTOFF is true.
+
+2004-06-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 233
+       * elflink.c (elf_link_input_bfd): Issue an error for non-debug
+       local references to discarded sections and report their
+       locations.
+
+2004-06-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_section_ignore_discarded_relocs): Don't test
+       sec_info_type, test section name instead.
+
+2004-06-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 240
+       * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
+       in .init/.fini sections.
+
+2004-06-29  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_relocate_section): Use
+       bfd_get_section_limit.
+
+2004-06-29  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
+       output section size.
+
 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
 
        * bfd-in.h (bfd_get_section_limit): Define.
-       * reloc.c (bfd_perform_relocation, bfd_install_relocation) 
+       * reloc.c (bfd_perform_relocation, bfd_install_relocation)
        (_bfd_final_link_relocate): Use bfd_get_section_limit.
        * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
        * coff-arm.c (coff_arm_relocate_section): Likewise.
        (bfd_ns32k_final_link_relocate): Likewise.
        * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
        * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
-       * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc) 
+       * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
        (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
-       * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc) 
+       * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
        (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
        * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
        * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
        * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
        * elf64-sparc.c (init_insn_reloc): Likewise.
        * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
-       * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp) 
-       (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc) 
+       * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
+       (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
        (_bfd_mips_elf_generic_reloc): Likewise.
        * bfd-in2.h: Regenerate.