This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] RISC-V: add remaining relocations
- From: Andreas Schwab <schwab at suse dot de>
- To: libc-alpha at sourceware dot org
- Date: Thu, 22 Mar 2018 12:34:40 +0100
- Subject: [PATCH] RISC-V: add remaining relocations
<elf.h> is supposed to be as complete as possible.
Andreas.
* elf/elf.h (R_RISCV_BRANCH, R_RISCV_JAL, R_RISCV_CALL)
(R_RISCV_CALL_PLT, R_RISCV_GOT_HI20, R_RISCV_TLS_GOT_HI20)
(R_RISCV_TLS_GD_HI20, R_RISCV_PCREL_HI20, R_RISCV_PCREL_LO12_I)
(R_RISCV_PCREL_LO12_S, R_RISCV_HI20, R_RISCV_LO12_I)
(R_RISCV_LO12_S, R_RISCV_TPREL_HI20, R_RISCV_TPREL_LO12_I)
(R_RISCV_TPREL_LO12_S, R_RISCV_TPREL_ADD, R_RISCV_ADD8)
(R_RISCV_ADD16, R_RISCV_ADD32, R_RISCV_ADD64, R_RISCV_SUB8)
(R_RISCV_SUB16, R_RISCV_SUB32, R_RISCV_SUB64)
(R_RISCV_GNU_VTINHERIT, R_RISCV_GNU_VTENTRY, R_RISCV_ALIGN)
(R_RISCV_RVC_BRANCH, R_RISCV_RVC_JUMP, R_RISCV_RVC_LUI)
(R_RISCV_GPREL_I, R_RISCV_GPREL_S, R_RISCV_TPREL_I)
(R_RISCV_TPREL_S, R_RISCV_RELAX, R_RISCV_SUB6, R_RISCV_SET6)
(R_RISCV_SET8, R_RISCV_SET16, R_RISCV_SET32, R_RISCV_32_PCREL)
(R_RISCV_NUM): Define.
---
elf/elf.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 56 insertions(+), 12 deletions(-)
diff --git a/elf/elf.h b/elf/elf.h
index 677fccb555..f7748983c8 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -3788,18 +3788,62 @@ enum
#define EF_RISCV_FLOAT_ABI_QUAD 0x0006
/* RISC-V relocations. */
-#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
+#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
+#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_RISCV_RVC_LUI 46
+#define R_RISCV_GPREL_I 47
+#define R_RISCV_GPREL_S 48
+#define R_RISCV_TPREL_I 49
+#define R_RISCV_TPREL_S 50
+#define R_RISCV_RELAX 51
+#define R_RISCV_SUB6 52
+#define R_RISCV_SET6 53
+#define R_RISCV_SET8 54
+#define R_RISCV_SET16 55
+#define R_RISCV_SET32 56
+#define R_RISCV_32_PCREL 57
+
+#define R_RISCV_NUM 58
/* BPF specific declarations. */
--
2.16.2
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."