[ELF][RISCV] Support GD/LD/IE/LE TLS models
authorFangrui Song <maskray@google.com>
Mon, 1 Jul 2019 17:12:26 +0000 (17:12 +0000)
committerFangrui Song <maskray@google.com>
Mon, 1 Jul 2019 17:12:26 +0000 (17:12 +0000)
commitddc57afab9ef4e1cf708dc5454c0842c3e68f1e0
tree8ea6b9de3693c0c9dfb9a612e524945d412af5b5
parentf01fa40a00614fb2ca0282644375849e0aa650ce
[ELF][RISCV] Support GD/LD/IE/LE TLS models

RISC-V psABI doesn't specify TLS relaxation. It can be handled the same
way as we handle ARM TLS. RISC-V TLS is even simpler because GD/LD use
the same relocation type.

Reviewed By: jrtc27, ruiu

Differential Revision: https://reviews.llvm.org/D63220

llvm-svn: 364813
lld/ELF/Arch/RISCV.cpp
lld/ELF/InputSection.cpp
lld/ELF/Relocations.cpp
lld/test/ELF/riscv-tls-gd.s [new file with mode: 0644]
lld/test/ELF/riscv-tls-ie.s [new file with mode: 0644]
lld/test/ELF/riscv-tls-ld.s [new file with mode: 0644]
lld/test/ELF/riscv-tls-le.s [new file with mode: 0644]