2011-12-19 Chung-Lin Tang <cltang@codesourcery.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 7d96b5f8f5284c03d6b0752428e9e09b35029f2f..b651abec4e8597d9def6714152118fa929171b63 100644 (file)
@@ -1,3 +1,292 @@
+2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * 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  <cltang@codesourcery.com>
+           Catherine Moore  <clm@codesourcery.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+           Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * 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  <shinichiro.hamaji@gmail.com>
+
+       * 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  <kevinb@redhat.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (ELF32_DYNAMIC_INTERPRETER): Set to
+        "/lib/ldx32.so.1".
+
+2011-12-15  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * 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  <shinichiro.hamaji@gmail.com>
+
+       * 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  <iains@gcc.gnu.org>
+
+       * 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  <nickc@redhat.com>
+
+       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  <iains@gcc.gnu.org>
+
+       * 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  <shinichiro.hamaji@gmail.com>
+
+       * 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  <gingold@adacore.com>
+
+       * 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  <cltang@codesourcery.com>
+
+       * 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  <iains@gcc.gnu.org>
+
+       * 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  <dave.anglin@nrc-cnrc.gc.ca>
+
+       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  <david.daney@cavium.com>
+
+       * 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  <apinski@cavium.com>
+            Adam Nemet  <anemet@caviumnetworks.com>
+
+       * 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  <amodra@gmail.com>
+
+       PR ld/12772
+       * elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols
+       defined in shared libraries.
+
+2011-12-07  Tristan Gingold  <gingold@adacore.com>
+
+       * 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  <uweigand@de.ibm.com>
+
+       * 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  <gingold@adacore.com>
+
+       * mach-o.c (bfd_mach_o_read_symtab_symbol): Accept indirect symbols.
+
 2011-12-05  Tristan Gingold  <gingold@adacore.com>
 
        * mach-o.c (bfd_mach_o_write_contents): Handle LC_LOAD_UPWARD_DYLIB.
This page took 0.027411 seconds and 4 git commands to generate.