X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=1d4fecb8faffee8f4c1131f541dbfd242f2c45fc;hb=6f8bcf84a1bc7412dfee32328b370b6c4599a103;hp=3ec31fe64874b4dd23eb99239f5962cab298a1a9;hpb=b946d5d83a25bb7f587982da0f188b9c9b4539d4;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3ec31fe648..1d4fecb8fa 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,438 @@ +2010-04-06 H.J. Lu + + PR ld/11434 + * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally. + +2010-04-06 Tristan Gingold + + * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags. + +2010-04-05 Jakub Jelinek + + * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4 + provided that it has the expected address size and zero segment + length. + + * dwarf2.c (struct line_head): Add maximum_ops_per_insn field. + (struct line_info): Add op_index field, change end_sequence type to + unsigned char. + (new_line_sorts_after): For the same address compare op_index. + (add_line_info): Add op_index argument, store it into the structure. + (decode_line_info): Complain about unknown versions of .debug_line. + Initialize maximum_ops_per_insn. Add op_index state register and + track it. + +2010-04-01 Nathan Sidwell + + * elf32-ppc.c (apuinfo_set): New static var. + (ppc_elf_begin_write_processing): Set it here, always create an + APUinfo section if there were any in the inputs. + (ppc_elf_write_section): Check apuinfo_set. + (ppc_elf_final_write_processing): Likewise. + +2010-04-01 Tristan Gingold + + * vms.h: Include time.h. Add prototypes for vms_get_module_name, + vms_time_to_time_t and vms_rawtime_to_time_t. + * vms.c (vms_alpha_vec): Add archives support. + * vms-misc.c: Include safe-ctype.h + (vms_get_module_name): New function. + (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. + * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the + vms_get_module_name function. Use this function. + * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector. + * libbfd-in.h: Add prototype for _bfd_append_relative_path. + Add prototypes for vms-lib.c + * libbfd.h: Regenerate. + * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add + vms-lib.lo to vms_alpha_vec. + * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*. + * configure: Regenerate. + * bfd.c: Add selective_search field. + * bfd-in2.h: Regenerate. + * archive.c (append_relative_path): Rename to + _bfd_append_relative_path and make it public. + (_bfd_get_elt_at_filepos): Adjust for above renaming. + * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo + (BFD32_BACKENDS_CFILES): Add vms-lib.c + * Makefile.in: Regenerate. + +2010-04-01 Jakub Jelinek + + * dwarf2.c (read_attribute_value): Handle CU version 4 + for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc + and DW_FORM_flag_present. For unknown form value return NULL. + (scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc + like DW_FORM_block. + (parse_comp_unit): Allow CU version 4. + +2010-04-01 Hans-Peter Nilsson + + * elf32-cris.c (cris_elf_relocate_section): Correct first argument + to _bfd_elf_get_dynamic_reloc_section. + (elf_cris_discard_excess_dso_dynamics): Ditto. + +2010-03-31 Kai Tietz + + * coff-i386.c (in_reloc_p): Check also for R_SECREL32. + * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL. + +2010-03-31 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized + TPREL16_HI and TPREL16_HA insns. + +2010-03-31 Hans-Peter Nilsson + + PR ld/11458 + * elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid + assert of empty pcrel_relocs_copied on the direct symbol. Instead + of moving the list from the indirect symbol to the direct symbol, + merge into any existing list. + (cris_elf_check_relocs): Store the original section in the + pcrel_relocs_copied list, not the relocation section. + (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find + the relocation section, for reducing its size. Change the + BFD_ASSERT into a check for the section being read-only, and only + emit warnings and TEXTREL marker when there's an entry for a + read-only section. + +2010-03-29 Daniel Jacobowitz + + * elf32-arm.c (using_thumb_only): Handle v6-M. + +2010-03-26 Alan Modra + + * elf32-ppc.c (ppc_elf_howto_raw ): Not pc-relative. + * bfd-in.h (elf_discarded_section): Clarify comment. + * reloc.c (struct reloc_howto_struct ): Likewise. + * bfd-in2.h: Regenerate. + +2010-03-26 Matt Rice + + * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged + as unique in the armap. + +2010-03-26 Alan Modra + + PR ld/11375 + * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a + possible stub on branches. + +2010-03-25 Joseph Myers + + * Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo. + (ALL_MACHINES_CFILES): Add cpu-tic6x.c. + (BFD32_BACKENDS): Add elf32-tic6x.lo. + (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c. + * Makefile.in: Regenerate. + * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New. + (bfd_archures_list): Update. + * config.bfd (tic6x-*-elf): New. + * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): + New. + * configure: Regenerate. + * cpu-tic6x.c, elf32-tic6x.c: New. + * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12, + BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7, + BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16, + BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B, + BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W, + BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B, + BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W, + BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H, + BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W, + BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W, + BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31, + BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN, + BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New. + * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New. + (_bfd_target_vector): Update. + * bfd-in2.h, libbfd.h: Regenerate. + +2010-03-24 H.J. Lu + + * aout-target.h: Update copyright year. + * aout-tic30.c: Likewise. + * coff-alpha.c: Likewise. + * coff-rs6000.c: Likewise. + * coff64-rs6000.c: Likewise. + * elf64-mips.c: Likewise. + * ieee.c: Likewise. + * libecoff.h: Likewise. + * mach-o-target.c: Likewise. + * mach-o.c: Likewise. + * oasys.c: Likewise. + * targets.c: Likewise. + +2010-03-24 H.J. Lu + + * libbfd-in.h: Update copyright year. + +2010-03-21 H.J. Lu + + PR ld/11413 + * elflink.c (_bfd_elf_add_default_symbol): Check !executable + instead of shared. + +2010-03-19 Jie Zhang + + * elf32-arm.c (struct section_list): Remove. + (section_list): Remove typedef. + (record_section_with_arm_elf_section_data): Remove. + (find_arm_elf_section_entry): Remove. + (get_arm_elf_section_data): Use is_arm_elf. + (unrecord_section_with_arm_elf_section_data): Remove. + (elf32_arm_new_section_hook): Don't call + record_section_with_arm_elf_section_data. + (elf32_arm_write_section): Set mapcount to -1 when + the map has been used. Don't call + unrecord_section_with_arm_elf_section_data. + (unrecord_section_via_map_over_sections): Remove. + (elf32_arm_close_and_cleanup): Remove. + (elf32_arm_bfd_free_cached_info): Remove. + (bfd_elf32_close_and_cleanup): Don't define. + (bfd_elf32_bfd_free_cached_info): Don't define. + +2010-03-18 H.J. Lu + + PR binutils/11396 + * libcoff-in.h (pe_tdata): Add dont_strip_reloc. + * libcoff.h: Regenerated. + + * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG + if dont_strip_reloc is set. + (_bfd_XX_bfd_copy_private_bfd_data_common): Set + dont_strip_reloc on output if there is no .reloc and + IMAGE_FILE_RELOCS_STRIPPED isn't set in input. + +2010-03-18 Wei Guozhi + + PR gas/11323 + * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to + R_ARM_GOT_PREL. + * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2010-03-17 H.J. Lu + + * reloc.c (BFD_RELOC_SPU_PIC18): Removed. + (BFD_RELOC_SPU_STUB): Likewise. + +2010-03-17 Jie Zhang + + * elf.c (assign_file_positions_for_load_sections): Avoid + overflow. + +2010-03-17 Alan Modra + + PR binutils/11382 + * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using + proper type. + +2010-03-17 Alan Modra + + * elf32-arm.c (cortex_a8_erratum_scan): Warning fix. + +2010-03-16 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt. + (ppc64_elf_edit_toc): Set it here. + (ha_reloc_match): New function. + (ppc64_elf_relocate_section): Optimize bigtoc insn sequences. + +2010-03-15 Alan Modra + + * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function. + * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare. + +2010-03-14 Alan Modra + + PR ld/11378 + * elf64-ppc.h (ppc64_elf_check_init_fini): Declare. + * elf64-ppc.c (call_check_done): Define. + (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro. + (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise. + (ppc64_elf_finish_multitoc_partition): Remove unnecessary check. + (toc_adjusting_stub_needed): Use call_check_done rather than toc_off. + Simplify return logic. Iterate over all .init and .fini fragments + by recursion. Set makes_toc_func_call here.. + (ppc64_elf_next_input_section): ..rather than here. + (check_pasted_section, ppc64_elf_check_init_fini): New functions. + +2010-03-13 Alan Modra + + PR ld/11375 + * elf64-ppc.c (ppc_type_of_stub): Always set *hash to the + function descriptor symbol if there is one, not just for plt stubs. + (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls. + +2010-03-05 Rainer Orth + + * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base + version twice. + Skip it when constructing def.vd_next. + + * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to + bfd_elf32_i386_sol2_vec. + (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2. + (elf32_bed): Redefine to elf32_i386_sol2_bed. + (elf_backend_want_plt_sym): Redefine to 1. + + * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to + bfd_elf64_x86_64_sol2_vec. + (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2. + (elf64_bed): Redefine to elf64_x86_64_sol2_bed. + (elf_backend_want_plt_sym): Redefine to 1. + + * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to + bfd_elf32_i386_sol2_vec. + Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in + targ64_selvecs. + (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec. + Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in + targ_selvecs. + + * configure.in: Handle bfd_elf32_i386_sol2_vec, + bfd_elf64_x86_64_sol2_vec. + * configure: Regenerate. + + * targets.c (bfd_elf32_i386_sol2_vec): Declare. + (bfd_elf64_x86_64_sol2_vec): Declare. + (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec, + bfd_elf64_x86_64_sol2_vec. + +2010-03-04 Daniel Jacobowitz + + * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program + sections. + +2010-03-04 Alan Modra + + PR 11302 + * dwarf2.c (read_abbrevs): Return NULL on alloc failures. + (read_attribute_value, decode_line_info): Likewise. + (add_line_info, read_rangelist): Return FALSE on alloc failures. + (arange_add, sort_line_sequences): Likewise. + (find_abstract_instance_name): Handle failures from called funcs. + (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. + (find_line): Realloc to a temp, and handle alloc fail. + +2010-03-03 Daniel Jacobowitz + + * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add + a mapping symbol to an empty section. + +2010-03-02 Matthew Gretton-Dann + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the + return value from the call to _bfd_elf_merge_object_attributes. + +2010-03-02 Christophe Lyon + Alan Modra + + * elf32-arm.c (a8_erratum_fix): Add st_type field to record the + destination mode of the a8 stub. + (elf32_arm_link_hash_table): Add top_id field. + (elf32_arm_link_hash_table_create): Initialize top_id. + (arm_type_of_stub): Update prototype, st_type can now be updated + by this function. Actual destination address in case of PLT is + computed here, to help factorizing code. + (elf32_arm_stub_name): Update prototype, use stub_type additional + parameter to build stub name. + (elf32_arm_get_stub_entry): Update prototype, use stub_type + additional parameter to build stub entry. + (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of + put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. + Call elf32_arm_final_link_relocate to process all in-stub + relocations. + (elf32_arm_setup_section_lists): Update top_id. + (cortex_a8_erratum_scan): Record stub destination mode. + (elf32_arm_size_stubs): Update call to arm_type_of_stub according + to new prototype. + (elf32_arm_final_link_relocate): Enable processing of in-stub + REL32 relocations. Rely on arm_type_of_stub to detect if a stub is + needed, enabling code factorization. + (elf32_arm_final_link): Process stub sections. + (elf32_arm_output_map_sym): Add entry to code/data map. + +2010-03-01 David S. Miller + + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and + h->def_regular, set h->ref_regular. + (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries + and dynamic relocations if h->ref_regular. + + * elfxx-sparc.c (struct elf_reloc_map): Delete. + (sparc_reloc_map): Delete. + (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each + relocation type in switch statements. + +2010-02-25 Alan Modra + + PR ld/11304 + * elf.c (_bfd_elf_init_private_section_data): Rename need_group + to final_link and invert. For final link allow some flags to + differ. Don't specially allow flags to be all zero. + +2010-02-24 Alan Modra + + PR binutils/10858 + * elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise + SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol + table. + +2010-02-23 Andrew Zabolotny + + PR binutils/11297 + * elf32-avr.c (elf_avr_howto_table): Add R_AVR_8. + (avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8. + +2010-02-22 Alan Modra + + * reloc.c (bfd_check_overflow): When forming addrmask, shift + fieldmask left by rightshift. + (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all + overflow checks. + +2010-02-20 H.J. Lu + + * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check + STT_GNU_IFUNC on large common symbol. + +2010-02-18 H.J. Lu + + * elf32-i386.c (elf_i386_add_symbol_hook): Don't set + has_ifunc_symbols if the symbol comes from a shared library. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise. + +2010-02-19 Alan Modra + + * elf.c (_bfd_elf_fixup_group_sections): New function, split out from.. + (_bfd_elf_copy_private_header_data): ..here. + * elflink.c (_bfd_elf_size_group_sections): New function. + (bfd_elf_size_dynamic_sections): Call it. + * elf-bfd.h (_bfd_elf_size_group_sections): Declare. + (_bfd_elf_fixup_group_sections): Declare. + +2010-02-18 Matthew Gretton-Dann + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for + merging Tag_DIV_use, Tag_MPextension_use, and + Tag_MPextension_use_legacy tags. + +2010-02-18 Alan Modra + + * elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15 + commit. Don't write zeros for removed group members. + (_bfd_elf_copy_private_header_data): Adjust size of group section + when group members are removed by objcopy. + 2010-02-15 Dave Korn PR binutils/11280 @@ -49,7 +484,7 @@ 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, + (elfcore_write_register_note): Handle .reg-s390-timer, .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs, .reg-s390-prefix section. @@ -445,10 +880,10 @@ 2010-01-19 Daisuke Hatayama Alan Modra - * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff. + * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff. (elf_object_p): Read e_phnum extension. (elf_write_shdrs_and_ehdr): Write e_phnum extension. - * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check + * elfcore.h (elf_core_file_p): Read e_phnum extension. Sanity check that we can read last program header. 2010-01-19 Matthew Gretton-Dann