+2018-03-01 Alan Modra <amodra@gmail.com>
+
+ * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
+
+2018-02-28 Alan Modra <amodra@gmail.com>
+
+ PR 22887
+ * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
+
+2018-02-28 Nick Clifton <nickc@redhat.com>
+
+ PR 22895
+ PR 22893
+ * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
+ pointer. Drop unused abfd parameter. Check the size of the block
+ before initialising the data field. Return the end pointer if the
+ size is invalid.
+ (read_attribute_value): Adjust invocations of read_n_bytes.
+
+ PR 22894
+ * dwarf1.c (parse_die): Check the length of form blocks before
+ advancing the data pointer.
+
+2018-02-28 Alan Modra <amodra@gmail.com>
+
+ PR 22887
+ * aoutx.h (translate_symbol_table): Print an error message and set
+ bfd_error on finding an invalid name string offset.
+
+2018-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.in: Regenerated.
+ * configure: Likewise.
+ * configure.ac: Add --enable-separate-code.
+ (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default
+ to 1 for Linux/x86 targets,
+ * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
+ DEFAULT_LD_Z_SEPARATE_CODE is 1.
+
+2018-02-27 Nick Clifton <nickc@redhat.com>
+
+ * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
+ message.
+ * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
+ * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
+ * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
+ * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
+ * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
+ * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
+ * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
+ * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
+
+ PR 22875
+ * elf-bfd.h (struct elf_backend_data): Change the return type of
+ the elf_info_to_howto and elf_info_to_howto_rel function pointers
+ to bfd_boolean.
+ * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
+ value from the info_to_howto function and fail if that function
+ failed.
+ * elf32-h8300.c (elf32_h8_relocate_section): Check return value
+ from the info_to_howto function.
+ (elf32_h8_relax_section): Likewise.
+ * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
+ * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
+ * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
+ * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
+ * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
+ * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
+ (riscv_elf_relocate_section): Likewise.
+ * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
+ bfd_boolean. Issue an error message, set an error value and
+ return FALSE if the reloc is not recognized.
+ (elf_hppa_info_to_howto_rel): Likewise.
+ * elf-m10200.c (mn10200_info_to_howto): Likewise.
+ * elf-m10300.c (mn10300_info_to_howto): Likewise.
+ * elf.c (_bfd_elf_no_info_to_howto): Likewise.
+ * elf32-arc.c (arc_info_to_howto_rel): Likewise.
+ * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
+ * elf32-avr.c (avr_info_to_howto_rela): Likewise.
+ * elf32-bfin.c (bfin_info_to_howto): Likewise.
+ * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
+ * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
+ * elf32-cris.c (elf_cr16c_info_to_howto_rel)
+ (cris_info_to_howto_rela): Likewise.
+ * elf32-crx.c (elf_crx_info_to_howto): Likewise.
+ * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
+ * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
+ Likewise.
+ * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
+ (elf32_dlx_info_to_howto_rel): Likewise.
+ * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
+ * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
+ * elf32-frv.c (frv_info_to_howto_rela)
+ (frvfdpic_info_to_howto_rel): Likewise.
+ * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
+ * elf32-gen.c (elf_generic_info_to_howto)
+ (elf_generic_info_to_howto_rel): Likewise.
+ * elf32-h8300.c (elf32_h8_info_to_howto)
+ (elf32_h8_info_to_howto_rel): Likewise.
+ * elf32-i370.c (i370_elf_info_to_howto): Likewise.
+ * elf32-i386.c (elf_i386_reloc_type_lookup)
+ (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
+ * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
+ Likewise.
+ * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
+ * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
+ * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
+ * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
+ * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
+ * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
+ Likewise.
+ * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
+ * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
+ * elf32-m68k.c (rtype_to_howto): Likewise.
+ * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
+ * elf32-mep.c (mep_info_to_howto_rela): Likewise.
+ * elf32-metag.c (metag_info_to_howto_rela): Likewise.
+ * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
+ * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
+ Likewise.
+ * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
+ * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
+ * elf32-mt.c (mt_info_to_howto_rela): Likewise.
+ * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
+ Likewise.
+ * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
+ * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
+ * elf32-pj.c (pj_elf_info_to_howto): Likewise.
+ * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
+ * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
+ * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
+ * elf32-rx.c (rx_info_to_howto_rela): Likewise.
+ * elf32-s390.c (elf_s390_info_to_howto): Likewise.
+ * elf32-score.c (s3_bfd_score_info_to_howto)
+ (_bfd_score_info_to_howto): Likewise.
+ * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
+ * elf32-sh.c (sh_elf_info_to_howto): Likewise.
+ * elf32-spu.c (spu_elf_info_to_howto): Likewise.
+ * elf32-tic6x.c (elf32_tic6x_info_to_howto)
+ (elf32_tic6x_info_to_howto_rel): Likewise.
+ * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
+ * elf32-v850.c (v850_elf_info_to_howto_rel)
+ (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
+ * elf32-vax.c (rtype_to_howto): Likewise.
+ * elf32-visium.c (visium_info_to_howto_rela): Likewise.
+ * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
+ (elf32_wasm32_info_to_howto_rela): Likewise.
+ * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
+ * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
+ * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
+ * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
+ * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
+ * elf64-gen.c (elf_generic_info_to_howto)
+ (elf_generic_info_to_howto_rel): Likewise.
+ * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
+ * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
+ * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
+ * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
+ * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
+ * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
+ Likewise.
+ * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
+ * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
+ Likewise.
+ * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
+ * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
+ * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
+ * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
+ * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
+ * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
+ * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
+ * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
+ * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
+ Default to NULL.
+
+2018-02-26 Jim Wilson <jimw@sifive.com>
+ Stephan Schreiber <info@fs-driver.org>
+
+ PR 15904
+ * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
+ call, set changed_contents and changed_relocs. Likewise after
+ successful ia64_elf_relax_br call.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * elf.c (assign_file_positions_except_relocs): Don't segfault
+ when actual number of phdrs is less than allocated. Delete
+ outdated comment. Formatting.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
+ * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
+ * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
+ * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
+ * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
+ * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
+ * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
+ * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
+ * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
+ * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
+ error/warning messages.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
+ * syms.c: Standardize error/warning messages.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
+ * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
+ * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
+ * peXXigen.c, * peicode.h: Standardize error/warning messages.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * elfxx-mips.c: Standardize error/warning messages.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
+ * elflink.c: Standardize error/warning messages. Replace use of
+ linker callback einfo with _bfd_error_handler when possible.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
+ * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
+ * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
+ * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
+ * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
+ * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
+ * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
+ * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
+ * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
+ * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
+ * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
+ * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
+ * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
+ * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
+ * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
+ * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
+ * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
+ * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
+ * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
+ * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
+ * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
+ unrecognized/unsupported reloc message.
+
+2018-02-26 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c: Standardize error/warning messages. Use
+ _bfd_error_handler rather than einfo when einfo features not used.
+ * elf64-ppc.c: Likewise.
+
+2018-02-23 Alan Modra <amodra@gmail.com>
+
+ PR 22881
+ * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
+ segment if no matching LOAD segment.
+
+2018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ * elf32-nds32.h: Define mask for ict_model.
+
+2018-02-20 Jason Duerstock <jason.duerstock@gmail.com>
+
+ * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
+
+2018-02-19 Maciej W. Rozycki <macro@mips.com>
+
+ Revert
+ 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-02-19 Maciej W. Rozycki <macro@mips.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
+ SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
+ `.MIPS.abiflags' sections.
+ (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
+ section's end.
+
+2018-02-19 Maciej W. Rozycki <macro@mips.com>
+
+ * section.c (SEC_FIXED_SIZE): New macro.
+ * bfd-in2.h: Regenerate.
+
+2018-02-19 Maciej W. Rozycki <macro@mips.com>
+
+ * section.c (SEC_HAS_GOT_REF): Remove macro.
+ * bfd-in2.h: Regenerate.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
+ arguments.
+ * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
+ * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
+ (_bfd_riscv_relax_pc): Likewise and fix typos.
+ * libbfd-in.h (_bfd_error_handler): Add attribute printf.
+ * libbfd.h: Regenerate.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ * dwarf2.c (read_section): Don't use 'll' format modifier.
+ (find_abstract_instance): Likewise.
+ * elfcore.h (elf_core_file_p): Likewise.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Include inttypes.h or if not available define
+ PRId64, PRIu64 and PRIx64.
+ * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
+ modifier to print bfd_vma.
+ * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
+ * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
+ * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
+ * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
+ * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
+ * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
+ * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
+ * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
+ * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
+ * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
+ * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
+ * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
+ * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
+ * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
+ * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
+ and cast input to uint64_t, and similarly for Ld and Lu.
+ * bfd-in2.h: Regenerate.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
+ * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
+ * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
+ * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
+ * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
+ * reloc.c: Replace use of %R and %T in format strings passed to
+ einfo and friends by %pR and %pT.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
+ of %A and %B.
+ * aout-adobe.c: Update all messages using %A and %B.
+ * aout-cris.c: Likewise.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * binary.c: Likewise.
+ * cache.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-arm.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-tic4x.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coffswap.h: Likewise.
+ * compress.c: Likewise.
+ * cpu-arm.c: Likewise.
+ * ecoff.c: Likewise.
+ * elf-attrs.c: Likewise.
+ * elf-eh-frame.c: Likewise.
+ * elf-ifunc.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf-properties.c: Likewise.
+ * elf-s390-common.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arc.c: Likewise.
+ * elf32-arm.c: Likewise.
+ * elf32-avr.c: Likewise.
+ * elf32-bfin.c: Likewise.
+ * elf32-cr16.c: Likewise.
+ * elf32-cr16c.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-crx.c: Likewise.
+ * elf32-d10v.c: Likewise.
+ * elf32-d30v.c: Likewise.
+ * elf32-epiphany.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-frv.c: Likewise.
+ * elf32-gen.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * elf32-ip2k.c: Likewise.
+ * elf32-iq2000.c: Likewise.
+ * elf32-lm32.c: Likewise.
+ * elf32-m32c.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-m68hc1x.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mep.c: Likewise.
+ * elf32-metag.c: Likewise.
+ * elf32-microblaze.c: Likewise.
+ * elf32-moxie.c: Likewise.
+ * elf32-msp430.c: Likewise.
+ * elf32-mt.c: Likewise.
+ * elf32-nds32.c: Likewise.
+ * elf32-nios2.c: Likewise.
+ * elf32-or1k.c: Likewise.
+ * elf32-pj.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-rl78.c: Likewise.
+ * elf32-rx.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-score.c: Likewise.
+ * elf32-score7.c: Likewise.
+ * elf32-sh-symbian.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sh64.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-spu.c: Likewise.
+ * elf32-tic6x.c: Likewise.
+ * elf32-tilepro.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf32-vax.c: Likewise.
+ * elf32-visium.c: Likewise.
+ * elf32-wasm32.c: Likewise.
+ * elf32-xgate.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-gen.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-ia64-vms.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elfnn-aarch64.c: Likewise.
+ * elfnn-ia64.c: Likewise.
+ * elfnn-riscv.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * elfxx-sparc.c: Likewise.
+ * elfxx-tilegx.c: Likewise.
+ * elfxx-x86.c: Likewise.
+ * hpux-core.c: Likewise.
+ * ieee.c: Likewise.
+ * ihex.c: Likewise.
+ * libbfd.c: Likewise.
+ * linker.c: Likewise.
+ * mach-o.c: Likewise.
+ * merge.c: Likewise.
+ * mmo.c: Likewise.
+ * oasys.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peXXigen.c: Likewise.
+ * peicode.h: Likewise.
+ * reloc.c: Likewise.
+ * rs6000-core.c: Likewise.
+ * srec.c: Likewise.
+ * stabs.c: Likewise.
+ * vms-alpha.c: Likewise.
+ * xcofflink.c: Likewise.
+
+2018-02-19 Alan Modra <amodra@gmail.com>
+
+ PR 22845
+ * elf.c (IS_TBSS): Define.
+ (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
+ (assign_file_positions_for_non_load_sections): Revert last change.
+ Properly calculate load segment limits to compare against relro limits.
+
+2018-02-17 Alan Modra <amodra@gmail.com>
+
+ PR 22845
+ * elf.c (assign_file_positions_for_non_load_sections): Ignore
+ degenerate zero size PT_LOAD segments when finding one overlapping
+ the PT_GNU_RELRO segment.
+
+2018-02-16 Alan Modra <amodra@gmail.com>
+
+ * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
+ (_bfd_bool_bfd_true): Rename from bfd_true.
+ (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
+ (_bfd_int_bfd_0): Rename from bfd_0.
+ (_bfd_uint_bfd_0): Rename from bfd_0u.
+ (_bfd_long_bfd_0): Rename from bfd_0l.
+ (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
+ (_bfd_void_bfd): Rename from bfd_void.
+ (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
+ (_bfd_bool_bfd_link_false_error),
+ (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
+ (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
+ (_bfd_bool_bfd_asection_bfd_asection_true),
+ (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
+ (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
+ * archive.c (_bfd_noarchive_get_elt_at_index),
+ (_bfd_noarchive_openr_next_archived_file),
+ (_bfd_noarchive_construct_extended_name_table),
+ (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
+ (_bfd_noarchive_write_armap): New functions.
+ * archures.c (_bfd_nowrite_set_arch_mach): New function.
+ * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
+ (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
+ (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
+ (alpha_ecoff_swap_coff_lineno_out),
+ (alpha_ecoff_swap_coff_reloc_out): New functions.
+ * coff-mips.c (mips_ecoff_swap_coff_aux_in),
+ (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
+ (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
+ (mips_ecoff_swap_coff_lineno_out),
+ (mips_ecoff_swap_coff_reloc_out): New functions.
+ * coffcode.h (coff_set_alignment_hook): Replace define with
+ new function.
+ (symname_in_debug_hook): Likewise.
+ * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
+ * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
+ * elf.c (assign_file_positions_except_relocs): Test
+ elf_backend_allow_non_load_phdr for NULL.
+ * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
+ _bfd_elf_link_omit_section_dynsym. Update uses.
+ (_bfd_elf_omit_section_dynsym_all): New function.
+ * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
+ (_bfd_elf_omit_section_dynsym_default): Declare.
+ (_bfd_elf_omit_section_dynsym_all): Declare.
+ * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
+ (_bfd_nolink_bfd_get_relocated_section_contents),
+ (_bfd_nolink_bfd_lookup_section_flags),
+ (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
+ (_bfd_nolink_bfd_link_hash_table_create),
+ (_bfd_nolink_bfd_link_just_syms),
+ (_bfd_nolink_bfd_copy_link_hash_symbol_type),
+ (_bfd_nolink_bfd_link_split_section),
+ (_bfd_nolink_section_already_linked),
+ (_bfd_nolink_bfd_define_common_symbol),
+ (_bfd_nolink_bfd_define_start_stop): New functions.
+ * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
+ (_bfd_norelocs_bfd_reloc_name_lookup),
+ (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
+ * section.c (_bfd_nowrite_set_section_contents): New function.
+ * syms.c (_bfd_nosymbols_canonicalize_symtab),
+ (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
+ (_bfd_nosymbols_get_symbol_version_string),
+ (_bfd_nosymbols_bfd_is_local_label_name),
+ (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
+ (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
+ (_bfd_nosymbols_bfd_make_debug_symbol),
+ ( _bfd_nosymbols_read_minisymbols),
+ ( _bfd_nosymbols_minisymbol_to_symbol),
+ (_bfd_nodynamic_get_synthetic_symtab): New functions.
+ * libbfd-in.h: Declare new functions. Update existing defines,
+ removing casts.
+ * aix386-core.c: Update to use new hooks. Formatting.
+ * aout-adobe.c: Likewise.
+ * aout-arm.c: Likewise.
+ * aout-target.h: Likewise.
+ * aout-tic30.c: Likewise.
+ * aoutf1.h: Likewise.
+ * binary.c: Likewise.
+ * bout.c: Likewise.
+ * cisco-core.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-ia64.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-tic30.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-x86_64.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf32-cr16.c: Likewise.
+ * elf32-lm32.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-metag.c: Likewise.
+ * elf32-score.c: Likewise.
+ * elf32-score7.c: Likewise.
+ * elf32-tilepro.c: Likewise.
+ * elf32-xstormy16.c: Likewise.
+ * elf32-xtensa.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-ia64-vms.c: Likewise.
+ * elf64-mmix.c: Likewise.
+ * elf64-sh64.c: Likewise.
+ * elfnn-ia64.c: Likewise.
+ * elfxx-sparc.c: Likewise.
+ * elfxx-target.h: Likewise.
+ * elfxx-tilegx.c: Likewise.
+ * elfxx-x86.h: Likewise.
+ * hp300hpux.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+ * i386msdos.c: Likewise.
+ * i386os9k.c: Likewise.
+ * ieee.c: Likewise.
+ * ihex.c: Likewise.
+ * irix-core.c: Likewise.
+ * libaout.h: Likewise.
+ * libecoff.h: Likewise.
+ * mach-o-target.c: Likewise.
+ * mach-o.c: Likewise.
+ * mipsbsd.c: Likewise.
+ * mmo.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * nlm-target.h: Likewise.
+ * oasys.c: Likewise.
+ * osf-core.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * pe-x86_64.c: Likewise.
+ * pef.c: Likewise.
+ * plugin.c: Likewise.
+ * ppcboot.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * som.c: Likewise.
+ * sparclynx.c: Likewise.
+ * srec.c: Likewise.
+ * tekhex.c: Likewise.
+ * trad-core.c: Likewise.
+ * verilog.c: Likewise.
+ * versados.c: Likewise.
+ * vms-alpha.c: Likewise.
+ * vms-lib.c: Likewise.
+ * wasm-module.c: Likewise.
+ * xsym.c: Likewise.
+ * libbfd.h: Regenerate.
+
+2018-02-15 Jim Wilson <jimw@sifive.com>
+
+ * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
+ symbols whose section address is zero.
+
+ * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
+ when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
+ bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
+ Add %X%P to error messages.
+
+2018-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ld/22832
+ * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
+ Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
+ and assert that the result of the call is not NULL.
+
+2018-02-14 Nick Clifton <nickc@redhat.com>
+
+ PR 22823
+ Revert previous delta. Add extra casts to avoid compile time
+ warnings instead.
+ * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
+ cast to avoid warning from gcc v8 compiler.
+ (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
+ (_bfd_generic_bfd_set_private_flags): Likewise.
+ (_bfd_generic_bfd_copy_private_section_data): Likewise.
+ (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
+ (_bfd_generic_bfd_copy_private_header_data): Likewise.
+ (_bfd_generic_bfd_print_private_bfd_data): Likewise.
+ (_bfd_noarchive_construct_extended_name_table): Likewise.
+ (_bfd_noarchive_truncate_arname): Likewise.
+ (_bfd_noarchive_write_ar_hdr): Likewise.
+ (_bfd_noarchive_get_elt_at_index): Likewise.
+ (_bfd_nosymbols_canonicalize_symtab): Likewise.
+ (_bfd_nosymbols_print_symbol): Likewise.
+ (_bfd_nosymbols_get_symbol_info): Likewise.
+ (_bfd_nosymbols_get_symbol_version_string): Likewise.
+ (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
+ (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
+ (_bfd_nosymbols_get_lineno): Likewise.
+ (_bfd_nosymbols_find_nearest_line): Likewise.
+ (_bfd_nosymbols_find_line): Likewise.
+ (_bfd_nosymbols_find_inliner_info): Likewise.
+ (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
+ (_bfd_nosymbols_read_minisymbols): Likewise.
+ (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
+ (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
+ (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
+ (_bfd_nowrite_set_arch_mach): Likewise.
+ (_bfd_nowrite_set_section_contents): Likewise.
+ (_bfd_nolink_sizeof_headers): Likewise.
+ (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
+ (_bfd_nolink_bfd_relax_section): Likewise.
+ (_bfd_nolink_bfd_gc_sections): Likewise.
+ (_bfd_nolink_bfd_lookup_section_flags): Likewise.
+ (_bfd_nolink_bfd_merge_sections): Likewise.
+ (_bfd_nolink_bfd_is_group_section): Likewise.
+ (_bfd_nolink_bfd_discard_group): Likewise.
+ (_bfd_nolink_bfd_link_hash_table_create): Likewise.
+ (_bfd_nolink_bfd_link_add_symbols): Likewise.
+ (_bfd_nolink_bfd_link_just_syms): Likewise.
+ (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
+ (_bfd_nolink_bfd_final_link): Likewise.
+ (_bfd_nolink_bfd_link_split_section): Likewise.
+ (_bfd_nolink_section_already_linked): Likewise.
+ (_bfd_nolink_bfd_define_common_symbol): Likewise.
+ (_bfd_nolink_bfd_define_start_stop): Likewise.
+ (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
+ (_bfd_nodynamic_get_synthetic_symtab): Likewise.
+ (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
+ (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
+ * libbfd.c (bfd_false_any): Delete.
+ (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
+ (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
+ * libbfd.h (extern): Regenerate
+ * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
+ cast to avoid warning from gcc v8 compiler.
+ * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
+ * binary.c (binary_get_symbol_info): Likewise.
+ * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
+ * coff-mips.c (mips_ecoff_backend_data): Likewise.
+ * coffcode.h (coff_set_alignment_hook): Likewise.
+ (symname_in_debug_hook): Likewise.
+ (bfd_coff_backend_data bigobj_swap_table): Likewise.
+ * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
+ * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
+ * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
+ * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
+ (bfd_elfNN_bfd_make_debug_symbol): Likewise.
+ (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
+ (bfd_elfNN_bfd_set_private_flags): Likewise.
+ (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
+ (elf_backend_init_index_section): Likewise.
+ (elf_backend_allow_non_load_phdr): Likewise.
+ * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
+ * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
+ * ieee.c (ieee_construct_extended_name_table): Likewise.
+ (ieee_write_armap): Likewise.
+ (ieee_write_ar_hdr): Likewise.
+ (ieee_bfd_is_target_special_symbol): Likewise.
+ * ihex.c (ihex_canonicalize_symtab): Likewise.
+ (ihex_bfd_is_target_special_symbol): Likewise.
+ * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
+ * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
+ (_bfd_ecoff_set_alignment_hook): Likewise.
+ * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
+ * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
+ * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
+ * oasys.c (oasys_construct_extended_name_table): Likewise.
+ (oasys_write_armap): Likewise.
+ (oasys_write_ar_hdr): Likewise.
+ (oasys_bfd_is_target_special_symbol): Likewise.
+ * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
+ * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
+ * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
+ * som.c (som_bfd_is_target_special_symbol): Likewise.
+ * srec.c (srec_bfd_is_target_special_symbol): Likewise.
+ * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
+ * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
+ * versados.c (versados_bfd_is_target_special_symbol): Likewise.
+ (versados_bfd_reloc_name_lookup): Likewise.
+ * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
+ (vms_bfd_define_start_stop): Likewise.
+ (alpha_vms_bfd_is_target_special_symbol): Likewise.
+ * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
+ * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
+
+2018-02-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22842
+ * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
+ PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
+ R_X86_64_PC32 reloc against dynamic function in data section.
+ Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
+ (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
+ against dynamic function in data section.
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
+ function address only if pcrel_plt is true.
+ (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
+ * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
+ PC-relative PLT. If PLT is PC-relative, don't generate dynamic
+ PC-relative relocation against a function definition in data
+ secton in PIE. Remove the obsolete comments.
+ (elf_x86_link_hash_table): Add pcrel_plt.
+
+2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
+ instead of bfd_link_pic, for building shared library.
+
2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
PR gas/22791
* 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>
+2018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com>
PR 22662
* elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.