X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=bfd%2FChangeLog;h=075bbc3a90046af1363e2bb350839c4bf8689594;hb=24718e3ba575439155f233fc593a9ebd6d33f3c5;hp=10f9ba219852f083199b15dfed47aab0831111ff;hpb=f592407e4d75fc64e87c25cdd8b21361b3d322d1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 10f9ba2198..075bbc3a90 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,402 @@ +2006-05-30 H.J. Lu + + * 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 + + * po/es.po: Updated Spanish translation. + +2006-05-27 Alan Modra + H.J. Lu + + * 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 + + * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000. + +2006-05-25 H.J. Lu + + * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000. + +2006-05-25 H.J. Lu + + * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000. + +2006-05-26 Alan Modra + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + Randolph Chung + + * 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 + + * 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 + + 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 + + * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for + deteted entries in .eh_frame section. + +2006-05-23 Jie Zhang + + * 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 + + * elf64-ppc.c (compare_symbols): Prefer strong dynamic global + function syms over other syms. + +2006-05-22 Daniel Jacobowitz + + * 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 + + * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment. + +2006-05-19 Alan Modra + + * 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 + + * 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 + + * elflink.c (elf_gc_sweep): Don't specially keep non-alloc, + non-load sections if they have relocs. + +2006-05-15 Paul Brook + + * 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 + Bob Wilson + + * 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 + + PR 2658 + * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic + -shared link. + +2006-05-11 Michael Matz + + * elflink.c (match_group_member): Correctly iterate group + members. + +2006-05-11 Paul Brook + + * 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 + + * elf.c (_bfd_elf_init_private_section_data): Don't change + section type if already set. + +2006-05-10 Nick Clifton + + 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 + + * 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 + + PR 2342 + * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16. + +2006-05-09 Nick Clifton + + * 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 + + * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused + local variable `dynobj'. + +2006-05-05 Bjoern Haase + + * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all + of the bfd's sections for the reloc-addend adjustments. + +2006-05-05 Martin Schwidefsky + + * elf32-s390.c (invalid_tls_insn): Call bfd_set_error. + (elf_s390_relocate_section): Add code to do the GD->LE and + LD->LE TLS linker optimizations if a brasl instruction is used + for the __tls_get_offset function call. + * elf64-s390.c (invalid_tls_insn): Call bfd_set_error. + +2006-05-05 Alan Modra + + * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize + R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in + the .toc and referenced by a TLS code sequence. + (ppc64_elf_edit_toc): Cater for the unlikely situation that + .toc is the first section in a file. + +2006-05-04 Andreas Schwab + + * aoutf1.h (struct external_sparc_core): Declare c_regs as struct + regs instead of an array of int. + (struct external_solaris_bcp_core): Likewise. + (swapcore_sun3): Use offsetof instead of computing the offset + manually. + (swapcore_sparc): Likewise. Simplify reference to c_regs. + (swapcore_solaris_bcp): Likewise. + +2006-05-04 Daniel Jacobowitz + + * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling + for missing GOTs. + +2006-05-04 Daniel Jacobowitz + + * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more + mapping symbols. + +2006-05-04 Ben Elliston + + * coff-or32.c (bfd_section_from_shdr): Remove unused local + variable `ptr'. + * cofflink.c (process_embedded_commands): Remove unused local + variables `had_read' and `had_shared'. + * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local + variable `fdr_adr'. + * ihex.c (ihex_read_section): Remove unused local variable `addr'. + 2006-05-03 Alan Modra * libbfd-in.h (_bfd_generic_new_section_hook): Declare. @@ -52,8 +451,8 @@ `fail'. * dwarf2.c (decode_line_info): Remove unused local variable `basic_block'. - * elfcode.h (elf_slurp_reloc_table_from_section): Remove unsed - local varibale `s'. + * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused + local variable `s'. * tekhex.c (tekhex_write_object_contents): Remove unused local variable `bytes_written'. * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local