ld: Don't define __rel[a]_iplt_start/__rel[a]_iplt_end in PIE
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 11 Apr 2019 01:36:05 +0000 (18:36 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 11 Apr 2019 01:36:22 +0000 (18:36 -0700)
commit795e3bb7de9ce2eb1ec3de3faf8f6bc925a58c9e
treee4ea81ab3b4c6d6168fcde00cca9679c8286d0f6
parent3f52fdbcb599f76b4838020721ca6c9f1cc28f84
ld: Don't define __rel[a]_iplt_start/__rel[a]_iplt_end in PIE

__rel[a]_iplt_start and __rel[a]_iplt_end are defined to handle IFUNC in
static executables.  For PIE, since IFUNC is handled as the part of the
normal dynamic relocation processing, there is no need to define these
symbols in PIE.

* scripttempl/elf.sc (CREATE_PIC): New.  Set for CREATE_SHLIB or
CREATE_PIE.
(__rel_iplt_start): Don't define for CREATE_PIC.
(__rel_iplt_end): Likewise.
(__rela_iplt_start): Likewise.
(__rela_iplt_end): Likewise.
ld/ChangeLog
ld/scripttempl/elf.sc