bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 1e0985395ef0a9c942b7d6cfdec6f938dabb288c..597e4ca62723a03af9e8f571b9b4fd2deb6eaddb 100644 (file)
@@ -1,3 +1,132 @@
+2010-02-09  Michael Holzheu  <holzheu@de.ibm.com>
+
+       * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
+       elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
+       elfcore_write_s390_prefix): New.
+       * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
+       elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
+       elfcore_write_s390_prefix): New.
+       (elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
+       NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
+       (elfcore_write_register_note): Handle .reg-s390-timer, 
+       .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
+       .reg-s390-prefix section.
+
+2010-02-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
+       unsigned char.  Update variables and code using them throughout file.
+       (struct ppc_link_hash_entry): Likewise for tls_mask.
+
+       * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
+
+       * elf64-ppc.c (has_small_toc_reloc): Don't define.
+       (makes_toc_func_call, call_check_in_progress): Shuffle flags.
+       (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc.  Update
+       code setting the flag.
+       (ppc64_elf_next_toc_section): Group big-toc sections in
+       0x80008000 chunks.
+
+2010-02-08  David S. Miller  <davem@davemloft.net>
+
+       * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
+       srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
+
+       * elfxx-sparc.c (create_got_section): Delete.
+       (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
+       section creator does that work for us.  Use ->elf.foo instead of
+       ->foo where applicable.
+       (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
+       where applicable.
+       (allocate_dynrelocs): Likewise.
+       (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+       (_bfd_sparc_elf_relocate_section): Likewise.
+       (sparc_vxworks_build_plt_entry): Likewise.
+       (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
+       (sparc_finish_dyn): Likewise.
+       (sparc_vxworks_finish_exec_plt): Likewise.
+       (sparc_vxworks_finish_shared_plt): Likewise.
+       (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
+
+       * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
+       macros for visibilty and locality checks.
+       (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
+       (allocate_dynrelocs): Likewise.
+       (_bfd_sparc_elf_relocate_section): Likewise.
+       (_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
+
+       * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
+       but never used local var 'dynobj'.
+
+       * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
+       nocopyreloc.
+
+       * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
+       (BFD_RELOC_SPARC_IRELATIVE): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+       * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
+       and loc_hash_memory.
+       (_bfd_sparc_elf_link_hash_table_free): Declare.
+       * elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
+       (elf_backend_add_symbol_hook, elf_backend_post_process_headers,
+       bfd_elf32_bfd_link_hash_table_free): Define.
+       * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
+       has_ifunc_symbols if STT_GNU_IFUNC.
+       (bfd_elf64_bfd_link_hash_table_free): Define.
+       (elf_backend_post_process_headers): Define always.
+       * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
+       (sparc_reloc_map): Add entries for new IFUNC relocs.
+       (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
+       (_bfd_sparc_elf_info_to_howto_ptr): Likewise.
+       (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
+       elf_sparc_get_local_sym_hash): New.
+       (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
+       from here...
+       (_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
+       local hash table.
+       (_bfd_sparc_elf_link_hash_table_free): New.
+       (create_ifunc_sections): New.
+       (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
+       and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
+       cons up a fake local hash table entry for it.  Unconditionally add
+       a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
+       dyn relocs for ifunc.
+       (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
+       (allocate_dynrelocs):  Unconditionally emit a PLT entry when
+       STT_GNU_IFUNC and h->def_regular.  Count GOT dyn relocs for ifunc.
+       (allocate_local_dynrelocs): New function.
+       (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
+       table.  Emit dynamic relocs to irelplt when not shared.  Treat iplt
+       like splt.
+       (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
+       (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
+       plt in iplt/irelplt.
+
+2010-02-08  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
+       max_contents_size, only consider sections whose contents must
+       be swapped in.
+
+2010-02-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
+       (ppc64_elf_size_dynamic_sections): ..and here..
+       (merge_got_entries): ..rather than here.
+
+2010-02-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
+       (has_small_toc_reloc): Define.
+       (ppc64_elf_check_relocs): Set the above flags.
+       (ppc64_elf_edit_opd): Delete obfd param.
+       (ppc64_elf_tls_optimize): Likewise.
+       (ppc64_elf_edit_toc): Likewise.
+       (ppc64_elf_tls_setup): Likewise.  Add no_multi_toc param.
+       * elf64-ppc.h: Update prototypes.
+
 2010-02-08  Alan Modra  <amodra@gmail.com>
 
        * section.c (struct bfd_section): Delete has_tls_reloc,
This page took 0.025359 seconds and 4 git commands to generate.