riscv64 TLS support.
Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
Signed-off-by: Xia Lifang <lifang_xia@linux.alibaba.com>
Signed-off-by: Chen Guoyin <chenguoyin.cgy@linux.alibaba.com>
Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn>
Signed-off-by: Lu Xufan <luxufan@iscas.ac.cn>
Test: treehugger
Change-Id: I14efb4a03a3dc2ec736d7e47a3f8859c886eb9d6
diff --git a/linker/linker_relocs.h b/linker/linker_relocs.h
index 93d899e..37a7880 100644
--- a/linker/linker_relocs.h
+++ b/linker/linker_relocs.h
@@ -73,6 +73,20 @@
#define R_GENERIC_TLS_TPREL R_386_TLS_TPOFF
#define R_GENERIC_TLSDESC R_386_TLS_DESC
+#elif defined (__riscv)
+
+#define R_GENERIC_JUMP_SLOT R_RISCV_JUMP_SLOT
+#define R_GENERIC_ABSOLUTE R_RISCV_64
+#define R_GENERIC_GLOB_DAT R_RISCV_64
+#define R_GENERIC_RELATIVE R_RISCV_RELATIVE
+#define R_GENERIC_IRELATIVE R_RISCV_IRELATIVE
+#define R_GENERIC_COPY R_RISCV_COPY
+#define R_GENERIC_TLS_DTPMOD R_RISCV_TLS_DTPMOD64
+#define R_GENERIC_TLS_DTPREL R_RISCV_TLS_DTPREL64
+#define R_GENERIC_TLS_TPREL R_RISCV_TLS_TPREL64
+// TODO: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94
+// #define R_GENERIC_TLSDESC R_RISCV_TLS_DESC
+
#elif defined (__x86_64__)
#define R_GENERIC_JUMP_SLOT R_X86_64_JUMP_SLOT