OSDN Git Service

2006-05-24 Paul Brook <paul@codesourcery.com>
[pf3gnuchains/pf3gnuchains3x.git] / bfd / ChangeLog
index 76e740c..79b6321 100644 (file)
@@ -1,3 +1,128 @@
+2006-05-24  Paul Brook  <paul@codesourcery.com>
+
+       * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms
+       * elf32-arm.c (output_arch_syminfo): Define.
+       (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map,
+       elf32_arm_output_arch_local_syms): New functions.
+       (elf_backend_output_arch_local_syms): Define.
+       * elflink.c (bfd_elf_final_link): Call
+       elf_backend_output_arch_local_syms.
+       * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default
+       definition.
+       (elfNN_bed): Add elf_backend_output_arch_local_syms.
+
+2006-05-24  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions.
+       (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
+       elf32_arm_finish_dynamic_symbol): Use them.
+
+2006-05-24  Carlos O'Donell  <carlos@systemhalted.org>
+           Randolph Chung  <tausq@debian.org>
+           
+       * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for
+       TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations.
+       Add handling for TLS relocations.
+       (elf_hpp_reloc_final_type): Handle TLS relocs.
+       * elf32-hppa.c: Add authors for cleanup and TLS support.
+       (hppa_elf_local_got_tls_type, hh_name, eh_name): Define.
+       (elf32_hppa_link_hash_entry): Add tls_type.
+       (elf32_hppa_link_hash_table): Add tld_ldm_got.
+       (hppa_link_has_newfunc): Set tls_type.
+       (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount.
+       (hppa_stub_name): Use hh_name macro.
+       (elf32_hppa_copy_indirect_symbol): Copy TLS information.
+       (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc.
+       Handle TLS relocs.
+       (elf32_hppa_gc_sweep_hook): Likewise. 
+       (allocate_dynrelocs): Handle TLS relocs.
+       (elf32_hppa_size_dynamic_sections): Count space required by TLS
+       relocs. Use hh_name macro.
+       (dtpoff_base): New function.
+       (tpoff): Likewise.
+       (elf32_hppa_optimized_tls_reloc): Likewise.
+       (final_link_relocate): Handle TLS relocs.
+       (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name
+       and hh_name macros.
+       (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use
+       hh_name and eh_name macros.
+       (elf32_hppa_reloc_type_clas): Handle TLS relocs.
+
+2006-05-24  Bjoern Haase  <bjoern.m.haase@web.de> 
+
+        * archures.c: Add bfd_mach_avr6.
+       * cpu-avr.c: Likewise.
+       * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS):
+       New relocations.
+       * libbfd.h: Regenerate. 
+       * bfd-in2.h:Regenerate.
+       * elf32-avr.h: New file.  Protoypes for functions accessed from ld.
+       * elf32-avr.c: Add elf32-avr.h to include list.
+       (elf32_avr_stub_hash_entry): New function.
+       (elf32_avr_link_hash_table): New struct.
+       (avr_link_hash_table): Likewise.
+       (avr_stub_hash_entry): Likewise.
+       (avr_stub_hash_lookup): New function.
+       (stub_hash_newfunc): New function.
+       (elf32_avr_link_hash_table_create): New function.
+       (elf32_avr_link_hash_table_free): New function.
+       (avr_get_stub_addr): New function.
+       (debug_relax, debug_stubs): Add new global variables controlling
+       debugging printout to stdout.
+       (avr_pc_wrap_around): Change the type to bfd_vma.
+       (avr_replace_call_ret_sequences): Add a new variable controling 
+       linkrelax optimizations.
+       (avr_stub_is_required_for_16_bit_reloc): New function.
+       (avr_final_link_relocate): 
+       Add linker hash table to parameter list. Use stub addr. if necessary.
+       (elf32_avr_relocate_section):
+       Add linker hashtable to parameter list of avr_final_link_relocate.
+       (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6.
+       (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6.
+       (elf32_avr_relax_delete_bytes):
+       Iterate over all sections of a bfd when adjusting relocs addends.
+       (elf32_avr_relax_section):
+       Evaluate avr_replace_call_ret_sequences and recalculate the size of 
+       stub section.
+       (avr_stub_name): New function.
+       (avr_get_stub_entry): New function.
+       (avr_add_stub): New function.
+       (avr_build_one_stub): New function.
+       (avr_size_one_stub): New function.
+       (elf32_avr_setup_params): New function.
+       (elf32_avr_setup_section_lists): New function.
+       (get_local_syms): New function.
+       (elf32_avr_size_stubs): New function.
+       (bfd_elf32_bfd_link_hash_table_create): New function.
+       (bfd_elf32_bfd_link_hash_table_free): New function.
+
+2006-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/2655
+       PR ld/2657
+       * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly
+       update CIE/FDE length.  Don't pad to the section alignment.
+
+2006-05-23  Jie Zhang  <jie.zhang@analog.com>
+
+       * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for
+       deteted entries in .eh_frame section.
+
+2006-05-23  Jie Zhang  <jie.zhang@analog.com>
+
+       * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_
+       instead of _GLOBAL_OFFSET_TABLE_.
+       (bfin_relocate_section): Ditto.
+       (_bfin_create_got_section): Ditto.
+       (elf32_bfinfdpic_create_dynamic_sections): Use
+       __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_.
+       (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC.
+
+2006-05-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (compare_symbols): Prefer strong dynamic global
+       function syms over other syms.
+
 2006-05-22  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL