+2014-11-06 Nick Clifton <nickc@redhat.com>
+
+ * aoutx.h (slurp_symbol_table): Revert previous delta.
+ (slurp_reloc_table): Likewise.
+ * compress.c (bfd_get_full_section_contents): Remove file size
+ test.
+ * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
+ and do not complain about linker generated files.
+
+2014-11-06 Will Newton <will.newton@linaro.org>
+
+ * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero
+ length sections and sub-sections.
+
+2014-11-04 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT.
+ Replace another abort with an error message.
+ (coff_slurp_line_table): Add more range checking.
+ * peXXigen.c (pe_print_debugdata): Add range checking.
+
+2014-11-05 James Cowgill <james.cowgill@imgtec.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault
+ when creating a dso with discarded dynsym section.
+
+2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6
+ and E_MIPS_ARCH_64R6 support.
+
+2014-11-05 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * coffcode.h (coff_set_alignment_hook): Warn if the file lies
+ about the number of relocations it contains.
+ (coff_sort_func_alent): Return 0 if the pointers are NULL.
+ (coff_slurp_line_table): Add more range checks. Do not free new
+ tables created when sorting line numbers.
+ * peXXigen.c (pe_print_idata): Add range checks.
+ (pe_print_edata): Likewise.
+ (rsrc_print_resource_entries): Likewise. Avoid printing control
+ characters. Terminate priniting if corruption is detected.
+ (rsrc_print_resource_directory): Terminate printing if an unknown
+ directory type is encountered.
+ (pe_print_debugdata): Fix off-by-one error.
+ (rsrc_count_entries): Add range checking.
+ (rsrc_parse_entry): Likewise.
+
+2014-11-04 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * compress.c (bfd_get_full_section_contents): Improve test for
+ linker created objects.
+
+ PR binutils/17533
+ * archive.c (_bfd_slurp_extended_name_table): Handle archives with
+ corrupt extended name tables.
+
+2014-11-04 Alan Modra <amodra@gmail.com>
+
+ * elf32-spu.c (ovl_mgr_stat): New function.
+ (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec.
+
+2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker
+ relaxation, reduce the size of symbols that span the deleted
+ bytes.
+
+2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols
+ located at the very end of the section.
+
+2014-11-03 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * aoutx.h (slurp_symbol_table): Check that computed table size is
+ not bigger than the file from which is it being read.
+ (slurp_reloc_table): Likewise.
+ * coffcode.h (coff_slurp_line_table): Remove unneeded local
+ 'warned'. Do not try to print the details of a symbol with an
+ invalid index.
+ * coffgen.c (make_a_sectiobn_from_file): Check computed string
+ index against length of string table.
+ (bfd_coff_internal_syment_name): Check read in string offset
+ against length of string table.
+ (build_debug_section): Return a pointer to the section used.
+ (_bfd_coff_read_string_table): Store the length of the string
+ table in the coff_tdata structure.
+ (bfd_coff_free_symbols): Set the length of the string table to
+ zero when it is freed.
+ (coff_get_normalized_symtab): Check offsets against string table
+ or data table lengths as appropriate.
+ * cofflink.c (_bfd_coff_link_input_bfd): Check offset against
+ length of string table.
+ * compress.c (bfd_get_full_section_contents): Check computed size
+ against the size of the file.
+ * libcoff-in.h (obj_coff_strings_len): Define.
+ (struct coff_tdata): Add strings_len field.
+ * libcoff.h: Regenerate.
+ * peXXigen.c (pe_print_debugdata): Do not attempt to print the
+ data if the debug section is too small.
+ * xcofflink.c (xcoff_link_input_bfd): Check offset against
+ length of string table.
+
+2014-11-03 Nick Clifton <nickc@redhat.com>
+
+ * po/fi.po: Updated Finnish translation.
+
+2014-10-31 Andrew Pinski <apinski@cavium.com>
+ Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+
+ * archures.c: Add octeon3 for mips target.
+ * bfd-in2.h: Regenerate.
+ * bfd/cpu-mips.c: Define I_mipsocteon3.
+ nfo_struct): Add octeon3 support.
+ * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for
+ octeon3.
+ (mips_set_isa_flags): Add support for octeon3.
+ (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3.
+ (mips_mach_extensions): Make bfd_mach_mips_octeon3 an
+ extension of bfd_mach_mips_octeon2.
+ (print_mips_isa_ext): Print the value of Octeon3.
+
+2014-10-31 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a
+ symbol table bigger than the file.
+ * elf.c (bfd_elf_get_str_section): Do not try to load a string
+ table bigger than the file.
+ * tekhex.c (first_phase): Check that the section range is sane.
+
+2014-10-30 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte.
+ * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun.
+
+2014-10-29 Nick Clifton <nickc@redhat.com>
+
+ * elf.c (bfd_section_from_shdr): Fix heap use after free memory
+ leak.
+
+2014-10-29 Dennis Brueni <dbrueni@slickedit.com>
+
+ * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy.
+
+2014-10-28 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * elf.c (bfd_section_from_shdr): Allocate and free the recursion
+ detection table on a per-bfd basis.
+ * peXXigen.c (pe_print_edata): Handle binaries with a truncated
+ export table.
+
+2014-10-28 Andreas Schwab <schwab@suse.de>
+ Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17510
+ * srec.c (srec_bad_byte): Increase size of buf to allow for
+ negative values.
+ (srec_scan): Use an unsigned char buffer to hold header bytes.
+
+2014-10-27 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/17512
+ * elf.c (bfd_section_from_shdr): Detect and warn about ELF
+ binaries with a group of sections linked by the string table
+ indicies.
+ * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries
+ with an invalid value for NumberOfRvaAndSizes.
+ (pe_print_edata): Detect out of range rvas and entry counts for
+ the Export Address table, Name Pointer table and Ordinal table.
+
+ PR binutils/17510
+ * elf.c (setup_group): Improve handling of corrupt group
+ sections.
+
+2014-10-24 Tejas Belagod <tejas.belagod@arm.com>
+
+ * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
+ * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
+ * elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
+ (elf_aarch64_stub_type): Add new type
+ aarch64_stub_erratum_835769_veneer.
+ (elf_aarch64_stub_hash_entry): New fields for erratum 835769.
+ (aarch64_erratum_835769_fix): New data struct to record erratum
+ 835769.
+ (elf_aarch64_link_hash_table: Global flags for 835769.
+ (aarch64_build_one_stub): Add case for 835769.
+ (aarch64_size_one_stub): Likewise.
+ (aarch64_mem_op_p, aarch64_mlxl_p,
+ aarch64_erratum_sequence,erratum_835769_scan):
+ New. Decode and scan functions for erratum 835769.
+ (elf_aarch64_create_or_find_stub_sec): New.
+ (elfNN_aarch64_size_stubs): Look for erratum 835769 and record
+ them.
+ (bfd_elfNN_aarch64_set_options: Set global flag for 835769.
+ (erratum_835769_branch_to_stub_data,
+ make_branch_to_erratum_835769_stub):New. Connect up all the
+ erratum stubs to occurances by branches.
+ (elfNN_aarch64_write_section): New hook.
+ (aarch64_map_one_stub): Output erratum stub symbol.
+ (elfNN_aarch64_size_dynamic_sections): Init mapping symbol
+ information for erratum 835769.
+ (elf_backend_write_section): Define.
+
+2014-10-23 Victor Kamensky <victor.kamensky@linaro.org>
+
+ * elf32-arm.c (read_code32): New function to read 32 bit
+ arm instruction.
+ (read_code16): New function to read 16 bit thumb instrution.
+ (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32
+ and read_code16 to read instructions.
+
+2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * elfxx-mips.c (print_mips_ases): Print unknown ASEs.
+ (print_mips_isa_ext): Print the value of an unknown extension.
+
+2014-10-21 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
+ entries that aren't a multiple of 8 rather than failing assertion.
+
+2014-10-21 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions
+ to thread_starter.
+
+2014-10-18 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code
+ section for function symbols defined in .opd is discarded, let
+ the symbol appear to be undefined.
+ (opd_entry_value): Ensure the result section is that for the
+ function code section in the same object as the OPD entry.
+
+2014-10-16 Alan Modra <amodra@gmail.com>
+
+ PR 17492
+ * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols
+ on ELF output bfd.
+ * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
+ * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
+ * 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 (elf_x86_64_add_symbol_hook): Likewise.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
+ * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle
+ STB_GNU_UNIQUE too.
+
+2014-10-16 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing
+ even when output is not ppc64 ELF. Remove redundant tests on
+ type of input bfd.
+
+2014-10-15 Alan Modra <amodra@gmail.com>
+
+ PR 17481
+ * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr"
+ param, group "section" and "offset" params. Zero discriminator.
+ * bfd.c (bfd_find_nearest_line): Implement with new
+ _bfd_find_nearest_line.
+ (bfd_find_nearest_line_discriminator): Likewise.
+ * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't
+ define.
+ * coff-rs6000.c (xcoff_find_nearest_line,
+ xcoff_find_nearest_line_discriminator): Delete.
+ (_bfd_xcoff_find_nearest_line): Don't define.
+ (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line.
+ * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't
+ define.
+ * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust.
+ * coffgen.c (coff_find_nearest_line_with_names): Reorder params,
+ adjust _bfd_dwarf2_find_nearest_line call.
+ (coff_find_nearest_line): Add "discriminator_ptr" param, reorder
+ others. Set discriminator. Adjust call.
+ (coff_find_nearest_line_discriminator): Delete.
+ * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params.
+ * dwarf2.c (find_line): Rename to..
+ (_bfd_dwarf2_find_nearest_line): ..this, reordering params.
+ Simplify setting of do_line. Delete old function.
+ (_bfd_dwarf2_find_line): Delete.
+ * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add
+ discriminator_ptr and set it.
+ * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype.
+ (_bfd_elf_find_nearest_line_discriminator): Delete.
+ (_bfd_elf_find_line_discriminator): Delete.
+ (_bfd_generic_find_nearest_line_discriminator): Don't define.
+ * elf.c (elf_find_function): Reorder params.
+ (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr.
+ Adjust calls.
+ (_bfd_elf_find_nearest_line_discriminator): Delete.
+ (_bfd_elf_find_line): Adjust call.
+ * elf32-arm.c (arm_elf_find_function): Reorder params.
+ (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr.
+ Adjust calls.
+ * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly.
+ * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params.
+ (elfNN_aarch64_find_nearest_line): Reorder params, add
+ discriminator_ptr. Adjust calls.
+ * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly.
+ * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype.
+ * libaout.h (NAME (aout, find_nearest_line)): Update prototype.
+ * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update.
+ (_bfd_dwarf1_find_nearest_line): Likewise.
+ (_bfd_dwarf2_find_nearest_line): Likewise.
+ (_bfd_dwarf2_find_line): Delete.
+ (_bfd_generic_find_nearest_line_discriminator): Delete.
+ * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete.
+ * libcoff-in.h (coff_find_nearest_line): Update prototype.
+ (coff_find_nearest_line_discriminator): Delete.
+ (coff_find_nearest_line_with_names): Update prototype.
+ * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype.
+ * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add
+ discriminator_ptr. Adjust calls.
+ * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype.
+ * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add
+ discriminator_ptr and set.
+ * som.c (som_find_nearest_line): Similarly.
+ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for
+ _bfd_find_nearest_line_discriminator.
+ (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype.
+ (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete.
+ * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to..
+ (_bfd_vms_find_nearest_line): ..this. Reorder params, add
+ "discriminator" and set.
+ (_bfd_vms_find_nearest_line_discriminator): Delete.
+ (_bfd_generic_find_nearest_line_discriminator): Don't define.
+ (alpha_vms_find_nearest_line): Update define.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2014-10-15 Alan Modra <amodra@gmail.com>
+
+ * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line.
+ * aout-adobe.c (aout_32_find_line): Define.
+ (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup,
+ aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define.
+ * aout-target.h (MY_find_line): Define.
+ * aout-tic30.c (MY_find_line): Define.
+ * binary.c (binary_find_line): Define.
+ * bout.c (aout_32_find_line): Define.
+ * coff-rs6000.c (_bfd_xcoff_find_line): Define.
+ * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line.
+ (rs6000_xcoff64_aix_vec): Likewise.
+ * elf-bfd.h (_bfd_generic_find_line): Don't define.
+ * elfxx-target.h (bfd_elfNN_find_line): Define.
+ * i386msdos.c (msdos_find_line): Define.
+ * i386os9k.c (aout_32_find_line): Define.
+ * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func.
+ (ieee_find_nearest_line, ieee_find_line,
+ ieee_find_inliner_info): Define.
+ * ihex.c (ihex_find_line): Define.
+ * libbfd-in.h (_bfd_nosymbols_find_line): Define.
+ (_bfd_generic_find_line): Don't define.
+ * libbfd.c (_bfd_generic_find_line): Delete.
+ * libcoff-in.h (coff_find_line): Define.
+ * libecoff.h (_bfd_ecoff_find_line): Define.
+ * mach-o.h (bfd_mach_o_find_line): Define.
+ * mmo.c (mmo_find_line): Define.
+ * nlm-target.h (nlm_find_line): Define.
+ * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete.
+ (oasys_find_nearest_line, oasys_find_line,
+ oasys_find_inliner_info): Define.
+ * pef.c (bfd_pef_find_line): Define.
+ * plugin.c (bfd_plugin_find_line): Define.
+ * ppcboot.c (ppcboot_find_line): Define.
+ * som.c (som_find_line): Define.
+ * srec.c (srec_find_line): Define.
+ * tekhex.c (tekhex_find_line): Define.
+ * versados.c (versados_find_line): Define.
+ * vms-alpha.c (alpha_vms_find_line): Define.
+ * xsym.c (bfd_sym_find_line): Define.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2014-10-15 Tristan Gingold <gingold@adacore.com>
+
+ * version.m4: Bump version to 2.25.51
+ * configure: Regenerate.
+
+2014-10-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation
+ offset is less than 2.
+ * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2014-10-14 Alan Modra <amodra@gmail.com>
+
+ PR 17453
+ * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
+ (EIGHT_GAZILLION): Delete.
+
+2014-10-13 Alan Modra <amodra@gmail.com>
+
+ PR 17467
+ * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
+ (_bfd_elf_parse_eh_frame): When relocatable output, don't set
+ flags enabling conversion of CIEs and FDEs to use relative encoding.
+ (find_merged_cie): Similarly.
+ (_bfd_elf_write_section_eh_frame): Don't edit FDEs when
+ relocatable, except for CIE pointer.
+ * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
+ relocs against symbols in dropped comdat group sections.
+ (bfd_elf_discard_info): Do some eh_frame optimisation when
+ relocatable.
+
+2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
+ the hwcaps2 object attribute.
+
+2014-10-04 Alan Modra <amodra@gmail.com>
+
+ PR 17447
+ * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
+ range FDEs for discarding.
+ (vma_compare): Sort on range after address.
+ (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
+ (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in
+ error message rather than "fde".
+ (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
+ error message.
+
+2014-09-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17440
+ * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
+ for OLD_FREEBSD_ABI_LABEL.
+
+2014-09-24 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR 17422
+ * plugin.c (try_claim): New function. Moved from
+ bfd_plugin_object_p.
+ (try_load_plugin): Pass through bfd. Add test.
+ (load_plugin): Pass through bfd.
+ (bfd_plugin_object_p): Move logic to try_claim.
+
+2014-09-23 Sterling Augustine <augustine.sterling@gmail.com>
+
+ * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
+ call relaxation use furthermost addresses where call source and
+ destination can be to check whether it's in the range of a direct
+ call.
+
+2014-09-22 Alan Modra <amodra@gmail.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
+ false for overflow or overlapping FDEs. Give more detail in
+ error messages.
+
+2014-09-22 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
+ the addend if relocations are RELA.
+
+2014-09-22 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ * elf32-nds32.c (nds32_elf_ex9_build_hash_table,
+ nds32_elf_ex9_relocation_check): Synchronize the argument type.
+
+2014-09-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
+
+ * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
+ for PIE.
+ * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
+ for PIE.
+
+2014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR gdb/17407
+ * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
+
+2014-09-16 Terry Guo <terry.guo@arm.com>
+
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
+ failed to merge.
+
+2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ * bfd-in2.h: Regenerate.
+ * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
+ (nds32_elf_relax_section): Code refactoring.
+ (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
+ nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
+ nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
+ pattern. The first three is moved from nds32_elf_relax_section,
+ and the last three is new function.
+ (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
+ nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
+ nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
+ nds32_elf_relax_longjump7): Relax condition branch pattern. The first
+ three is moved from nds32_elf_relax_section, and the last four
+ is new function.
+ (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
+ pattern and address setting pattern.
+ (nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
+ nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
+ nds32_elf_relax_gotoff_suff): Relax pic pattern.
+ (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
+ nds32_elf_relax_letlsls): Relax TLS pattern.
+ (nds32_relax_adjust_label): Adjust alignment and nop.
+ (nds32_elf_pick_relax): Choose relaxation optimization.
+ (nds32_elf_get_relocated_section_contents): New hook.
+ (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
+ table 234th entry.
+ * elf32-nds32.h: Declare.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add nds32 new relocations.
+
+2014-09-15 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ * dwarf2.c (find_abstract_instance_name): Use 'form' instead of
+ 'name' for the typo issue, which related with commit
+ 60d77146a249ae9b51d7ce98930cdbedb2cfa352.
+
+2014-09-15 Andrew Bennett <andrew.bennett@imgtec.com>
+ Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
+ * archures.c (bfd_architecture): Likewise.
+ * bfd-in2.h (bfd_architecture): Likewise.
+ (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
+ BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
+ BFD_RELOC_MIPS_19_PCREL_S2.
+ * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
+ * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
+ R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
+ (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
+ BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
+ BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
+ BFD_RELOC_LO16_PCREL.
+ * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
+ R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
+ and R_MIPS_PCLO16.
+ (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
+ BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
+ BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
+ BFD_RELOC_LO16_PCREL.
+ * elfn32-mips.c: Likewise.
+ * elfxx-mips.c (MIPSR6_P): New define.
+ (mipsr6_exec_plt_entry): New array.
+ (hi16_reloc_p): Add support for R_MIPS_PCHI16.
+ (lo16_reloc_p): Add support for R_MIPS_PCLO16.
+ (aligned_pcrel_reloc_p): New function.
+ (mips_elf_relocation_needs_la25_stub): Add support for relocs:
+ R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
+ (mips_elf_calculate_relocation): Add support for relocs:
+ R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
+ R_MIPS_PCHI16 and R_MIPS_PCLO16.
+ (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
+ (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
+ (_bfd_mips_elf_check_relocs): Add support for relocs:
+ R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
+ (_bfd_mips_elf_relocate_section): Add a check for unaligned
+ pc relative relocs.
+ (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
+ plt entry.
+ (mips_set_isa_flags): Add support for mips32r6 and mips64r6.
+ (_bfd_mips_elf_print_private_bfd_data): Likewise.
+ (mips_32bit_flags_p): Add support for mips32r6.
+ * libbfd.h (bfd_reloc_code_real_names): Add entries for
+ BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
+ BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
+ * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
+ BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
+ BFD_RELOC_MIPS_19_PCREL_S2.
+ * config.bfd: Add mips*-img-elf* target triple.
+
+2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com>
+
+ * config.bfd: Add mips*-img-elf* target triple.
+
+2014-09-12 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (struct eh_frame_array_ent): Add "range".
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
+ range of FDEs to hdr_info->array.
+ (_bfd_elf_write_section_eh_frame_hdr): Report overflow in
+ .eh_frame_hdr entries, and overlapping FDEs.
+
+2014-09-10 Alan Modra <amodra@gmail.com>
+
+ * elf.c (assign_file_positions_except_relocs): Move section header
+ placement to..
+ (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static.
+ * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
+ * elflink.c (bfd_elf_final_link): Don't call above function.
+
+2014-08-30 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
+
+2014-08-29 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Report a different
+ error for calls via a toc adjusting stub without a nop.
+
+2014-08-29 Alan Modra <amodra@gmail.com>
+
+ * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
+ error. Remove redundant bfd_set_error.
+
+2014-08-29 Alan Modra <amodra@gmail.com>
+
+ * srec.c (srec_scan): Revert last change. Report an error for
+ S-records with less than the miniumum byte count.
+
+2014-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * srec.c (srec_scan): Return error for 0 size.
+
+2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17306
+ * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
+ to check discarded input section.
+ * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2014-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/17313
+ * elflink.c (elf_link_add_object_symbols): Don't attach dynamic
+ sections to input from ld --just-symbols.
+
+2014-08-26 DJ Delorie <dj@redhat.com>
+
+ * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
+ relaxation type.
+
+2014-08-26 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
+ properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking
+ shared library.
+ (elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
+
+2014-08-26 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Fix typo in or1knd selection.
+
+2014-08-22 Kai Tietz <ktietz@redhat.com>
+
+ PR binutils/11822
+ * coffcode.h (coff_compute_section_file_positions): Keep
+ FileAlignment valid as set.
+
+2014-08-22 Alan Modra <amodra@gmail.com>
+
+ * elf-eh-frame.c (struct cie): Delete "output_sec" field.
+ (cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
+
2014-08-22 Alan Modra <amodra@gmail.com>
* elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
2014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com>
Add or reactivate or1k-*-rtems*
- * bfd/config.bfd (or1k-*-rtems*): Reactivate.
+ * config.bfd (or1k-*-rtems*): Reactivate.
2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
PR ld/16910
* linker.c (unwrap_hash_lookup): New function.
- * elf-bfd (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
+ * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2014-05-27 DJ Delorie <dj@redhat.com>
- * bfd/elf32-rx.c (get_symbol_value_maybe): New.
+ * elf32-rx.c (get_symbol_value_maybe): New.
(rx_elf_relocate_section): If we find a reloc against
$tableentry$default$<name>, redirect it to the appropriate
$tableentry$<n>$.
(rx_table_map): New.
(rx_additional_link_map_text): New. Called to dump tables to the
map file.
- * bfd/elf32-rx.h: New.
+ * elf32-rx.h: New.
2014-05-20 DJ Delorie <dj@redhat.com>