Copy relocations against protected symbols
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 384fca7409683bc24c8884016eed154ed4f6917a..0db2820ed7b9cfdc25325834f3ca89e861162441 100644 (file)
+2014-12-12  Alan Modra  <amodra@gmail.com>
+
+       PR 15228
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param.
+       Error on copy relocs against protected symbols.
+       (elf_merge_st_other): Set h->protected_def.
+       * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def".
+       (_bfd_elf_adjust_dynamic_copy): Update prototype.
+       * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update
+       _bfd_elf_adjust_dynamic_copy call.
+       * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
+       * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
+       * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
+       * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
+       * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise.
+       * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+       * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
+       * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
+       * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
+       * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+       * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+       * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
+       * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.
+
+2014-12-11  Keith Seitz  <keiths@redhat.com>
+
+       * elf.c (elf_parse_notes): Define convenience macro
+       GROKER_ELEMENT to add elements to 'grokers' array.
+       Add 'len' element to 'grokers'.
+       Use grokers.len instead of sizeof in string
+       comparisons.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2
+       and coffgen.  Add coff-bfd.  Sort.
+       (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2.
+       * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete.
+       (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete.
+       * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro,
+       without unused param.  Update uses.
+       (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro.
+       (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c.
+       * libcoff-in.h: #include "coff-bfd.h".
+       (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h.
+       (coff_symbol_from): Delete.
+       * coff-bfd.c: New file.
+       * coff-bfd.h: New file.
+       * coff-i386.c: Update coff_symbol_from occurrences.
+       * coff-i960.c: Likewise.
+       * coff-m68k.c: Likewise.
+       * coff-sh.c: Likewise.
+       * coff-x86_64.c: Likewise.
+       * coffcode.h: Likewise.
+       * pe-mips.c: Likewise.
+       * configure.ac (elf): Add dwarf2.lo.
+       (coffgen, coff, ecoff, xcoff): Define.  Use when mapping bfd
+       target vectors to .o files.  Add dwarf2 for mach-o targets.
+       Fix the sh target FIXME.
+       * po/SRC-POTFILES.in: Regenerate.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+       PR 17541
+       * dwarf2.c (struct comp_unit): Add "lang".
+       (non_mangled): New function.
+       (struct funcinfo): Add "is_linkage".  Reorder for better packing.
+       Make "name" a const char*.
+       (lookup_address_in_function_table): Delete functionname_ptr param.
+       (find_abstract_instance_name): Add is_linkage param.  Set if we
+       have DW_AT_linkage_name or non_mangled DW_AT_name.
+       (scan_unit_for_symbols): Similarly set func->is_linkage.
+       (parse_comp_unit): Stash DW_AT_language.
+       (comp_unit_find_nearest_line): Replace functionname_ptr param
+       with function_ptr param.
+       (_bfd_dwarf2_find_nearest_line): Adjust above calls.  Set
+       functionname_ptr from function->name.  Call _bfd_elf_find_function
+       to retrieve symbol for function if not linkage name.
+       (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from..
+       * elf.c (elf_find_function): ..here.
+       (_bfd_elf_find_nearest_line): Adjust calls.
+       * elf-bfd.h (_bfd_elf_find_function): Declare.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+       * dwarf2.c (read_address): Check bfd_target_elf_flavour before
+       calling get_elf_backend_data.
+       (_bfd_dwarf2_find_nearest_line): Fix parens.
+
+2014-12-10  Alan Modra  <amodra@gmail.com>
+
+       PR 17666
+       * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p.
+       * elfxx-target.h (elf_backend_sort_relocs_p): Define.
+       (elfNN_bed): Init new field.
+       * elflink.c (elf_link_adjust_relocs): Conditionally sort.
+       (bfd_elf_final_link): Control sorting of relocs.
+       * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function.
+       * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare.
+       * elf32-mips.c (elf_backend_sort_relocs_p): Define.
+       * elf64-mips.c (elf_backend_sort_relocs_p): Define.
+
+2014-12-09  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks.
+       * libbfd.c (safe_read_leb128): New function.
+       * libbfd-in.h (safe_read_leb128): Add prototype.
+       * libbfd.h: Regenerate.
+       * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128.
+       Check for an over-long subsection length.
+       * elf.c (elf_parse_notes): Check that the namedata is long enough
+       for the string comparison that is about to be performed.
+       (elf_read_notes): Zero-terminate the note buffer.
+
+2014-12-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (sort_r_offset): Delete.
+       (ppc64_elf_edit_opd): Don't sort input relocs.
+
+2014-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config.bfd: Add Visium support.
+       * configure.ac: Likewise.
+       * configure: Regenerate.
+       * Makefile.am (ALL_MACHINES): Add cpu-visium.lo.
+       (ALL_MACHINES_CFILES): Add cpu-visium.c.
+       (BFD32_BACKENDS): Add elf32-visium.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-visium.c.
+       * Makefile.in: Regenerate.
+       * archures.c (DESCRIPTION): Add Visium support.
+       (bfd_visium_arch): Declare.
+       (bfd_archures_list): Add bfd_visium_arch.
+       * reloc.c: Add Visium relocations.
+       * targets.c (visium_elf32_vec): Declare.
+       (_bfd_target_vector): Add visium_elf32_vec.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Likewise.
+       * cpu-visium.c: New file.
+       * elf32-visium.c: Likewise.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2014-12-05  Steve Ellcey  <sellcey@mips.com>
+
+       * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast.
+
+2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New.
+
+2014-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/17677
+       * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype.
+       * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New
+       function.
+       * elf32-i386.c (elf_i386_plt_sym_val): Removed.
+       (elf_backend_plt_sym_val): Likewise.
+       (elf_i386_get_plt_sym_val): New.
+       (elf_i386_get_synthetic_symtab): Likewise.
+       (bfd_elf32_get_synthetic_symtab): Likewise.
+       * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed.
+       (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
+       (elf_backend_plt_sym_val): Likewise.
+       (elf_x86_64_get_plt_sym_val): New.
+       (elf_x86_64_get_synthetic_symtab): Use
+       _bfd_elf_ifunc_get_synthetic_symtab.
+       (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl.
+
+2014-12-04  Alan Modra  <amodra@gmail.com>
+
+       PR 17666
+       * elflink.c: Include bfd_stdint.h.
+       (cmp_ext32l_r_offset, cmp_ext32b_r_offset,
+       cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions.
+       (elf_link_adjust_relocs): Sort relocs.  Free rel hashes after
+       sorting invalidates.
+
+2014-12-03  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * compress.c (bfd_get_full_section_contents): Fail if there are no
+       section contents available when the compress_status is
+       COMPRESS_SECTION_DONE.
+       * libbfd.c (bfd_malloc): Refuse to allocate a negative size.
+       (bfd_malloc2): Use bfd_malloc.
+       (bfd_realloc): Refuse to reallocate a negative size.
+       (bfd_realloc2): Use bfd_realloc.
+       (bfd_realloc_or_free): Use bfd_realloc.
+       (bfd_zmalloc): Use bfd_malloc.
+       (bfd_zmalloc): Use bfd_malloc2.
+       * opncls.c (bfd_alloc): Refuse to allocate a negative size.
+
+2014-12-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Check
+       info->executable for symbols which need copy relocs.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last
+       change.
+       (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared
+       with ELIMINATE_COPY_RELOCS.
+       (elf_x86_64_allocate_dynrelocs): For PIE, discard space for
+       relocs against symbols which turn out to need copy relocs.
+
+2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always
+       allow copy relocs for building executables.
+       (elf_x86_64_check_relocs): Allow copy relocs for non-GOT
+       pc-relative relocation in shared object.
+       (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for
+       PIE.
+       (elf_x86_64_relocate_section): Don't copy a pc-relative
+       relocation into the output file if the symbol needs copy reloc.
+
+2014-12-02  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Only check for
+       overflow on non-weak undefined symbols.
+
+2014-12-02  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (OPD_NDX): Define.  Use throughout for sizing/indexing
+       _opd_sec_data array, halving required memory.
+       (sort_r_offset): New function.
+       (ppc64_elf_edit_opd): Sort incoming relocs.  Accept .opd
+       sections with a mix of 16 and 24 byte OPD entries.  Don't
+       attempt to honour --non-overlapping-opd for .opd sections with
+       unexpected relocs.  Simplify opd entry size calculations by
+       first finding the reloc for the next entry.  Make edit loop
+       handle one opd entry per iteration, with an inner loop
+       handling relocs per entry.
+
+2014-12-01  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * archive.c (do_slurp_coff_armap): Add range checks to prevent
+       running off the end of the string table.
+       * compress.c (bfd_get_full_section_contents): Return a NULL
+       pointer for zero sized sections.  Do not attempt to copy a buffer
+       onto itself.
+       * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty
+       header.  Add range checks to avoid running off the end of the
+       section.
+       * elf.c (bfd_elf_get_str_section): Seek before allocating so that
+       if the seek fails, no memory is allocated.
+       (bfd_elf_string_from_elf_section): Do not allocate a string from a
+       non string section.  It only leads to trouble later on.
+       (_bfd_elf_print_private_bfd_data): Check for there being too
+       little external dynamic data.
+       (bfd_section_from_shdr): Replace assertion with a failure mode.
+       (bfd_section_from_shdr): When walking a loaded group section use
+       the internal structure size, not the external size.  Check for the
+       group section being empty.
+       * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a
+       failure mode.
+       * elfcode.h (elf_slurp_reloc_table): Likewise.
+       * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto
+       parameter is NULL.
+
+2014-11-30  Alan Modra  <amodra@gmail.com>
+
+       PR 16452, 16457
+       * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude
+       symbols from libraries that won't be listed in DT_NEEDED.
+       (elf_link_output_extsym): Don't output verdefs for such symbols.
+
+2014-11-28  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/
+       vna_next/vd_next/vda_next is zero.  Correct counts.
+
+2014-11-27  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct
+       a discrepancy between the isymMax and ifdMax values in the
+       symbolic header.
+       * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check
+       scanning the external dynamic entries.
+
+2014-11-26  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coff-h8300.c (rtype2howto): Replace abort with returning a NULL
+       value.
+       * coff-h8500.c (rtype2howto): Likewise.
+       * coff-tic30.c (rtype2howto): Likewise.
+       * coff-z80.c (rtype2howto): Likewise.
+       * coff-z8k.c (rtype2howto): Likewise.
+       * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto.
+       * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none
+       could be found.
+       * coff-mcore.c (RTYPE2HOWTO): Add range checking.
+       * coff-w65.c (rtype2howto): Likewise.
+       * coff-we32k.c (RTYPE2HOWTO): Likewise.
+       * pe-mips.c (RTYPE2HOWTO): Likewise.
+       * coff-x86_64.c (coff_amd64_reloc): Likewise.  Replace abort with
+       an error return.
+       * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to
+       be unused.
+       * coffgen.c (make_a_section_from_file): Check the length of a
+       section name before testing to see if it is a debug section name.
+       (coff_object_p): Zero out any uninitialised bytes in the opt
+       header.
+       * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw
+       source being empty when there are values to be processed.
+       (_bfd_ecoff_slurp_symbol_table): Add range check.
+       * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise.
+       (bfd_mach_o_mangle_sections): Move test for too many sections to
+       before the allocation of the section table.
+       (bfd_mach_o_read_symtab_strtab): If the read fails, free the
+       memory and nullify the symbol pointer.
+       * reloc.c (bfd_generic_get_relocated_section_contents): Add
+       handling of a bfd_reloc_notsupported return value.
+       * versados.c (EDATA): Add range checking.
+       (get_record): Likewise.
+       (process_otr): Check for contents being available before updating
+       them.
+       (versados_canonicalize_reloc): Add range check.
+
+2014-11-26  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of
+       internal verref buffer.  Error for zero sh_info.  Print errors.
+       Check for zero vd_ndx.  Use bfd_zalloc for vd_auxptr buffer.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use
+       NAME##_get_symbol_version_string.
+       (bfd_get_symbol_version_string): New.
+       * aout-adobe.c (aout_32_get_symbol_version_string): Define using
+       _bfd_nosymbols define.
+       * aout-target.h (MY_get_symbol_version_string): Likewise.
+       * aout-tic30.c (MY_get_symbol_version_string): Likewise.
+       * binary.c (binary_get_symbol_version_string): Likewise.
+       * bout.c (aout_32_get_symbol_version_string): Likewise.
+       * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise.
+       * i386msdos.c (msdos_get_symbol_version_string): Likewise.
+       * i386os9k.c (aout_32_get_symbol_version_string): Likewise.
+       * ieee.c (ieee_get_symbol_version_string): Likewise.
+       * ihex.c (ihex_get_symbol_version_string): Likewise.
+       * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise.
+       * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise.
+       * mmo.c (mmo_get_symbol_version_string): Likewise.
+       * nlm-target.h (nlm_get_symbol_version_string): Likewise.
+       * oasys.c (oasys_get_symbol_version_string): Likewise.
+       * pef.c (bfd_pef_get_symbol_version_string): Likewise.
+       * plugin.c (bfd_plugin_get_symbol_version_string): Likewise.
+       * ppcboot.c (ppcboot_get_symbol_version_string): Likewise.
+       * som.c (som_get_symbol_version_string): Likewise.
+       * srec.c (srec_get_symbol_version_string): Likewise.
+       * tekhex.c (tekhex_get_symbol_version_string): Likewise.
+       * versados.c (versados_get_symbol_version_string): Likewise.
+       * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise.
+       * xsym.c (bfd_sym_get_symbol_version_string): Likewise.
+
+       * coff64-rs6000.c (rs6000_xcoff64_vec): Use
+       coff_get_symbol_version_string.
+       (rs6000_xcoff64_aix_vec): Likewise.
+
+       * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ...
+       (_bfd_elf_get_symbol_version_string): This.
+       * elf.c: Likewise.
+       (bfd_elf_print_symbol): Updated.
+       * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define.
+
+       * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define.
+       * libcoff-in.h (coff_get_symbol_version_string): Likewise.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+       * libcoff.h: Likewise.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/16496
+       * elf-bfd.h (bfd_elf_get_symbol_version_string): New.
+       * elf.c (bfd_elf_get_symbol_version_string): New.  Extracted
+       from bfd_elf_print_symbol.
+       (bfd_elf_print_symbol): Use it.
+
+2014-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_got_plt_entry): New.
+       (elf_i386_pic_got_plt_entry): Likewise.
+       (elf_i386_link_hash_entry): Add plt_got.
+       (elf_i386_link_hash_table): Likewise.
+       (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
+       (elf_i386_get_local_sym_hash): Likewise.
+       (elf_i386_check_relocs): Create the GOT PLT if there are both
+       PLT and GOT references when the regular PLT is used.
+       (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
+       both PLT and GOT references unless pointer equality is needed.
+       (elf_i386_relocate_section): Also check the GOT PLT when
+       resolving R_386_PLT32.
+       (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
+       available.
+
+       * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
+       (elf_x86_64_link_hash_table): Likewise.
+       (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
+       (elf_x86_64_get_local_sym_hash): Likewise.
+       (elf_x86_64_check_relocs): Create the GOT PLT if there are both
+       PLT and GOT references when the regular PLT is used.
+       (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
+       both PLT and GOT references unless pointer equality is needed.
+       (elf_x86_64_relocate_section): Also check the GOT PLT when
+       resolving R_X86_64_PLT32.
+       (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
+       available.
+
+2014-11-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2014-11-24  Tejas Belagod  <tejas.belagod@arm.com>
+
+       * elfnn-aarch64.c (elf_aarch64_compare_mapping): New.
+       (erratum_835769_scan): Sort map list.
+
+2014-11-24  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (plt_stub_pad): Correct.
+
+2014-11-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of
+       elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
+       (elf_x86_64_allocate_dynrelocs): Don't assert size of
+       elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry.
+
+2014-11-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
+       branch displacement overflow in PLT entry.
+
+2014-11-21  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coffgen.c (coff_get_normalized_symtab): Check for an excessive
+       number of auxillary entries.
+       * ieee.c (next_byte): Convert to a function.  Return FALSE if the
+       next byte is beyond the end of the buffer.
+       (parse_int): Test the return value of next_byte.
+       (parse_expression): Convert to boolean.  Return FALSE if the
+       parsing failed.  Test the return value of next_byte.
+       (ieee_seek): Convert to a function.  Return FALSE if the seek goes
+       beyond the end of the buffer.
+       (ieee_slurp_external_symbols): Test the return value of ieee_seek
+       and next_byte.
+       (ieee_slurp_sections): Convert to boolean.  Return FALSE if the
+       operation failed.  Test the return value of ieee_seek and
+       next_byte.
+       (ieee_archive_p): Test the return value of ieee_seek and
+       next_byte.
+       (do_one): Likewise.
+       (ieee_slurp_section_data): Likewise.
+       (ieee_object_p): Likewise.  Store the size of the buffer in the
+       total_amt field in the header.
+       * libieee.h (common_header_type): Add amt field.
+       * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the
+       reloc's value is within range.
+       (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the
+       operation fails.
+       * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with
+       an error message.
+       (pex64_dump_xdata): Check for buffer overflows.
+       * versados.c (process_otr): Check that the section exists before
+       taking its size.
+       (versados_object_p): Make sure that enough data was read for the
+       header to be checked.
+       * vms-alpha.c (vms_get_remaining_object_record): Change
+       read_so_far parameter to an unsigned int.  Check that the amount
+       read is in range.
+
+2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize
+       PC-relative offset overflow check.
+
+2014-11-21  Alexander Cherepanov  <cherepan@mccme.ru>
+
+       PR binutils/17512
+       * coffgen.c (_bfd_coff_read_string_table): Test allocation of
+       string table before clearing the first few bytes.
+
+2014-11-21  Terry Guo  <terry.guo@arm.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (group_sections): Init stub14_group_size from
+       --stub-group-size parameter divided by 1024.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround
+       alignment calculation.
+
+2014-11-20  Terry Guo  <terry.guo@arm.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd
+       hasn't attribute section.
+
+2014-11-20  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters.
+
+2014-11-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/17618
+       * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check
+       PC-relative offset overflow in PLT entry.
+
+2014-11-18  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size
+       is larger than its real size.
+       (rsrc_print_section): Fix off-by-one error checking for overflow.
+       * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind
+       sections.
+
+2014-11-18  Igor Zamyatin  <igor.zamyatin@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only
+       for -z bndplt.
+
+2014-11-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17597
+       * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of
+       the section.
+       (bfd_get_alt_debug_link_info): Likewise.
+
+2014-11-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * ieee.c (ieee_archive_p) Skip processing if no bytes are read at
+       all.
+       (ieee_object_p): Likewise.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * coffcode.h (coff_slurp_line_table): Add cast to unsigned int.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * coffcode.h (coff_pointerize_aux_hook): Fix a typo.
+
+2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/17598
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Treat
+       R_X86_64_GOTPLT64 the same as R_X86_64_GOT64.
+       (elf_x86_64_relocate_section): Likewise.
+
+2014-11-13  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_ptr_struct): Add is_sym field.
+       (coff_new_section_hook): Set the is_sym field.
+       (coff_pointerize_aux_hook): Check the is_sym field.
+       (coff_print_aux): Likewise.
+       (coff_compute_section_file_positions): Likewise.
+       (coff_write_object_contents): Likewise.
+       (coff_slurp_line_table): Likewise.
+       (coff_slurp_symbol_table): Likewise.
+       (CALC_ADDEND): Likewise.
+       * coffgen.c (coff_renumber_symbols): Likewise.
+       (coff_mangle_symbols): Likewise.
+       (coff_fix_symbol_name): Likewise.
+       (coff_write_symbol): Likewise.
+       (coff_write_alien_symbol): Likewise.
+       (coff_write_native_symbol): Likewise.
+       (coff_write_symbols): Likewise.
+       (coff_write_linenumbers): Likewise.
+       (coff_pointerize_aux): Likewise.
+       (coff_get_normalized_symtab): Likewise.
+       (coff_get_symbol_info): Likewise.
+       (bfd_coff_get_syment): Likewise.
+       (bfd_coff_get_auxent): Likewise.
+       (coff_print_symbol): Likewise.
+       (coff_find_nearest_line_with_names): Likewise.
+       (bfd_coff_set_symbol_class): Likewise.
+       (coff_make_empty_symbol): Set the is_sym field.
+       (coff_bfd_make_debug_symbol): Likewise.
+       * peicode.h (pe_ILF_make_a_symbol): Likewise.
+       * libcoff.h: Regenerate.
+       * libcoff-in.h: Regenerate.
+
+2014-11-12  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_slurp_line_table): Set the line number of
+       corrupt entries to -1.
+       (coff_slurp_symbol_table): Alway initialise the value of the
+       symbol.
+       * coffgen.c (coff_print_symbol): Check that the combined pointer
+       is valid.
+       (coff_print_symbol): Do not print negative line numbers.
+       * peXXigen.c (pe_print_idata): Add range checking displaying
+       member names.
+
+2014-11-12  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_slurp_line_table): Drop line number info
+       not preceded by a valid function entry.  Revert last change.
+
+2014-11-11  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_slurp_line_table): Initialise the parts of the
+       line number cache that would not be initialised by the copy from
+       the new line number table.
+       (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name
+       returning NULL.
+       * coffgen.c (coff_get_normalized_symbols): Get the external
+       symbols before allocating space for the internal symbols, in case
+       the get fails.
+       * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref
+       array if one is needed.  Likewise with the verdef array.
+       * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error
+       messages.
+       (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux
+       structure are initialised.
+       (pe_print_edata): Avoid reading off the end of the data buffer.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_slurp_line_table): Use updated lineno_count
+       when building func_table.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/17512
+       * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just
+       memset the particular bits we need.  Update src after hitting loop
+       "continue".  Don't count lineno omitted due to invalid symbols in
+       nbr_func, and update lineno_count.  Init entire terminating
+       lineno.  Don't both allocating terminator in n_lineno_cache.
+       Redirect sym->lineno pointer to where n_lineno_cache will be
+       copied, and free n_lineno_cache.
+       * pe-mips.c (NUM_HOWTOS): Typo fix.
+
+2014-11-11  Alan Modra  <amodra@gmail.com>
+
+       * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section
+       size check to account for possible zero terminator.
+
+2014-11-10  James Cowgill  <James.Cowgill@imgtec.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small
+       data sections to be PROGBITS
+
+2014-11-10  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/17521
+       * coff-i386.c (NUM_HOWTOS): New define.
+       (RTYPE2HOWTO): Use it.
+       (coff_i386_rtype_to_howto): Likewise.
+       (coff_i386_reloc_name_lookup): Likewise.
+       (CALC_ADDEND): Check that reloc r_type field is valid.
+       * coff-x86_64.c (NUM_HOWTOS): New define.
+       (RTYPE2HOWTO): Use it.
+       (coff_amd64_rtype_to_howto): Likewise.
+       (coff_amd64_reloc_name_lookup): Likewise.
+       (CALC_ADDEND): Check that reloc r_type field is valid.
+       * coffcode.h (coff_slurp_line_table): Check for symbol table
+       indexing underflow.
+       (coff_slurp_symbol_table): Use zalloc to ensure that all table
+       entries are initialised.
+       * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits
+       in the string table.  Also ensure that the table is 0 terminated.
+       (coff_get_normalized_symtab): Check for symbol table indexing
+       underflow.
+       * opncls.c (bfd_alloc): Catch the case where a small negative size
+       can result in only 1 byte being allocated.
+       (bfd_alloc2): Use bfd_alloc.
+       * pe-mips.c (NUM_HOWTOS): New define.
+       (coff_mips_reloc_name_lookup): Use it.
+       (CALC_ADDEND): Check that reloc r_type field is valid.
+       * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries
+       in the DataDirectory.
+       (pe_print_idata): Avoid reading beyond the end of the data block
+       wen printing strings.
+       (pe_print_edata): Likewise.
+       Check for table indexing underflow.
+       * peicode.h (pe_mkobject): Initialise the pe_opthdr field.
+       (pe_bfd_object_p): Allocate and initialize enough space to hold a
+       PEAOUTHDR, even if the opt_hdr field specified less.
+
+2014-11-08  Alan Modra  <amodra@gmail.com>
+
+       * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
+
+2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * peXXigen.c (pe_print_idata): Cast to unsigned long in range
+       checks.
+
+2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/17482
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments
+       for IE->LE transition.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+       * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+       * tekhex.c (CHUNK_SPAN): Define.
+       (struct data_struct <chunk_init>): Use one byte per span, update
+       all code accessing this field.
+       (find_chunk): Add create param, don't create new entry unless set.
+       (insert_byte): Don't save zeros.
+       (first_phase): Set section SEC_CODE or SEC_DATA flag depending
+       on symbol type.  Create an alternate section if both types of
+       symbol are given.  Attach type '2' and '6' symbols to absolute
+       section.
+       (move_section_contents): Fix caching of chunk.  Don't create chunk
+       when reading, or for writing zeros.
+       (tekhex_set_section_contents): Don't create initial chunks.
+       (tekhex_write_object_contents): Use CHUNK_SPAN.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+       * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer.
+
+2014-11-07  Alan Modra  <amodra@gmail.com>
+
+       * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check.
+       * coffcode.h (coff_set_alignment_hook): Likewise.
+       (coff_slurp_line_table): Likewise.
+       * coffgen.c (coff_get_normalized_symtab): Likewise.
+       (_bfd_coff_get_external_symbols): Likewise.
+       * elf.c (bfd_elf_get_str_section): Likewise.
+       * tekhex.c (first_phase): Likewise.
+
+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
This page took 0.034641 seconds and 4 git commands to generate.