x86: Count PLT for GOTOFF relocation against IFUNC symbol
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 20 Jun 2021 03:20:52 +0000 (20:20 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 20 Jun 2021 03:21:04 +0000 (20:21 -0700)
commit406b4ada55b2957c10fedaeaada801e77912d976
treee53f5b5356ec93296df94c593b8d6617681c1e49
parent7e3941ac0619431d51a9643e20cb0e0720502101
x86: Count PLT for GOTOFF relocation against IFUNC symbol

Since GOTOFF relocations against IFUNC symbols must go through PLT,
set PLT reference count to 1 for GOTOFF relocation.

bfd/

PR ld/27998
* elfxx-x86.c (elf_x86_allocate_dynrelocs): Count PLT for GOTOFF
relocation against IFUNC symbols.
(_bfd_x86_elf_adjust_dynamic_symbol): Likewise.

ld/

PR ld/27998
* testsuite/ld-i386/i386.exp: Run PR ld/27998 tests.
* testsuite/ld-i386/pr27998a.d: New file.
* testsuite/ld-i386/pr27998a.s: Likewise.
* testsuite/ld-i386/pr27998b.d: Likewise.
* testsuite/ld-i386/pr27998b.s: Likewise.
bfd/ChangeLog
bfd/elfxx-x86.c
ld/ChangeLog
ld/testsuite/ld-i386/i386.exp
ld/testsuite/ld-i386/pr27998a.d [new file with mode: 0644]
ld/testsuite/ld-i386/pr27998a.s [new file with mode: 0644]
ld/testsuite/ld-i386/pr27998b.d [new file with mode: 0644]
ld/testsuite/ld-i386/pr27998b.s [new file with mode: 0644]