bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index cf6d0300c4278c068c8b7e6fcac560331a06541b..075bbc3a90046af1363e2bb350839c4bf8689594 100644 (file)
@@ -1,3 +1,346 @@
+2006-05-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_emul_get_maxpagesize): New.
+       (bfd_elf_set_pagesize): Likewise.
+       (bfd_emul_set_maxpagesize): Likewise.
+       (bfd_emul_get_commonpagesize): Likewise.
+       (bfd_emul_set_commonpagesize): Likewise.
+       * bfd-in2.h: Regenerated.
+
+       * elf-bfd.h (elf_backend_data): Add commonpagesize.
+       (xvec_get_elf_backend_data): New.
+       (get_elf_backend_data): Use xvec_get_elf_backend_data.
+
+       * elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
+       * elfxx-target.h (elfNN_bed): Likewise.
+
+       * elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
+       * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
+       * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
+       * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
+       * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
+
+       * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
+       (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
+
+       * targets.c (bfd_find_target): Support NULL abfd.
+
+2006-05-30  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+
+2006-05-27  Alan Modra  <amodra@bigpond.net.au>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (assign_file_positions_for_load_sections): Retrieve
+       maxpagesize from m->p_align if it is valid.  Set p_vaddr,
+       p_paddr and p_align earlier.  Revert 2006-05-19 change to p_align.
+       (copy_elf_program_header): Copy p_align.  Set p_align_valid.
+
+2006-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000.
+
+2006-05-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (sym_is_global): Return a bfd_boolean.
+       (ignore_section_sym): New function.
+       (elf_map_symbols): Use ignore_section_sym to discard some syms.
+       (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to
+       bfd before using elf_section_syms.
+
+2006-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.bfd: (sh-*-linux*): Treat as 64bit target.
+       (sh*l*-*-netbsdelf*): Likewise.
+       (sh-*-netbsdelf*): Likewise.
+       (shl*-*-elf*): Likewise.
+       (sh[1234]l*-*-elf*): Likewise.
+       (sh3el*-*-elf*): Likewise.
+       (shl*-*-kaos*): Likewise.
+       (sh-*-elf*): Likewise.
+       (sh[1234]*-elf*): Likewise.
+       (sh-*-rtems*): Likewise.
+       (sh-*-kaos*): Likewise.
+
+2006-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/1485
+       * config.bfd: Set want64 to true if 64bit bfd is used.
+       (sh-*-linux*): Use targ64_selvecs for 64bit targets.
+       (sh*l*-*-netbsdelf*): Likewise.
+       (sh-*-netbsdelf*): Likewise.
+       (shl*-*-elf*): Likewise.
+       (sh[1234]l*-*-elf*): Likewise.
+       (sh3el*-*-elf*): Likewise.
+       (shl*-*-kaos*): Likewise.
+       (sh-*-elf*): Likewise.
+       (sh[1234]*-elf*): Likewise.
+       (sh-*-rtems*): Likewise.
+       (sh-*-kaos*): Likewise.
+
+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
+       check.
+       (bfd_elf_final_link): Add a late DT_TEXTREL check.
+       * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define.
+       (mips_elf_create_dynamic_relocation): Set DF_TEXTREL.
+       (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION.
+       Use MIPS_ELF_READONLY_SECTION.
+       (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after
+       creating DT_TEXTREL.
+       (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers
+       if no text relocations were generated.
+
+2006-05-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment.
+
+2006-05-19  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (elf_fake_sections): Formatting.
+       (assign_file_positions_for_load_sections): Only add SEC_ALLOC
+       sections to p_memsz.  Remove hack for PT_NOTE sections.  Allow
+       section alignment to increase p_align for PT_LOAD.
+       (assign_file_positions_for_non_load_sections): Remove ARM BPABI
+       hack for PT_DYNAMIC.  Instead, set p_filesz for all segments
+       other than PT_LOAD, and PT_NOTE in core.
+
+2006-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (assign_file_positions_for_segments): Split into..
+       (assign_file_positions_for_load_sections): ..this, and..
+       (assign_file_positions_for_non_load_sections): ..this new function,..
+       (assign_file_positions_except_relocs): ..writing program headers here.
+
+2006-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (elf_gc_sweep): Don't specially keep non-alloc,
+       non-load sections if they have relocs.
+
+2006-05-15  Paul Brook  <paul@codesourcery.com>
+
+       * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ...
+       (bfd_is_arm_special_symbol_name): ... to this.  Add type argument.
+       Check symbol name is of specified type.
+       * elf32-arm.c (elf32_arm_is_target_special_symbol,
+       arm_elf_find_function, elf32_arm_output_symbol_hook): Use
+       bfd_is_arm_special_symbol_name.
+       * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP,
+       BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER,
+       BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define.
+       (bfd_is_arm_mapping_symbol_name): Remove prototype.
+       (bfd_is_arm_special_symbol_name): Add prototype.
+       * bfd-in2.h: Regenerate.
+
+2006-05-15  David Heine  <dlheine@tensilica.com>
+           Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (check_loop_aligned): Fix reversed check for
+       undefined opcode.  Clean up assertions.
+       (narrow_instruction, widen_instruction): Remove "do_it" parameters.
+       Factor most of the code into separate functions....
+       (can_narrow_instruction, can_widen_instruction): New.
+       (prev_instr_is_a_loop): New.
+       (compute_ebb_proposed_actions): Combine error handling code for
+       decode errors.  Replace call to insn_decode_len with inline code.
+       Use can_narrow_instruction and can_widen_instruction.  Handle errors
+       from call to xtensa_opcode_is_loop.
+       (relax_section): Adjust calls to narrow_instruction and 
+       widen_instruction.
+
+2006-05-15  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 2658
+       * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic
+       -shared link.
+
+2006-05-11  Michael Matz  <matz@suse.de>
+
+       * elflink.c (match_group_member): Correctly iterate group
+       members.
+
+2006-05-11  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs.
+       (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs.
+       (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
+       * reloc.c: Ditto.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2006-05-11  Mike Bland  <mbland@google.com>
+
+       * elf.c (_bfd_elf_init_private_section_data): Don't change
+       section type if already set.
+
+2006-05-10  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/2607
+       * elfcode.h (valid_section_index_p): New function: Checks for a
+       valid section index.  Allows indicies in the range SHN_LOPROC to
+       SHN_HIOS.
+       (elf_object_p): Use valid_section_index_p.
+
+2006-05-11  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
+       ARM_SECREL): Mark WinCE versions of these relocs as partial
+       inplace.
+       (coff_arm_relocate_section): Adjust addend for WinCE.
+
+2006-05-10  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 2342
+       * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16.
+
+2006-05-09  Nick Clifton  <nickc@redhat.com>
+
+       * coffcode.h (coff_write_relocs): Produce an error message if a an
+       out-of-range symbol index is detected in a reloc.
+
 2006-05-09  Ben Elliston  <bje@au.ibm.com>
 
        * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused
 
 2006-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
 
-       * bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
+       * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more
        mapping symbols.
 
 2006-05-04  Ben Elliston  <bje@au.ibm.com>
This page took 0.034585 seconds and 4 git commands to generate.