+2010-04-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/11434
+ * elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
+
+2010-04-06 Tristan Gingold <gingold@adacore.com>
+
+ * vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
+
+2010-04-05 Jakub Jelinek <jakub@redhat.com>
+
+ * 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 <nathan@codesourcery.com>
+
+ * 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 <gingold@adacore.com>
+
+ * 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 <jakub@redhat.com>
+
+ * 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 <hp@axis.com>
+
+ * 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 <kai.tietz@onevision.com>
+
+ * 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 <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
+ TPREL16_HI and TPREL16_HA insns.
+
+2010-03-31 Hans-Peter Nilsson <hp@axis.com>
+
+ 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 <dan@codesourcery.com>
+
+ * elf32-arm.c (using_thumb_only): Handle v6-M.
+
+2010-03-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
+ * bfd-in.h (elf_discarded_section): Clarify comment.
+ * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2010-03-26 Matt Rice <ratmice@gmail.com>
+
+ * archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
+ as unique in the armap.
+
+2010-03-26 Alan Modra <amodra@gmail.com>
+
+ PR ld/11375
+ * elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
+ possible stub on branches.
+
+2010-03-25 Joseph Myers <joseph@codesourcery.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * libbfd-in.h: Update copyright year.
+
+2010-03-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/11413
+ * elflink.c (_bfd_elf_add_default_symbol): Check !executable
+ instead of shared.
+
+2010-03-19 Jie Zhang <jie@codesourcery.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <carrot@google.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ * reloc.c (BFD_RELOC_SPU_PIC18): Removed.
+ (BFD_RELOC_SPU_STUB): Likewise.
+
+2010-03-17 Jie Zhang <jie@codesourcery.com>
+
+ * elf.c (assign_file_positions_for_load_sections): Avoid
+ overflow.
+
+2010-03-17 Alan Modra <amodra@gmail.com>
+
+ PR binutils/11382
+ * plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
+ proper type.
+
+2010-03-17 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
+
+2010-03-16 Alan Modra <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ 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 <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * 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 <dan@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
+ sections.
+
+2010-03-04 Alan Modra <amodra@gmail.com>
+
+ 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 <dan@codesourcery.com>
+
+ * 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 <matthew.gretton-dann@arm.com>
+
+ * 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 <christophe.lyon@st.com>
+ Alan Modra <amodra@gmail.com>
+
+ * 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 <davem@davemloft.net>
+
+ * 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 <amodra@gmail.com>
+
+ 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 <amodra@gmail.com>
+
+ 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 <anpaza@mail.ru>
+
+ 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 <amodra@gmail.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <matthew.gretton-dann@arm.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <dave.korn.cygwin@gmail.com>
+
+ PR binutils/11280
+ * configure.host (*-*-solaris2.11): Add host define to select
+ valid default code page for windres/windmc on solaris.
+
+2010-02-15 Nick Clifton <nickc@redhat.com>
+
+ * po/vi.po: Updated Vietnamese translation.
+
+2010-02-12 Daniel Gutson <dgutson@codesourcery.com>
+
+ * elf32-arm.c (elf32_arm_output_arch_local_syms): add
+ missing mapping symbol to data only sections.
+
+2010-02-11 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
+ and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
+ symbols.
+ (_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
+ these relocs on global symbols.
+ (gdopoff): New.
+ (_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
+ local symbol references which are not STT_GNU_IFUNC. Handle
+ relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
+ and deal with negative vs. non-negative values properly.
+
+2010-02-09 Tristan Gingold <gingold@adacore.com>
+
+ * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
+ non-external relocation.
+
+2010-02-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (merge_got_entries): Move earlier in file.
+ (allocate_dynrelocs): Merge got entries here if not doing multi-toc.
+ (ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
+ (ppc64_elf_layout_multitoc): Don't resize if we have already
+ merged got entries.
+
+2010-02-09 Michael Holzheu <holzheu@de.ibm.com>
+
+ * elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
+ elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
+ elfcore_write_s390_prefix): New.
+ * elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
+ elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
+ 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,
+ .reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
+ .reg-s390-prefix section.
+
+2010-02-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
+ unsigned char. Update variables and code using them throughout file.
+ (struct ppc_link_hash_entry): Likewise for tls_mask.
+
+ * elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
+
+ * elf64-ppc.c (has_small_toc_reloc): Don't define.
+ (makes_toc_func_call, call_check_in_progress): Shuffle flags.
+ (struct ppc64_elf_obj_tdata): Add has_small_toc_reloc. Update
+ code setting the flag.
+ (ppc64_elf_next_toc_section): Group big-toc sections in
+ 0x80008000 chunks.
+
+2010-02-08 David S. Miller <davem@davemloft.net>
+
+ * elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
+ srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
+
+ * elfxx-sparc.c (create_got_section): Delete.
+ (_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
+ section creator does that work for us. Use ->elf.foo instead of
+ ->foo where applicable.
+ (_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
+ where applicable.
+ (allocate_dynrelocs): Likewise.
+ (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+ (sparc_vxworks_build_plt_entry): Likewise.
+ (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
+ (sparc_finish_dyn): Likewise.
+ (sparc_vxworks_finish_exec_plt): Likewise.
+ (sparc_vxworks_finish_shared_plt): Likewise.
+ (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
+
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
+ macros for visibilty and locality checks.
+ (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+ (_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
+
+ * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
+ but never used local var 'dynobj'.
+
+ * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
+ nocopyreloc.
+
+ * reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
+ (BFD_RELOC_SPARC_IRELATIVE): Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+ * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
+ and loc_hash_memory.
+ (_bfd_sparc_elf_link_hash_table_free): Declare.
+ * elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
+ (elf_backend_add_symbol_hook, elf_backend_post_process_headers,
+ bfd_elf32_bfd_link_hash_table_free): Define.
+ * elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
+ has_ifunc_symbols if STT_GNU_IFUNC.
+ (bfd_elf64_bfd_link_hash_table_free): Define.
+ (elf_backend_post_process_headers): Define always.
+ * elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
+ (sparc_reloc_map): Add entries for new IFUNC relocs.
+ (_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
+ (_bfd_sparc_elf_info_to_howto_ptr): Likewise.
+ (elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
+ elf_sparc_get_local_sym_hash): New.
+ (_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
+ from here...
+ (_bfd_sparc_elf_link_hash_table_create): ... to here. Allocate
+ local hash table.
+ (_bfd_sparc_elf_link_hash_table_free): New.
+ (create_ifunc_sections): New.
+ (_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
+ and call create_ifunc_sections(). For local STT_GNU_IFUNC symbols
+ cons up a fake local hash table entry for it. Unconditionally add
+ a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular. Count
+ dyn relocs for ifunc.
+ (_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
+ (allocate_dynrelocs): Unconditionally emit a PLT entry when
+ STT_GNU_IFUNC and h->def_regular. Count GOT dyn relocs for ifunc.
+ (allocate_local_dynrelocs): New function.
+ (_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
+ table. Emit dynamic relocs to irelplt when not shared. Treat iplt
+ like splt.
+ (_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
+ (_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
+ plt in iplt/irelplt.
+
+2010-02-08 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
+ max_contents_size, only consider sections whose contents must
+ be swapped in.
+
+2010-02-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
+ (ppc64_elf_size_dynamic_sections): ..and here..
+ (merge_got_entries): ..rather than here.
+
+2010-02-09 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
+ (has_small_toc_reloc): Define.
+ (ppc64_elf_check_relocs): Set the above flags.
+ (ppc64_elf_edit_opd): Delete obfd param.
+ (ppc64_elf_tls_optimize): Likewise.
+ (ppc64_elf_edit_toc): Likewise.
+ (ppc64_elf_tls_setup): Likewise. Add no_multi_toc param.
+ * elf64-ppc.h: Update prototypes.
+
+2010-02-08 Alan Modra <amodra@gmail.com>
+
+ * section.c (struct bfd_section): Delete has_tls_reloc,
+ has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
+ Add sec_flg0 thru sec_flg5.
+ (BFD_FAKE_SECTION): Update for changed flags.
+ * ecoff.c (bfd_debug_section): Likewise.
+ * elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
+ * elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
+ (has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
+ * elf32-xtensa.c (reloc_done): Define.
+ * elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
+ * bfd-in2.h: Regenerate.
+
+2010-02-08 Tristan Gingold <gingold@adacore.com>
+
+ * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
+ for non-scattered relocations.
+
+2010-02-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
+ apuinfo sections, only scan input sections once and reuse the
+ buffer.
+
+2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * archures.c (bfd_mach_ppc_titan): Define.
+ * bfd-in2.h: Regenerate.
+ * cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
+
+2010-02-08 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
+
+2010-02-05 Sterling Augustine <sterling@tensilica.com>
+
+ * elf.c (assign_file_positions_for_load_sections) Update lma of
+ section if necessary. Fixes Bugzilla 11219.
+