+2018-02-02 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
+ emitted for toc sequence optimization. Set and use "howto" later.
+
+2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
+
+ * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
+ arithmetic on NULL pointer.
+ * elflink.c (_bfd_elf_archive_symbol_lookup,
+ elf_link_add_archive_symbols): Likewise.
+
+2018-01-31 Michael Matz <matz@suse.de>
+
+ * elflink.c (bfd_elf_define_start_stop): Fix check of
+ def_dynamic.
+
+2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/21964
+ * elflink.c (bfd_elf_define_start_stop): Check if __start and
+ __stop symbols are referenced by shared objects.
+
+2018-01-30 Alan Modra <amodra@gmail.com>
+
+ PR 22758
+ * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
+ segment when demand paged with lma on the same page. Test this
+ before load/non-load, executable/non-executable,
+ writable/non-writable tests and simplify. Delete bogus relro
+ condition in writable/non-writable test. Delete outdated
+ comment. Formatting.
+
+2018-01-30 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
+ symbols dynamic.
+
+2018-01-29 Alan Modra <amodra@gmail.com>
+
+ PR 22741
+ * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
+ range before converting to a symbol table pointer.
+
+2018-01-27 Nick Clifton <nickc@redhat.com>
+
+ * po/ru.po: Updated Russian translation.
+
+2018-01-26 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (bfd_elf_define_start_stop): Override symbols when
+ they are defined dynamically.
+
+2018-01-26 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
+ .branch_lt changes size.
+
+2018-01-25 Alan Modra <amodra@gmail.com>
+
+ PR 22746
+ * elfcode.h (elf_object_p): Avoid integer overflow.
+
+2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ld/22727
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
+ Do a mere lookup of the __tls_get_addr symbol instead of adding it.
+
+ Revert
+ 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22263
+ * elfxx-sparc.c (sparc_elf_tls_transition): Replace
+ bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
+ bfd_link_executable for TLS check.
+ (_bfd_sparc_elf_check_relocs): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (_bfd_sparc_elf_relocate_section): Likewise.
+
+2018-01-24 Renlin Li <renlin.li@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
+ BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G3.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+ (_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2018-01-24 Renlin Li <renlin.li@arm.com>
+
+ * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
+ BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
+ BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
+ BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
+ BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
+ BFD_RELOC_AARCH64_MOVW_PREL_G3.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2018-01-23 Maciej W. Rozycki <macro@mips.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
+ `mips_elf32_section_processing' comment reference.
+
+2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22721
+ * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
+ versioned __tls_get_addr symbol.
+
+2018-01-19 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2018-01-18 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
+ * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
+ (ppc64_elf_build_stubs): Likewise.
+
+2018-01-17 Nick Clifton <nickc@redhat.com>
+
+ * po/ru.po: Updated Russian translation.
+ * po/uk/po: Updated Ukranian translation.
+
+2018-01-17 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
+
+2018-01-17 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
+ (CRSETEQ, BEQCTRM): Define.
+ (is_nonpic_glink_stub): Don't check bctr.
+ (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
+ (ppc_elf_relax_section): Size speculation barrier.
+ (output_bctr): New function.
+ (write_glink_stub): Use output_bctr.
+ (ppc_elf_relocate_section): Use output_bctr for long branch stub.
+ (ppc_elf_finish_dynamic_symbol): Likewise.
+ (ppc_elf_finish_dynamic_sections): Use output_bctr.
+ * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
+ * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
+ (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
+ (size_global_entry_stubs): Handle speculation barrier sizing.
+ (plt_stub_size): Likewise.
+ (output_bctr): New function.
+ (build_plt_stub, build_tls_get_addr_stub): Output speculation
+ barrier.
+ (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
+ (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
+ (build_global_entry_stubs): Output speculation barrier.
+ (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
+ * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
+
+2018-01-17 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
+ __tls_get_addr_opt, and alignment sizing.
+ (TLS_GET_ADDR_GLINK_SIZE): Delete.
+ (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
+ (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
+ or 8 insns.
+ (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
+ (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
+ (ppc_elf_size_dynamic_sections): Likewise. Size branch table
+ by PLT reloc count.
+ (write_glink_stub): Handle __tls_get_addr_opt stub.
+ Pad out to size given by GLINK_ENTRY_SIZE.
+ (ppc_elf_relocate_section): Adjust write_glink_stub call.
+ (ppc_elf_finish_dynamic_symbol): Likewise.
+ (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
+ insn array since so many need rewriting.
+ * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
+ * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
+ GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
+ nops. Adjust all uses.
+ (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
+ in glink_vma calculation.
+ (struct ppc_link_hash_table): Add global_entry section pointer.
+ (create_linkage_sections): Create separate section for global
+ entry stubs.
+ (PPC_LO, PPC_HI, PPC_HA): Move earlier.
+ (size_global_entry_stubs): Handle sizing for aligned stubs.
+ (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
+ and don't stash end of glink branch table in rawsize.
+ (ppc_build_one_stub): Rewrite stub size calculations.
+ (build_global_entry_stubs): Use new section.
+ (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
+ Build lazy link stubs out to end of section. Build global entry
+ stubs in new section.
+
+2018-01-15 Nick Clifton <nickc@redhat.com>
+
+ * po/uk.po: Updated Ukranian translation.
+
+2018-01-13 Nick Clifton <nickc@redhat.com>
+
+ * po/bfd.pot: Regenerated.
+
+2018-01-13 Nick Clifton <nickc@redhat.com>
+
+ * version.m4: Bump version to 2.30.51
+ * configure: Regenerate.
+
+2018-01-13 Nick Clifton <nickc@redhat.com>
+
+ 2.30 branch created.
+
+2018-01-12 Jens Widell <jl@opera.com>
+
+ * elf.c (setup_group): Optimize search for group by remembering
+ last found group and restarting search at that index.
+ * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
+
+2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
+
+ * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
+ bfd_link_common_skip_none in switch.
+
+2018-01-12 Alan Modra <amodra@gmail.com>
+
+ PR ld/22649
+ * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
+ references on forced local symbols.
+
+2018-01-12 Vlad Ivanov <vlad@ivanov.email>
+
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
+ .reginfo section has wrong size.
+
+2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22393
+ * elf.c (_bfd_elf_map_sections_to_segments): When generating
+ separate code and read-only data LOAD segments, create a new
+ LOAD segment if the previous section contains text and the
+ current section doesn't or vice versa. Don't put a writable
+ section in a read-only segment if there is a RELRO segment.
+
+2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22649
+ * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
+ references on forced local symbols.
+
+2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22677
+ * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
+ INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
+
+2017-09-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ PR 22662
+ * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
+
2018-01-03 John Baldwin <jhb@FreeBSD.org>
* elf.c (elfcore_grok_freebsd_note): Handle