RISC-V: Disable use of TLS copy relocs.
commitdca7e570a58f88596267d57cd32ce11b4681252b
authorJim Wilson <jimw@sifive.com>
Thu, 9 Jan 2020 01:04:45 +0000 (9 01:04 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Thu, 9 Jan 2020 01:04:45 +0000 (8 17:04 -0800)
tree5893e414d6081eb3c56a50aab359ba236799aea5
parent199caa70eaad2e31566613bf03aae35a2bf6126d
RISC-V: Disable use of TLS copy relocs.

Musl and lld don't support TLS copy relocs, and don't want to add support
for this feature which is unique to RISC-V.  Only GNU ld and glibc support
them.  In the pasbi discussion, people have pointed out various problems
with using them, so we are deprecating them.  There doesn't seem to be an
ABI break from dropping them so this patch modifies gcc to stop creating
them.  I'm using an ifdef for now in case a problem turns up and the code
has to be re-enabled.  The plan is to add an initial to local exec
relaxation as a replacement, though this has not been defined or
implemented yet.

gcc/
* config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
use of TLS_MODEL_LOCAL_EXEC when not pic.

From-SVN: r280025
gcc/ChangeLog
gcc/config/riscv/riscv.c