+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
+ * elf64-x86-64.c (is_32bit_relative_branch): Removed.
+ (elf_x86_64_relocate_section): Check PIC relocations in PIE.
+ Remove is_32bit_relative_branch usage. Disallow PC32 reloc
+ against protected function in shared object.
+
+2018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
+
+ PR 22828
+ * po/ru.po: Fix typo in Russian translation.
+
+2018-02-13 Maciej W. Rozycki <macro@mips.com>
+
+ * wasm-module.c (wasm_scan_name_function_section): Rename
+ `index' local variable to `idx'.
+
+2018-02-13 Nick Clifton <nickc@redhat.com>
+
+ PR 22823
+ Fix compile time warnings generated by gcc version 8.
+ * libbfd-in.h: Remove extraneous text from prototypes.
+ Add prototypes for bfd_false_any, bfd_true_any,
+ bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
+ bfd_n1_any, bfd_void_any.
+ (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
+ function.
+ (_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): New function. Like bfd_false but
+ accepts one or more arguments.
+ (bfd_true_any): Likewise.
+ (bfd_nullvoidptr_any): Likewise.
+ (bfd_0_any): Likewise.
+ (bfd_0u_any): Likewise.
+ (bfd_0l_any): Likewise.
+ (_bfd_n1_any): Likewise.
+ (bfd_void_any): Likewise.
+ * libbfd.h (extern): Regenerate
+ * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
+ based dummy function.
+ * 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.
+ * elf32-arc.c (get_replace_function): Assign replacement function
+ to func pointer.
+ * elf32-i370.c (i370_noop): Update prototype.
+
+2018-02-13 Alan Modra <amodra@gmail.com>
+
+ PR 22836
+ * elf.c (_bfd_elf_fixup_group_sections): Account for removed
+ relocation sections. If size reduces to just the flag word,
+ remove that too and mark with SEC_EXCLUDE.
+ * elflink.c (bfd_elf_final_link): Strip empty group sections.
+
+2018-02-13 Alan Modra <amodra@gmail.com>
+
+ PR 22829
+ * elf.c (assign_file_positions_for_non_load_sections): Rewrite
+ PT_GNU_RELRO setup.
+
+2018-02-12 Zebediah Figura <z.figura12@gmail.com>
+
+ * i386msdos.c (msdos_mkobject); New function.
+ (msdos_object_p): New function.
+ (i386_msdos_vec): Use msdos_object_p as the check_format
+ function.
+ * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
+ NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
+ IMAGE_NT_SIGNATURE.
+ * peXXigen.c: Likewise.
+ * coff-ia64.c: Likewise.
+
+2018-02-12 Nick Clifton <nickc@redhat.com>
+
+ * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
+ assignment.
+ * elf32-arc.c (elf_arc_relocate_section): Likewise.
+
+2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
+ (sparc_elf_append_rela): Assert that there is enough room in section.
+ (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
+ (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
+ (allocate_dynrelocs): Remove outdated comments and reorder conditions.
+ For a symbol subject to a GOT relocation, reserve a slot in the
+ relocation section if the symbol isn't dynamic and we are in PIC mode.
+ (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
+ is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
+ <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
+ <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
+ (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
+ resolved_to_zero. Do not generate a dynamic GOT relocation for an
+ undefined weak symbol with non-default visibility. Remove superfluous
+ 'else' and fix formatting.
+
2018-02-09 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle