summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbr <br@FreeBSD.org>2016-01-18 16:54:26 +0000
committerbr <br@FreeBSD.org>2016-01-18 16:54:26 +0000
commit87558a38ae8607a42764a8e706e9128e4bba6b99 (patch)
tree0860190041d00efc7f169b906208afb2bb7b28a9
parent5690eff8c2794c586c949fe87a23b73dfa5c19cf (diff)
downloadFreeBSD-src-87558a38ae8607a42764a8e706e9128e4bba6b99.zip
FreeBSD-src-87558a38ae8607a42764a8e706e9128e4bba6b99.tar.gz
Add RISC-V relocation types.
Reviewed by: emaste
-rw-r--r--sys/sys/elf_common.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h
index 30c6c44..6e16819 100644
--- a/sys/sys/elf_common.h
+++ b/sys/sys/elf_common.h
@@ -1145,6 +1145,56 @@ typedef struct {
#define R_PPC_EMB_BIT_FLD 115
#define R_PPC_EMB_RELSDA 116
+/*
+ * RISC-V relocation types.
+ */
+
+/* Relocation types used by the dynamic linker. */
+#define R_RISCV_NONE 0
+#define R_RISCV_32 1
+#define R_RISCV_64 2
+#define R_RISCV_RELATIVE 3
+#define R_RISCV_COPY 4
+#define R_RISCV_JUMP_SLOT 5
+#define R_RISCV_TLS_DTPMOD32 6
+#define R_RISCV_TLS_DTPMOD64 7
+#define R_RISCV_TLS_DTPREL32 8
+#define R_RISCV_TLS_DTPREL64 9
+#define R_RISCV_TLS_TPREL32 10
+#define R_RISCV_TLS_TPREL64 11
+
+/* Relocation types not used by the dynamic linker. */
+#define R_RISCV_BRANCH 16
+#define R_RISCV_JAL 17
+#define R_RISCV_CALL 18
+#define R_RISCV_CALL_PLT 19
+#define R_RISCV_GOT_HI20 20
+#define R_RISCV_TLS_GOT_HI20 21
+#define R_RISCV_TLS_GD_HI20 22
+#define R_RISCV_PCREL_HI20 23
+#define R_RISCV_PCREL_LO12_I 24
+#define R_RISCV_PCREL_LO12_S 25
+#define R_RISCV_HI20 26
+#define R_RISCV_LO12_I 27
+#define R_RISCV_LO12_S 28
+#define R_RISCV_TPREL_HI20 29
+#define R_RISCV_TPREL_LO12_I 30
+#define R_RISCV_TPREL_LO12_S 31
+#define R_RISCV_TPREL_ADD 32
+#define R_RISCV_ADD8 33
+#define R_RISCV_ADD16 34
+#define R_RISCV_ADD32 35
+#define R_RISCV_ADD64 36
+#define R_RISCV_SUB8 37
+#define R_RISCV_SUB16 38
+#define R_RISCV_SUB32 39
+#define R_RISCV_SUB64 40
+#define R_RISCV_GNU_VTINHERIT 41
+#define R_RISCV_GNU_VTENTRY 42
+#define R_RISCV_ALIGN 43
+#define R_RISCV_RVC_BRANCH 44
+#define R_RISCV_RVC_JUMP 45
+
#define R_SPARC_NONE 0
#define R_SPARC_8 1
#define R_SPARC_16 2
OpenPOWER on IntegriCloud