x86: Generate PLT relocations for -z now
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 11 May 2017 14:42:30 +0000 (07:42 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 11 May 2017 14:45:59 +0000 (07:45 -0700)
commitdc2be3d2f6de530aac40983e79e29e050f40e759
tree07603beeba1b30451b6608cbfe6e6944f288b938
parentf96f371cbb33454544a9f1827c239c4375f0b60e
x86: Generate PLT relocations for -z now

This patch partially reverses:

commit 25070364b0ce33eed46aa5d78ebebbec6accec7e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat May 16 07:00:21 2015 -0700

    Don't generate PLT relocations for now binding

to support LD_AUDIT and LD_PROFILE with -z now.  If there is an existing
GOT relocation, it is still used to avoid PLT relocation against the same
function symbol.

bfd/

* elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.

ld/

* testsuite/ld-i386/plt-pic2.dd: Updated.
* testsuite/ld-i386/plt2.dd: Likewise.
* testsuite/ld-i386/plt2.rd: Likewise.
* testsuite/ld-i386/pr17689now.rd: Likewise.
* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise.
* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
* testsuite/ld-x86-64/plt2.dd: Likewise.
* testsuite/ld-x86-64/plt2.rd: Likewise.
* testsuite/ld-x86-64/pr17689now.rd: Likewise.
* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
20 files changed:
bfd/ChangeLog
bfd/elf32-i386.c
bfd/elf64-x86-64.c
ld/ChangeLog
ld/testsuite/ld-i386/plt-pic2.dd
ld/testsuite/ld-i386/plt2.dd
ld/testsuite/ld-i386/plt2.rd
ld/testsuite/ld-i386/pr17689now.rd
ld/testsuite/ld-ifunc/ifunc-16-i386-now.d
ld/testsuite/ld-ifunc/ifunc-16-x86-64-now.d
ld/testsuite/ld-ifunc/pr17154-i386-now.d
ld/testsuite/ld-ifunc/pr17154-x86-64-now.d
ld/testsuite/ld-x86-64/bnd-branch-1-now.d
ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
ld/testsuite/ld-x86-64/bnd-plt-1-now.d
ld/testsuite/ld-x86-64/plt2.dd
ld/testsuite/ld-x86-64/plt2.rd
ld/testsuite/ld-x86-64/pr17689now.rd
ld/testsuite/ld-x86-64/pr21038b-now.d
ld/testsuite/ld-x86-64/pr21038c-now.d