X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=597e4ca62723a03af9e8f571b9b4fd2deb6eaddb;hb=d7eeb4006461c6c05dd2304c34078af8d43165f4;hp=82c99ad9aee0b7724af7d6c2fd8a422cbd6069f7;hpb=4c34844242617e154e98ef479fb740d4fc57f562;p=binutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 82c99ad9aee..597e4ca6272 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,167 @@ +2010-02-09 Michael Holzheu + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * section.c (struct bfd_section): Delete has_tls_reloc, + has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done. + Add sec_flg0 thru sec_flg5. + (BFD_FAKE_SECTION): Update for changed flags. + * ecoff.c (bfd_debug_section): Likewise. + * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. + * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define. + (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update. + * elf32-xtensa.c (reloc_done): Define. + * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update. + * bfd-in2.h: Regenerate. + +2010-02-08 Tristan Gingold + + * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern + for non-scattered relocations. + +2010-02-08 Nathan Sidwell + + * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty + apuinfo sections, only scan input sections once and reuse the + buffer. + +2010-02-08 Philipp Tomsich + + * archures.c (bfd_mach_ppc_titan): Define. + * bfd-in2.h: Regenerate. + * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry. + +2010-02-08 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code. + 2010-02-05 Sterling Augustine * elf.c (assign_file_positions_for_load_sections) Update lma of