Discussion:
[Bug ld/23169] IFUNC pointer should be allowed in executable
emaste at freebsd dot org
2018-05-12 12:03:07 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=23169

emaste at freebsd dot org changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |emaste at freebsd dot org
--
You are receiving this mail because:
You are on the CC list for the bug.
cvs-commit at gcc dot gnu.org
2018-05-14 11:03:30 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=23169

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <***@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4ec0995016801cc5d5cf13baf6e10163861e6852

commit 4ec0995016801cc5d5cf13baf6e10163861e6852
Author: H.J. Lu <***@gmail.com>
Date: Mon May 14 03:55:37 2018 -0700

x86; Allow IFUNC pointer defined in PDE

If IFUNC symbol is defined in position-dependent executable, we should
change it to the normal function and set its address to its PLT entry
which should be resolved by R_*_IRELATIVE at run-time. All external
references should be resolved to its PLT in executable.

bfd/

PR ld/23169
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
an error on IFUNC pointer defined in PDE.
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
_bfd_x86_elf_link_fixup_ifunc_symbol.
* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
* elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
function.
* elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.

ld/

PR ld/23169
* testsuite/ld-ifunc/ifunc-9-i386.d: New file.
* testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise.
* testsuite/ld-ifunc/pr23169a.c: Likewise.
* testsuite/ld-ifunc/pr23169a.rd: Likewise.
* testsuite/ld-ifunc/pr23169b.c: Likewise.
* testsuite/ld-ifunc/pr23169b.c: Likewise.
* testsuite/ld-ifunc/pr23169c.rd: Likewise.
* testsuite/ld-ifunc/pr23169c.rd: Likewise.
* testsuite/ld-ifunc/ifunc-9-x86.d: Removed.
* testsuite/ld-ifunc/ifunc.exp: Run PR ld/23169 tests.
--
You are receiving this mail because:
You are on the CC list for the bug.
hjl.tools at gmail dot com
2018-05-14 11:05:45 UTC
Permalink
https://sourceware.org/bugzilla/show_bug.cgi?id=23169

H.J. Lu <hjl.tools at gmail dot com> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |2.31

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed for 2.31.
--
You are receiving this mail because:
You are on the CC list for the bug.
Loading...