* elf-bfd.h (struct elf_backend_data): Added
[binutils-gdb.git] / bfd / ChangeLog
index 00748f33cc4d85d1dbe3054f1db85c712721e773..249f266f30e3024b538c2ea091464b987ad8f023 100644 (file)
@@ -1,3 +1,198 @@
+2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf-bfd.h (struct elf_backend_data): Added
+       elf_backend_can_make_relative_eh_frame,
+       elf_backend_can_make_lsda_relative_eh_frame and
+       elf_backend_encode_eh_address.
+       (_bfd_elf_encode_eh_address): Declare.
+       (_bfd_elf_can_make_relative): Declare.
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
+       hooks to decide whether to attempt to make_relative and
+       make_lsda_relative.
+       (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
+       (_bfd_elf_can_make_relative): New.
+       (_bfd_elf_encode_eh_address): New.
+       * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
+       (frv_elf_encode_eh_address): New.
+       (elf_backend_can_make_relative_eh_frame): Define.
+       (elf_backend_can_make_lsda_relative_eh_frame): Define.
+       (elf_backend_encode_eh_address): Define.
+       * elfxx-target.h
+       (elf_backend_can_make_relative_eh_frame): Define.
+       (elf_backend_can_make_lsda_relative_eh_frame): Define.
+       (elf_backend_encode_eh_address): Define.
+       (elfNN_bed): Add them.
+
+2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
+       complain_on_overflow to signed.
+
+2004-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.h (sort_symbol): New.
+       (elf_link_add_object_symbols): Use a sorted symbol array for
+       weakdef.
+
+2004-02-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
+       for pc relative relocs.
+       (elf_s390_relocate_section): Likewise.
+       * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
+       for pc relative relocs.
+       (elf_s390_relocate_section): Likewise.
+
+2004-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
+       count_dyn_reloc.
+
+2004-02-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
+       field to track if a relocation is against readonly section.
+       (count_dyn_reloc): Take a new argument for rent->reltext.
+       (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
+       (get_reloc_section): Don't set ia64_info->reltext here.
+       (allocate_dynrel_entries): Set ia64_info->reltext here.
+
+2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
+       (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
+       function's descriptor to symbol+offset, and map local undefweak
+       symbol to NULL function descriptor.
+       (elf32_frv_relocate_section): Likewise.
+
+2004-02-23  Mark Kettenis  <kettenis@gnu.org>
+
+       * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
+       M_X86_64_NETBSD.
+       * netbsd-core.c (M_SPARC64_OPENBSD): Define.
+       (netbsd_core_file_p): Set architecture from machine ID for
+       selected machines.
+
+2004-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
+       DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
+
+2004-02-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
+       symbols with non-default visibility.
+
+2004-02-21  Danny Smith  <daanysmith@users.sourceforge.net>
+
+       * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
+       IMAGE_SCN_MEM_WRITE on known sections only.
+
+2004-02-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
+       symbols used in PIE relocs.
+
+2004-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
+       .plt sh_entsize.
+
+2004-02-18  Daniel Jacobowitz  <drow@mvista.com>
+
+       * configure.in: Update version to 2.15.90.
+       * configure: Regenerate.
+
+2004-02-17  Daniel Jacobowitz  <drow@mvista.com>
+            Richard Sandiford  <rsandifo@redhat.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Use
+       _bfd_elf_symbol_refs_local_p to decide whether to decay
+       a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
+       (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
+       relocs if the symbol wasn't defined by a regular object file.
+       Don't check the symbol's dynindx.
+
+2004-02-16  Andrew Cagney  <cagney@redhat.com>
+
+       * bfd-in.h (file_ptr, ufile_ptr): Configure type using
+       @bfd_file_ptr@.
+       * bfd-in2.h: Re-generate.
+
+2004-02-14  Andrew Cagney  <cagney@redhat.com>
+
+       * configure.host (HDEFINES): When hppa*-*-hpux*, define
+       _LARGEFILE64_SOURCE.
+
+2004-02-13  Andrew Cagney  <cagney@redhat.com>
+
+       * elf.c (vma_page_aligned_bias): New function.
+       (assign_file_positions_except_relocs)
+       (assign_file_positions_for_segments): Replace broken modulo
+       arithmetic with call to vma_page_aligned_bias.
+
+2004-02-11  Andrew Cagney  <cagney@redhat.com>
+
+       * bfd-in.h: Update copyright.
+       (bfd_tell): Change return type to file_ptr.
+       * bfd-in2.h: Re-generate.
+       * cache.c: Update copyright.
+       (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
+       parameter.
+       (close_one): Use real_ftell.
+       * bfdio.c: Update copyright.
+       (real_ftell, real_fseek): New functions.
+       (bfd_tell): Use real_fseek and real_ftell, change return type to
+       file_ptr.
+       (bfd_seek): Use real_ftell and real_fseek, change type of
+       file_position to a file_ptr.
+       * libbfd-in.h: Update copyright.
+       (real_ftell, real_fseek): Declare.
+       * libbfd.h: Re-generate.
+
+       * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
+       fseeko and fseeko64.  Determine bfd_file_ptr.
+       * configure: Re-generate.
+       * config.in: Re-generate.
+       
+2004-02-09  Anil Paranjpe  <anilp1@KPITCummins.com>
+
+       * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
+       * elf32-h8300.c: Likewise.
+
+2004-02-09  Christian Vogel <vogelchr@vogel.cx>
+           Nick Clifton  <nickc@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
+       GOT entries with no associated GOT subsection.
+
+2004-02-09  Richard Sandiford  <rsandifo@redhat.com>
+
+       * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
+       * elf.c (swap_out_syms): Use it to decide whether local section
+       symbols should be named.
+       * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
+       * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
+       (elf_backend_name_local_section_symbols): Define.
+       * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
+
+2004-01-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
+       (elfNN_ia64_relax_section): Optimize brl to br during the relax
+       finalize pass.
+
+2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
+       to bfd_link_hash_entry passed by reference to
+       _bfd_generic_link_add_one_symbol.
+
+2004-01-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
+       relocations against dynamic symbols.
+
 2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
 
        * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13