X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=9af956551627015efc12f55e327a735d78ec6da9;hb=3a1ff800f1b29fcc48d776fc4cb5d22c330c8d95;hp=95c8b8ad5cb19e0c62d81a634de56d982f6462fd;hpb=3aaeb7d3ca4cc3e3a6bed68a640083d2b78d71e0;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 95c8b8ad5c..9af9565516 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,428 @@ +2011-12-24 Jan Kratochvil + + * elf32-rl78.c (rl78_elf_relocate_section, rl78_dump_symtab) + (rl78_elf_relax_section): Remove debug prints. + +2011-12-23 Jan Kratochvil + + * elf32-rl78.c (rl78_elf_relocate_section, rl78_elf_relax_section): Use + BFD_VMA_FMT. + +2011-12-23 Jan Kratochvil + + * elf32-rl78.c (prev_alignment, sec_start): Remove unused variables. + +2011-12-23 Tristan Gingold + + * vms-lib.c (vms_traverse_index): Move pointer update code. + +2011-12-22 DJ Delorie + + * elf32-rl78.c (rl78_elf_howto_table): Add R_RL78_RH_RELAX. + (rl78_reloc_map): Add BFD_RELOC_RL78_RELAX. + (rl78_elf_relocate_section): Add R_RL78_RH_RELAX, R_RL78_RH_SFR, + and R_RL78_RH_SADDR. + (rl78_elf_finish_dynamic_sections): Only validate PLT section if + we didn't relax anything, as relaxing might remove a PLT reference + after we've set up the table. + (elf32_rl78_relax_delete_bytes): New. + (reloc_bubblesort): New. + (rl78_offset_for_reloc): New. + (relax_addr16): New. + (rl78_elf_relax_section): Add support for relaxing long + instructions into short ones. + +2011-12-22 Martin Schwidefsky + + * elf32-s390.c (elf_s390_relocate_section): Add check for debugging + section in LD to LE linker relaxation for R_390_TLS_LDO32. + * elf64-s390.c (elf_s390_relocate_section): Likewise for + R_390_TLS_LDO64. + +2011-12-21 Ulrich Weigand + + * elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid. + +2011-12-19 Iain Sandoe + + * mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL. + * mach-o-target.c (bfd_mach_o_backend_data): Initialize + bfd_mach_o_section_type_valid_for_tgt + * mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New. + (bfd_mach_o_section_type_valid_for_tgt): Set to + bfd_mach_o_section_type_valid_for_x86_64. + * mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup. + (bfd_mach_o_section_attribute_name): Reorder. + (bfd_mach_o_get_section_type_from_name): If the target has defined a + validator for section types, then use it. + * mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration + to include the bfd. + +2011-12-19 Chung-Lin Tang + + * reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM, + BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16, + BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16, + BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS. + * bfd-in2.h (bfd_reloc_code_real): Regenerate. + * libbfd.h (bfd_reloc_code_real_names): Regenerate. + * elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_* + entries. + (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* + mappings. + * elfn32-mips.c (elf_mips16_howto_table_rel, + elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries. + (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* + mappings. + * elf64-mips.c (mips16_elf64_howto_table_rel, + mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries. + (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* + mappings. + * elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p, + _bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations. + (tls_gd_reloc_p): Add R_MIPS16_TLS_GD case. + (tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case. + (tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case. + (mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*, + R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations. + +2011-12-19 Chung-Lin Tang + Catherine Moore + Sandra Loosemore + Richard Sandiford + + * elfxx-mips.c (mips_elf_local_pic_function_p): Return true when + H is a MIPS16 function with a kept 32-bit stub. Update comments. + (mips_elf_get_la25_target): New function. + (mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target(). + (mips_elf_add_la25_stub): Move compute of use_trampoline_p down, + change to use mips_elf_get_la25_target(). + (mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p + parameter, add switch case for R_MIPS16_26. + (mips_elf_calculate_relocation): Redirect relocation to point to the + LA25 stub if it exists, instead of the MIPS16 stub. Update arguments + of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub + for mips16->mips16 calls. + (_bfd_mips_elf_check_relocs): Update arguments of call to + mips_elf_relocation_needs_la25_stub(). + (mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target(). + +2011-12-16 Shinichiro Hamaji + + * mach-o-i386.c (TARGET_PRIORITY): Define as 0 (top priority) + * mach-o-target.c (TARGET_NAME): Use TARGET_PRIORITY + * mach-o-x86-64.c (TARGET_PRIORITY): Define as 0 (top priority) + * mach-o.c (bfd_mach_o_header_p): Remove special handling for + mach-o-i386. + (TARGET_PRIORITY) Set 1 for mach-o-be and mach-o-le, and set 0 for + mach-o-fat. + +2011-12-15 Kevin Buettner + + * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Add case + to correspond to a smaller ELF_NGREG defined by the kernel. + +2011-12-15 H.J. Lu + + * elf64-x86-64.c (ELF32_DYNAMIC_INTERPRETER): Set to + "/lib/ldx32.so.1". + +2011-12-15 Iain Sandoe + + * mach-o.c (bfd_mach_o_mkobject_init): Initialize dyn_reloc_cache. + (bfd_mach_o_close_and_cleanup): Only cleanup Mach-O private data + for object files. + +2011-12-15 Shinichiro Hamaji + + * mach-o.c (bfd_mach_o_canonicalize_reloc): Update relocation + table only when there isn't the cahce. + (bfd_mach_o_get_dynamic_reloc_upper_bound): Need one more space + for a pointer for the watchdog. + (bfd_mach_o_canonicalize_dynamic_reloc): Utilize cache like + bfd_mach_o_canonicalize_reloc. + (bfd_mach_o_close_and_cleanup): Call bfd_mach_o_free_cached_info. + (bfd_mach_o_free_cached_info): Free up cache data. + * mach-o.h (reloc_cache): A place to store cache of dynamic relocs. + (bfd_mach_o_free_cached_info): Add declaration. + +2011-12-15 Iain Sandoe + + * mach-o-target.c (bfd_mach_o_bfd_set_private_flags): Use + bfd_mach_o_bfd_set_private_flags. + * mach-o.c (bfd_mach_o_bfd_set_private_flags): New. + * mach-o.h (bfd_mach_o_bfd_set_private_flags): Declare. + +2011-12-14 Nick Clifton + + PR ld/12451 + * elfcode.h (elf_checksum_contents): Read in the section's + contents if they are not already available, and the section + actually has some contents. + + * compress.c (bfd_get_full_section_contents): Use zmalloc to + allocate the buffers so that excess bytes are guaranteed to be + zero. + +2011-12-14 Iain Sandoe + + * mach-o-i386.c (text_section_names_xlat): New table. + (data_section_names_xlat): Likewise. + (import_section_names_xlat): Likewise. + (mach_o_i386_segsec_names_xlat): Likewise. + (bfd_mach_o_tgt_seg_table): Use new tables. + * mach-o-x86-64.c (bfd_mach_o_tgt_seg_table): Set NULL. + * mach-o.c (mach_o_section_name_xlat, mach_o_segment_name_xlat): + Move to mach-o.h as typedefs. + (text_section_names_xlat): Update for current GCC usage. + (data_section_names_xlat): Likewise. + (dwarf_section_names_xlat): Likewise. + (objc_section_names_xlat): New table. + (segsec_names_xlat): Add objc table. + (bfd_mach_o_normalize_section_name): Replace with... + (bfd_mach_o_section_data_for_mach_sect): New. + (bfd_mach_o_section_data_for_bfd_name): New. + (bfd_mach_o_section_data_for_bfd_name): Update to use additional data. + (bfd_mach_o_convert_section_name_to_mach_o): Likewise. + (bfd_mach_o_bfd_copy_private_section_data): Implement. + (bfd_mach_o_write_symtab): Write a zero-length string as the first entry + for compatibility with system tools. + (bfd_mach_o_build_commands): Update section alignment info. + (bfd_mach_o_new_section_hook): Use translation table data to define + default section flags, type, attributes and alignment, when available. + (bfd_mach_o_init_section_from_mach_o): Add TODO comment. + (bfd_mach_o_section_type_name): Add 'symbol_stubs'. + (bfd_mach_o_section_attribute_name): Add 'self_modifying_code'. + (bfd_mach_o_get_section_type_from_name): Change "not-found" return + value. + (bfd_mach_o_tgt_seg_table): Set default NULL. + * mach-o.h (bfd_mach_o_segment_command): Use define for name length. + (bfd_mach_o_backend_data): Move until after contents are defined. + (bfd_mach_o_normalize_section_name): Remove. + (bfd_mach_o_convert_section_name_to_bfd): Declare. + (mach_o_section_name_xlat): Declare. + (mach_o_segment_name_xlat): Declare. + (bfd_mach_o_section_data_for_mach_sect): Declare. + (bfd_mach_o_section_data_for_bfd_name): Declare. + +2011-12-13 Shinichiro Hamaji + + * dwarf2.c (bfd_dwarf2_cleanup_debug_info): Accept stash as an + argument like other functions to support formats other than ELF. + * elf-bfd.h (bfd_dwarf2_cleanup_debug_info): Move to bfd-in.h. + * elf.c (_bfd_elf_close_and_cleanup): Pass dwarf2_find_line_info + in tdata as a parameter. + * libbfd-in.h (bfd_dwarf2_cleanup_debug_info): Move from + elf-bfd.h. + * libbfd.h (bfd_dwarf2_cleanup_debug_info): Regenerate. + * mach-o-target.c (bfd_mach_o_close_and_cleanup): Remove the + fallback macro. + (bfd_mach_o_find_nearest_line): Likewise. + * mach-o.c (bfd_mach_o_find_nearest_line): Add the definition + which calls _bfd_dwarf2_find_nearest_line. + (bfd_mach_o_close_and_cleanup): Likewise. + * mach-o.h (mach_o_data_struct): Add dwarf2_find_line_info. + (bfd_mach_o_find_nearest_line): Add declaration. + (bfd_mach_o_close_and_cleanup): Add declaration. + +2011-12-13 Tristan Gingold + + * mach-o.c (bfd_mach_o_read_symtab_symbols): Make global. Remove + prototype. + (bfd_mach_o_section_get_entry_size): Make global. + (bfd_mach_o_section_get_nbr_indirect): Likewise. + (bfd_mach_o_read_symtab_strtab): Likewise. + (struct bfd_mach_o_xlat_name): Move to mach-o.h + (bfd_mach_o_print_flags): Move to binutils/od-macho.c + (bfd_mach_o_get_name_of_null, bfd_mach_o_get_name): Likewise. + (bfd_mach_o_cpu_name, bfd_mach_o_filetype_name): Likewise. + (bfd_mach_o_header_flags_name): Likewise. + (bfd_mach_o_load_command_name): Likewise. + (bfd_mach_o_print_private_header): Likewise. + (bfd_mach_o_print_section_map, bfd_mach_o_print_section): Likwise. + (bfd_mach_o_print_segment, bfd_mach_o_print_dysymtab): Likewise. + (bfd_mach_o_print_dyld_info): Likewise. + (bfd_mach_o_print_private_bfd_data): Remove. + (bfd_mach_o_type_name): Make global. + (bfd_mach_o_section_attribute_name): Likewise. + * mach-o.h (bfd_mach_o_xlat_name): Added. + (bfd_mach_o_section_get_nbr_indirect) + (bfd_mach_o_section_get_entry_size) + (bfd_mach_o_read_symtab_symbols) + (bfd_mach_o_read_symtab_strtab) + (bfd_mach_o_section_attribute_name) + (bfd_mach_o_section_type_name): Likewise. + * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data): Define. + +2011-12-13 Chung-Lin Tang + + * elfxx-mips.c (mips_elf_calculate_relocation): Correct + R_MIPS16_HI16/R_MIPS16_LO16 handling of two cleared lower bits, + update comments. + +2011-12-12 Iain Sandoe + + * mach-o.c (bfd_mach_o_read_section_32): Null-terminate sectname. + (bfd_mach_o_read_section_64): Likewise. + +2011-12-11 John Davis Anglin + + PR binutils/13476 + * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, + R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations to + R_PARISC_DPREL21L when not doing a shared link. Likewise convert + R_PARISC_TLS_GD14R, R_PARISC_TLS_LDM14R and R_PARISC_TLS_IE14R to + R_PARISC_DPREL14R. Handle R_PARISC_TLS_GD21L, R_PARISC_TLS_LDM21L + and R_PARISC_TLS_IE21L with R_PARISC_DLTIND21L. + +2011-12-10 David Daney + + * elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove. + (mips_elf_link_hash_table.rld_symbol): New field; + (MIPS_ELF_RLD_MAP_SIZE): New macro. + (_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol + in rld_symbol. + (_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol + in rld_symbol. + (_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map. + (_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling. + (_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to + calculate DT_MIPS_RLD_MAP value. + (_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol, + quit initializing rld_value. + +2011-12-08 Andrew Pinski + Adam Nemet + + * archures.c (bfd_mach_mips_octeon2): New macro + * bfd-in2.h: Regenerate. + * cpu-mips.c (I_mipsocteon2): New enum value. + (arch_info_struct): Add bfd_mach_mips_octeon2. + * elfxx-mips.c (_bfd_elf_mips_mach): Support E_MIPS_MACH_OCTEON2. + (mips_set_isa_flags): Add bfd_mach_mips_octeon2. + (mips_mach_extensions): Add bfd_mach_mips_octeon2. + +2011-12-07 Alan Modra + + PR ld/12772 + * elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols + defined in shared libraries. + +2011-12-07 Tristan Gingold + + * mach-o.c (bfd_mach_o_canonicalize_symtab): Fix indentation. + Adjust the condition. + (bfd_mach_o_read_symtab_symbol): Now returns a bfd_boolean. + Adjust return statements. + (bfd_mach_o_read_symtab_strtab): Likewise. + (bfd_mach_o_read_symtab_symbols): Likewise. + (bfd_mach_o_scan_start_address): Likewise. Make it static. + (bfd_mach_o_scan): Likewise. + (bfd_mach_o_read_dysymtab_symbol): Remove unused function. + (bfd_mach_o_header_p): Adjust call. + (bfd_mach_o_cpu_name): Make it const. + (bfd_mach_o_filetype_name): Likewise. + (bfd_mach_o_header_flags_name): Likewise. + (bfd_mach_o_section_type_name): Likewise. + (bfd_mach_o_section_attribute_name): Likewise. + (bfd_mach_o_load_command_name): Likewise. + (bfd_mach_o_get_section_type_from_name): Add a const qualifier + after above change. + (bfd_mach_o_get_section_attribute_from_name): Likewise. + * mach-o.h (bfd_mach_o_read_dysymtab_symbol) + (bfd_mach_o_scan_start_address, bfd_mach_o_scan): Remove. + +2011-12-06 Ulrich Weigand + + * elf-bfd.h (elfcore_write_s390_last_break): Add prototype. + (elfcore_write_s390_system_call): Likewise. + * elf.c (elfcore_write_s390_last_break): New function. + (elfcore_write_s390_system_call): Likewise. + (elfcore_write_register_note): Call them. + (elfcore_grok_s390_last_break): New function. + (elfcore_grok_s390_system_call): Likewise. + (elfcore_grok_note): Call them. + +2011-12-05 Tristan Gingold + + * mach-o.c (bfd_mach_o_read_symtab_symbol): Accept indirect symbols. + +2011-12-05 Tristan Gingold + + * mach-o.c (bfd_mach_o_write_contents): Handle LC_LOAD_UPWARD_DYLIB. + (bfd_mach_o_read_dylib): Likewise. + (bfd_mach_o_read_command): Likewise. + (bfd_mach_o_bfd_print_private_bfd_data): Likewise. + +2011-12-05 Tristan Gingold + + * mach-o.c (bfd_mach_o_read_command): Add the bfd in the error + message. + (bfd_mach_o_openr_next_archived_file): Use arch name as member name. + (bfd_mach_o_fat_extract): Ditto. + +2011-12-03 Alan Modra + + PR ld/13468 + * elflink.c (bfd_elf_final_link): Don't segfault when checking + for DT_TEXTREL and .dynamic does not exist. + +2011-12-03 Alan Modra + + PR ld/13470 + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive + change in 2011-07-01 commit. Comment. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + +2011-12-01 Mikael Pettersson + + * elf32-m68k.c (elf_m68k_check_relocs) : For + non-SEC_ALLOC sections break before GOT and PLT accounting. + +2011-12-01 Hans-Peter Nilsson + + * elf32-cris.c (cris_elf_check_relocs) : Move early break for + non-SEC_ALLOC sections before GOT and PLT accounting. + +2011-11-29 Andrew Pinski + + * archures.c (bfd_mach_mips_octeonp): New macro. + * bfd-in2.h: Regenerate. + * bfd/cpu-mips.c (I_mipsocteonp): New enum value. + (arch_info_struct): Add bfd_mach_mips_octeonp. + * elfxx-mips.c (mips_set_isa_flags): Add bfd_mach_mips_octeonp. + (mips_mach_extensions): Add bfd_mach_mips_octeonp. + +2011-11-23 Tristan Gingold + + * vms-lib.c (get_idxlen): Add comments. Fix type in sizeof. + (vms_write_index): Add comments. + +2011-11-22 DJ Delorie + + * elf32-rx.c (rx_elf_object_p): Add more checks for "scanning" to + avoid using the special non-swapping target when not explicitly + requested. + +2011-11-22 Daniel Calcoen + + * elf32-rx.c (rx_elf_object_p): Correct typo: lma->vma. + +2011-11-22 Tristan Gingold + + * mach-o.c (bfd_mach_o_print_symbol): Display COM for common + symbols. Print section name in brackets. + +2011-11-21 Andreas Tobler + + * config.bfd: Add vectors for powerpc and powerpc64-freebsd. + * configure.in (TDEFINES): Add rules for powerpc*-freebsd. + * configure: Regenerate. + * elf32-ppc.c: Add powerpc-freebsd definitions. + * elf64-ppc.c: Add powerpc64-freebsd definitions. + * targets.c: Add bits for powerpc and powerpc64-freebsd. + 2011-11-17 Philipp Thomas * elf32-arm.c (elf32_thumb_to_arm_stub): Sync message so that it