+2017-11-29 Stefan Stroe <stroestefan@gmail.com>
+
+ * po/Make-in (datadir): Define as @datadir@.
+ (localedir): Define as @localedir@.
+ (gnulocaledir, gettextsrcdir): Use @datarootdir@.
+
+2017-11-28 Nick Clifton <nickc@redhat.com>
+
+ PR 22507
+ * coffgen.c (_bfd_coff_read_string_table): Check for an excessive
+ size of the external string table.
+
+2017-11-28 Nick Clifton <nickc@redhat.com>
+
+ PR 22506
+ * reloc.c (reloc_offset_in_range): Rename to
+ bfd_reloc_offset_in_range and export.
+ (bfd_perform_relocation): Rename function invocation.
+ (bfd_install_relocation): Likewise.
+ (bfd_final_link_relocate): Likewise.
+ * bfd-in2.h: Regenerate.
+ * coff-arm.c (coff_arm_reloc): Use bfd_reloc_offset_in_range.
+ * coff-i386.c (coff_i386_reloc): Likewise.
+ * coff-i860.c (coff_i860_reloc): Likewise.
+ * coff-m68k.c (mk68kcoff_common_addend_special_fn): Likewise.
+ * coff-m88k.c (m88k_special_reloc): Likewise.
+ * coff-mips.c (mips_reflo_reloc): Likewise.
+ * coff-x86_64.c (coff_amd64_reloc): Likewise.
+
+2017-11-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf-m10300.c (mn10300_elf_check_relocs): Don't set
+ non_ir_ref_regular.
+ * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+ * elf32-bfin.c (bfin_check_relocs): Likewise.
+ * elf32-cr16.c (cr16_elf_check_relocs): Likewise.
+ * elf32-cris.c (cris_elf_check_relocs): Likewise.
+ * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
+ * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
+ * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
+ * elf32-frv.c (elf32_frv_check_relocs): Likewise.
+ * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
+ * elf32-i370.c (i370_elf_check_relocs): Likewise.
+ * elf32-i386.c (elf_i386_check_relocs): Likewise.
+ * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
+ * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
+ * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
+ * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+ * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
+ * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+ * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
+ * elf32-metag.c (elf_metag_check_relocs): Likewise.
+ * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
+ * elf32-moxie.c (moxie_elf_check_relocs): Likewise.
+ * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
+ * elf32-mt.c (mt_elf_check_relocs): Likewise.
+ * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
+ * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
+ * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
+ * elf32-rl78.c (rl78_elf_check_relocs): Likewise.
+ * elf32-s390.c (elf_s390_check_relocs): Likewise.
+ * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
+ * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
+ * elf32-sh.c (sh_elf_check_relocs): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
+ * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
+ * elf32-v850.c (v850_elf_check_relocs): Likewise.
+ * elf32-vax.c (elf_vax_check_relocs): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
+ * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
+ * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
+ * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
+ * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
+ * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+ * elf64-s390.c (elf_s390_check_relocs): Likewise.
+ * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
+ * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
+
+2017-11-28 Alan Modra <amodra@gmail.com>
+
+ PR 22471
+ * elflink.c (_bfd_elf_merge_symbol): Allow weak symbols to override
+ early passes over linker script symbols.
+ * linker.c (_bfd_generic_link_add_one_symbol): Allow symbols to
+ override early passes over linker script symbols. Clear ldscript_def
+ on symbol definitions.
+
+2017-11-28 Alan Modra <amodra@gmail.com>
+
+ * elf64-mmix.c (bfd_elf64_bfd_copy_link_hash_symbol_type): Define.
+
+2017-11-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22502
+ * elflink.c (_bfd_elf_merge_symbol): Also skip definition from
+ an IR object.
+ (elf_link_add_object_symbols): If linker plugin is enabled, set
+ non_ir_ref_regular on symbols referenced in regular objects so
+ that linker plugin will get the correct symbol resolution.
+
+2017-11-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/22263
+ * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Use
+ bfd_link_executable instead of bfd_link_pic for TLS.
+ (elfNN_aarch64_allocate_dynrelocs): Likewise.
+ (aarch64_can_relax_tls): Likewise.
+
+2017-11-27 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/22269
+ * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Use
+ UNDEFWEAK_NO_DYNAMIC_RELOC to avoid dynamic GOT relocs.
+ (elfNN_aarch64_allocate_dynrelocs): Likewise.
+
+2017-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/22444
+ * elf.c (elf_read_notes): Add an argument for note aligment.
+ (elf_parse_notes): Likewise.
+ (_bfd_elf_make_section_from_shdr): Pass section aligment to
+ elf_parse_notes.
+ (bfd_section_from_phdr): Pass segment aligment to elf_read_notes.
+ (elf_parse_notes): Add an argument for note aligment. Use
+ ELF_NOTE_DESC_OFFSET to get the offset of the note descriptor.
+ Use ELF_NOTE_NEXT_OFFSET to get the offset of the next note
+ entry.
+ (elf_read_notes): Add an argument for note aligment and pass it
+ to elf_parse_notes.
+
+2017-11-23 Alan Modra <amodra@gmail.com>
+
+ * elf32-hppa.c (pc_dynrelocs): Define.
+ (elf32_hppa_copy_indirect_symbol): Don't copy dyn_relocs to weakdefs.
+ (alias_readonly_dynrelocs): New function.
+ (elf32_hppa_adjust_dynamic_symbol): Don't clear non_got_ref to
+ indicate dyn_relocs should be discarded, discard them here.
+ Use alias_readonly_dynrelocs.
+ (allocate_dynrelocs): Don't test or clear non_got_ref.
+ (elf32_hppa_relocate_section): Simplify test for dynamic relocs.
+ * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't copy dyn_relocs
+ to weakdefs.
+ (alias_readonly_dynrelocs, pc_dynrelocs): New functions.
+ (ppc_elf_adjust_dynamic_symbol): Don't clear non_got_ref to
+ indicate dyn_relocs should be discarded, discard them here.
+ Use alias_readonly_dynrelocs.
+ (allocate_dynrelocs): Don't test or clear non_got_ref.
+ (ppc_elf_relocate_section): Simplify test for dynamic relocs.
+
+2017-11-23 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc_link_hash_entry): Delete weakref field.
+ (ppc64_elf_copy_indirect_symbol): Don't set weakref.
+ (alias_readonly_dynrelocs): Use u.alias rather than weakref.
+ (ppc64_elf_adjust_dynamic_symbol): Don't use
+ alias_readonly_dynrelocs for function symbols.
+
+2017-11-23 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (struct elf_link_hash_entry): Add is_weakalias.
+ Rename u.weakdef to u.alias and update comment.
+ (weakdef): New static inline function.
+ * elflink.c (bfd_elf_record_link_assignment) Test is_weakalias
+ rather than u.weakdef != NULL, and use weakdef function.
+ (_bfd_elf_adjust_dynamic_symbol): Likewise.
+ (_bfd_elf_fix_symbol_flags): Likewise. Clear is_weakalias on
+ all aliases if def has been overridden in a regular object, not
+ u.weakdef.
+ (elf_link_add_object_symbols): Delete new_weakdef flag. Test
+ is_weakalias and use weakdef. Set is_weakalias and circular
+ u.alias. Update comments.
+ (_bfd_elf_gc_mark_rsec): Test is_weakalias rather than
+ u.weakdef != NULL and use weakdef function.
+ * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Test
+ is_weakalias rather than u.weakdef != NULL and use weakdef
+ function. Assert that def is strong defined.
+ * elf32-arc.c (elf_arc_adjust_dynamic_symbol): Likewise.
+ * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
+ * elf32-bfin.c (elf32_bfinfdpic_adjust_dynamic_symbol): Likewise.
+ (bfin_adjust_dynamic_symbol): Likewise.
+ * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
+ * elf32-frv.c (elf32_frvfdpic_adjust_dynamic_symbol): Likewise.
+ * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
+ * elf32-i370.c (i370_elf_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-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-nds32.c (nds32_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-nios2.c (nios2_elf32_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-score.c (s3_bfd_score_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-score7.c (s7_bfd_score_elf_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_gc_mark_hook): Likewise.
+ (tilepro_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
+ * elf32-xtensa.c (elf_xtensa_adjust_dynamic_symbol): Likewise.
+ * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Likewise.
+ * elf64-hppa.c (elf64_hppa_adjust_dynamic_symbol): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_adjust_dynamic_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
+ (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+ * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_adjust_dynamic_symbol): Likewise.
+ * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise.
+ (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
+ * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): Likewise.
+ (tilegx_elf_adjust_dynamic_symbol): Likewise.
+ * elfxx-x86.c (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
+
+2017-11-21 Alan Modra <amodra@gmail.com>
+
+ * elf-bfd.h (elf_symbol_from): Check for NULL symbol bfd.
+ * elfcode.h (elf_slurp_reloc_table_from_section): Add FIXME comment.
+
+2017-11-20 Nick Clifton <nickc@redhat.com>
+
+ PR 22450
+ * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Skip
+ objects without a GNU_PROPERTY note section when looking for a bfd
+ onto which notes can be accumulated.
+
+2017-11-20 Alan Modra <amodra@gmail.com>
+
+ PR 22451
+ PR 22460
+ * elf.c (_bfd_elf_init_reloc_shdr): Delete "sec_hdr" parameter
+ and leave rel_hdr->sh_flags zero. Update calls.
+ (bfd_elf_set_group_contents): Check input rel/rela SHF_GROUP
+ flag when !gas before adding rel/rela section to group. Set
+ output rel/rela SHF_GROUP flags.
+
+2017-11-18 Jim Wilson <jimw@sifive.com>
+
+ * elfnn-riscv.c (_bfd_riscv_relax_align): Add space between alignment
+ and to in error message.
+
+2017-11-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Pass
+ "%F%P:", instead of "%F:", to linker callback in case of error.
+