X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bfd%2FChangeLog;h=9e26d906bdc69366ada571d8e5923ea5baa8db38;hb=b4b594e304d44458e25e106ddb4824a37aaf556c;hp=78cb5def94f481bdd8eb22f61af7b24897e24866;hpb=12ef3f5a7c5a6b89964842fd3da047b8d07dec91;p=external%2Fbinutils.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 78cb5de..9e26d90 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,1183 @@ +2018-04-16 Alan Modra + + * Makefile.am: Remove netware support. + * bfd-in.h: Likewise. + * bfd.c: Likewise. + * config.bfd: Likewise. + * configure.ac: Likewise. + * doc/bfdint.texi: Likewise. + * ecoff.c: Likewise. + * targets.c: Likewise. + * libnlm.h: Delete. + * nlm-target.h: Delete. + * nlm.c: Delete. + * nlm32-alpha.c: Delete. + * nlm32-i386.c: Delete. + * nlm32-ppc.c: Delete. + * nlm32-sparc.c: Delete. + * nlm32.c: Delete. + * nlm64.c: Delete. + * nlmcode.h: Delete. + * nlmswap.h: Delete. + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-04-16 Alan Modra + + * archures.c: Remove tahoe support. + * config.bfd: Likewise. + * configure.ac: Likewise. + * hosts/tahoe.h: Delete. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + +2018-04-14 Alan Modra + + * elf-bfd.h (struct elf_backend_data): Add relropagesize. + * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and + sanity test. + (elfNN_bed): Init relropagesize. + * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to + select relropagesize. + * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000. + (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE. + (ELF_MINPAGESIZE): Don't define. + * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000. + (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE. + * bfd-in2.h: Regenerate. + +2018-04-14 Alan Modra + + * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend + on __QNXTARGET__ define. + +2018-04-14 Alan Modra + + * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss* + to obsolete list. + +2018-04-11 Alan Modra + + * aout-adobe.c: Delete. + * bout.c: Delete. + * coff-i860.c: Delete. + * coff-i960.c: Delete. + * cpu-i860.c: Delete. + * cpu-i960.c: Delete. + * elf32-i860.c: Delete. + * elf32-i960.c: Delete. + * hosts/i860mach3.h: Delete. + * Makefile.am: Remove i860, i960, bout, and adobe support. + * archures.c: Remove i860 and i960 support. + * coffcode.h: Likewise. + * reloc.c: Likewise. + * aoutx.h: Comment updates. + * archive.c: Remove BOUT and i960 support. + * bfd.c: Remove BOUT support. + * coffswap.h: Remove i960 support. + * config.bfd: Remove i860, i960 and adobe targets. + * configure.ac: Remove adode, bout, i860, i960, icoff targets. + * targets.c: Likewise. + * ieee.c: Remove i960 support. + * mach-o.c: Remove i860 support. + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * libbfd.h: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-04-09 Maciej W. Rozycki + + * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer + in the BFD symbol referred by the relocation. + (mips_elf64_write_rela): Likewise. + +2018-04-09 Maciej W. Rozycki + + * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an + error for out-of-range `r_sym' values. + +2018-04-09 Alan Modra + + * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field. + (struct ppc_link_hash_table): Add can_convert_all_inline_plt. + (ppc64_elf_check_relocs): Set has_pltcall. + (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries. + (ppc64_elf_inline_plt): New function. + (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals. + * elf64-ppc.h (ppc64_elf_inline_plt): Declare. + * elf32-ppc.c (has_pltcall): Define. + (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt. + (ppc_elf_check_relocs): Set has_pltcall. + (ppc_elf_inline_plt): New function. + (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries. + (ppc_elf_size_dynamic_sections): Likewise. + * elf32-ppc.h (ppc_elf_inline_plt): Declare. + +2018-04-09 Alan Modra + + * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos. + (is_plt_seq_reloc): New function. + (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs. + (ppc_elf_tls_optimize): Handle inline plt call sequence. + (ppc_elf_relax_section): Handle PLTCALL reloc. + (ppc_elf_relocate_section): Nop out inline plt call sequence when + resolving locally. + * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and + R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE. + (has_tls_get_addr_call): Correct comment. + (is_branch_reloc): Add PLTCALL. + (is_plt_seq_reloc): New function. + (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set + has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt + entry for R_PPC64_PLTCALL. + (ppc64_elf_tls_optimize): Handle inline plt call sequence. + (ppc_type_of_stub): Handle PLTCALL reloc. + (toc_adjusting_stub_needed): Likewise. + (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL + reloc insn. Nop out inline plt call sequence when resolving + locally. Handle __tls_get_addr inline plt call optimization. + +2018-04-09 Alan Modra + + * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define. + (struct ppc_stub_hash_entry): Add symtype field. + (PLT_KEEP): Define. + (struct ppc_link_hash_table): Add pltlocal and relpltlocal. + (create_linkage_sections): Create pltlocal and relpltlocal. + (ppc64_elf_check_relocs): Allow PLT relocs on local symbols. + Set PLT_KEEP. + (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls. + (allocate_dynrelocs): Allocate pltlocal and relpltlocal. + (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal. + Keep PLT entries for inline calls against locals. + (ppc_build_one_stub): Use pltlocal as appropriate. + (ppc_size_one_stub): Likewise. + (ppc64_elf_size_stubs): Set symtype. + (build_global_entry_stubs_and_plt): Init pltlocal and write + relpltlocal for globals. + (write_plt_relocs_for_local_syms): Likewise for local syms. + (ppc64_elf_relocate_section): Support PLT for local syms. + * elf32-ppc.c (PLT_KEEP): Define. + (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal. + (ppc_elf_create_glink): Create pltlocal and relpltlocal. + (ppc_elf_check_relocs): Allow PLT relocs on local symbols. + Set PLT_KEEP. Adjust update_local_sym_info call. + (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls. + (allocate_dynrelocs): Allocate pltlocal and relpltlocal. + (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal. + (ppc_elf_relocate_section): Support PLT16 relocs for local syms. + (write_global_sym_plt): Init pltlocal and write relpltlocal. + (ppc_finish_symbols): Likewise for locals. + +2018-04-09 Alan Modra + + * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs + for local symbols to.. + (write_plt_relocs_for_local_syms): ..here. New function. + (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for + global symbols to.. + (build_global_entry_stubs_and_plt): ..here. Rename from + build_global_entry_stubs. + (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt. + Call write_plt_relocs_for_local_syms. + * elf32-ppc.c (get_sym_h): New function. + (ppc_elf_relax_section): Use get_sym_h. + (ppc_elf_relocate_section): Move output of PLT relocs and glink + stubs for local symbols to.. + (ppc_finish_symbols): ..here. New function. + (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for + global syms to.. + (write_global_sym_plt): ..here. New function. + * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute. + (ppc_finish_symbols): Declare. + +2018-04-09 Alan Modra + + * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs. + (ppc_elf_relocate_section): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS. + (ppc64_elf_relocate_section): Likewise. Correct PLT16 + resolution to plt entry relative to toc pointer. + +2018-04-09 Alan Modra + + * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, + TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout + file when other TLS flags are tested in a mask. + (TLS_MARK, NON_GOT): Define. + (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well. + (update_local_sym_info): Don't create got entry when NON_GOT. + (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC. + Set TLS_MARK. + (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK. + (ppc64_elf_relocate_section): Likewise. + (ppc64_elf_tls_optimize): Don't attempt to optimize indirect + __tls_get_addr calls lacking a marker reloc. + * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, + TLS_TPRELGD): Renumber. Update comment. + (TLS_MARK, NON_GOT): Define. + (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well. + (update_local_sym_info): Don't create got entry when NON_GOT. + (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC. + Set TLS_MARK. + (ppc_elf_tls_optimize): Don't attempt to optimize indirect + __tls_get_addr calls lacking a marker reloc. + +2018-04-06 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out + R_X86_64_converted_reloc_bit. + +2018-04-05 H.J. Lu + + PR gas/22318 + * configure: Regenerated. + +2018-04-05 Alan Modra + + * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL. + (elf_hppa_info_to_howto_rel): Likewise. + +2018-04-04 Maciej W. Rozycki + + * elf-hppa.h (elf_hppa_info_to_howto): Also return + unsuccessfully for unimplemented relocations. + (elf_hppa_info_to_howto_rel): Likewise. + +2018-04-04 Maciej W. Rozycki + + * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the + `bfd_error_bad_value' error and call `_bfd_error_handler' on a + howto lookup failure. + (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call + accordingly. + (elf32_i860_info_to_howto_rela): Likewise. + (elf32_i860_relocate_splitn): Likewise. + (elf32_i860_relocate_pc16): Likewise. + (elf32_i860_relocate_pc26): Likewise. + (elf32_i860_relocate_section): Likewise. + +2018-04-04 Maciej W. Rozycki + + * elf32-visium.c (visium_info_to_howto_rela): Correct the range + check for `visium_elf_howto_table' table access. + +2018-04-04 Maciej W. Rozycki + + * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range + check for `iq2000_elf_howto_table' table access. + +2018-04-04 Maciej W. Rozycki + + * elf32-frv.c (frv_info_to_howto_rela): Correct the range check + for `elf32_frv_howto_table' table access. + +2018-04-04 Maciej W. Rozycki + + * elf32-mips.c (mips_elf32_rtype_to_howto): Also return + unsuccessfully for placeholder howtos. + * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise. + * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise. + +2018-03-29 Maciej W. Rozycki + + * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to + `_bfd_error_handler' and to set the `bfd_error_bad_value' error. + +2018-03-28 Maciej W. Rozycki + + * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove + ATTRIBUTE_UNUSED from `abfd'. + +2018-03-28 Maciej W. Rozycki + + * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct + `_bfd_error_handler' call formatting. + +2018-03-28 Maciej W. Rozycki + + * elf32-mips.c (mips_info_to_howto_rel): Call + `mips_elf32_rtype_to_howto' directly rather than via + `->elf_backend_mips_rtype_to_howto'. + +2018-03-28 Renlin Li + + PR ld/22970 + * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for + BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. + (elfNN_aarch64_final_link_relocate): Support new relocations. + * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new + relocations. + (_bfd_aarch64_elf_resolve_relocation): Support new relocations. + +2018-03-28 Renlin Li + + PR ld/22970 + * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12 + BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, + BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12, + BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC. + * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for + TLSLE_LDST16_TPREL_LO12, + TLSLE_LDST16_TPREL_LO12_NC, + TLSLE_LDST32_TPREL_LO12, + TLSLE_LDST32_TPREL_LO12_NC, + TLSLE_LDST64_TPREL_LO12, + TLSLE_LDST64_TPREL_LO12_NC, + TLSLE_LDST8_TPREL_LO12, + TLSLE_LDST8_TPREL_LO12_NC. + * bfd-in2.h: Regenerated. + * libbfd.h: Regenerated. + +2018-03-28 Eric Botcazou + + PR ld/22972 + * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag + has_old_style_got_reloc. + (_bfd_sparc_elf_check_relocs) : Set it for old-style + relocations. Fix a couple of long lines. + (_bfd_sparc_elf_relocate_section) : Do not generate + a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style + GOT relocations. + +2018-03-25 H.J. Lu + + PR ld/23000 + * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add + ENDBR64 to the TLSDESC PLT entry. + +2018-03-21 Alan Modra + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting + symbols. Use size_t counts. Delete redundant opd test. + +2018-03-21 Alan Modra + + * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms. + +2018-03-21 Alan Modra + + * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask + field unsigned. + (update_local_sym_info): Likewise for local_got_tls_masks. + (ppc_elf_tls_optimize): Likewise for lgot_masks. + +2018-03-21 Alan Modra + + * elf64-ppc.c (ppc_size_one_stub): Fix comment typo. + (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we + do in size_dynamic_sections. + +2018-03-21 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1] + without first checking array bounds. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + +2018-03-20 H.J. Lu + + PR ld/22983 + * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set + non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list. + +2018-03-19 Nick Clifton + + * po/es.po: Updated Spanish translation. + +2018-03-15 Max Filippov + + * elf32-xtensa.c (xlate_map_entry): Change types of address + fields from 'unsigned' to 'bfd_vma'. + (xlate_offset_with_removed_text): Use struct xlate_map_entry as + the key argument to bsearch. Allow offsets past the end of a + section, use the last map entry for translation of such offsets. + +2018-03-15 Kuan-Lin Chen + + * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed. + Not support the target feature. + (nds32_elf_ex9_itb_base): Likewise. + (nds32_elf_ex9_import_table): Likewise. + (nds32_elf_ex9_finish): Likewise. + (nds32_elf_ex9_reloc_jmp): Likewise. + (nds32_elf_get_insn_with_reg): Likewise. + (nds32_get_local_syms): Likewise. + (nds32_elf_ex9_replace_instruction): Likewise. + (nds32_elf_ifc_calc): Likewise. + (nds32_elf_ifc_finish): Likewise. + (nds32_elf_ifc_replace): Likewise. + (nds32_elf_ifc_reloc): Likewise. + +2018-03-14 Alan Modra + + * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having + sfpr size added before defining alias symbols. + (ppc64_elf_build_stubs): Add stub section padding before + copying sfpr contents and defining save/restore alias symbols. + +2018-03-14 H.J. Lu + + PR ld/20882 + * elflink.c (elf_gc_mark_debug_section): Also check the local + debug definition section. + +2018-03-13 Nick Clifton + + PR 22113 + * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean + function. Add an end address parameter. Check access of the data + pointer to make sure that they do not extend beyond the end + address. Return FALSE if any check fails. Add the end address + pointer to the ui structure. + (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind + codes to make sure that they do not extend beyond the end address + pointer. Print an error message and return immediately if any + check fails. + +2018-03-09 Nick Clifton + + * elf64-s390.c (elf_s390_relocate_section): Move check for + relocations against non-allocated sections to before the code that + handles ifunc relocations. + * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat + relocs against IFUNC symbols in non-allocated sections as relocs + against FUNC symbols. + * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. + +2018-03-08 H.J. Lu + + PR ld/22929 + * elf32-i386.c (elf_i386_relocate_section): Treat relocation + against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as + relocation against FUNC symbol. + * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. + +2018-03-07 Renlin Li + + PR ld/20402 + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute + symbol, and don't emit relocation in specific case. + +2018-03-07 Alan Modra + + * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error. + (mips_elf64_slurp_one_reloc_table): Pass on error. + +2018-03-03 James Cowgill + Maciej W. Rozycki + + PR ld/21900 + * elfxx-mips.c (mips_elf_calculate_relocation): Only return + after calling `undefined_symbol' hook if this is an error + condition. Assume the value of 0 for the symbol requested + otherwise. + +2018-03-02 Jim Wilson + + PR 22903 + * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch + and nop instead of 4. + (elfNN_arch64_build_stubs): Add nop after branch. Increase size by + 8 instead of 4. + +2018-03-01 Jim Wilson + + PR 22756 + * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use + else if instead of if. + +2018-03-01 Alan Modra + + * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test. + +2018-02-28 Alan Modra + + PR 22887 + * aoutx.h (swap_std_reloc_in): Correct r_index bound check. + +2018-02-28 Nick Clifton + + 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 + + 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 + + * 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 + + * 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 + Stephan Schreiber + + 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 + + * 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 + + * 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 + + * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c, + * syms.c: Standardize error/warning messages. + +2018-02-26 Alan Modra + + * 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 + + * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages. + +2018-02-26 Alan Modra + + * elfxx-mips.c: Standardize error/warning messages. + +2018-02-26 Alan Modra + + * 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 + + * 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 + + * 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 + + 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 + + * elf32-nds32.h: Define mask for ict_model. + +2018-02-20 Jason Duerstock + + * elfnn-ia64.c (elf_backend_can_gc_sections): Enable. + +2018-02-19 Maciej W. Rozycki + + Revert + 2018-01-12 Vlad Ivanov + + * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when + .reginfo section has wrong size. + +2018-02-19 Maciej W. Rozycki + + * 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 + + * section.c (SEC_FIXED_SIZE): New macro. + * bfd-in2.h: Regenerate. + +2018-02-19 Maciej W. Rozycki + + * section.c (SEC_HAS_GOT_REF): Remove macro. + * bfd-in2.h: Regenerate. + +2018-02-19 Alan Modra + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + * 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 + + * 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 + + PR ld/22832 + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) : + 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 PR 22823 @@ -788,7 +1968,7 @@ * 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 +2018-01-09 Kuan-Lin Chen PR 22662 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.