x86: Treat relocation against IFUNC symbol as FUNC
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 349f2127f8e240cf4f32d28da996af9d5a8fa7bf..74af690bbaf9944f7b5d0d319ac6e2ecaecbb096 100644 (file)
@@ -1,3 +1,367 @@
+2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <renlin.li@arm.com>
+
+       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  <amodra@gmail.com>
+
+       * 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  <james.cowgill@mips.com>
+           Maciej W. Rozycki  <macro@mips.com>
+
+       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  <jimw@sifive.com>
+
+       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  <jimw@sifive.com>
+
+       PR 22756
+       * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
+       else if instead of if.
+
+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
        * 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.
This page took 0.05098 seconds and 4 git commands to generate.