Message ID | 87czgubqc4.fsf@igel.home |
---|---|
State | New |
Headers | show |
Series | Update RISC-V specific ELF definitions | expand |
On 2022-05-03, Andreas Schwab wrote: >The definitions are taken from the 1.0-rc2 version of the ELF psABI. >--- > elf/elf.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > >diff --git a/elf/elf.h b/elf/elf.h >index 0195029188..648bf66c7d 100644 >--- a/elf/elf.h >+++ b/elf/elf.h >@@ -3927,6 +3927,8 @@ enum > #define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 > #define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 > #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 >+#define EF_RISCV_RVE 0x0008 >+#define EF_RISCV_TSO 0x0010 > > /* RISC-V relocations. */ > #define R_RISCV_NONE 0 >@@ -3987,6 +3989,18 @@ enum > > #define R_RISCV_NUM 59 > >+/* RISC-V specific values for the st_other field. */ >+#define STO_RISCV_VARIANT_CC 0x80 I see that there is a precedent that STO_AARCH64_VARIANT_PCS calls this "AArch64 specific values for the st_other field", but a descriptive comment may be more useful, e.g. "Mark functions that do not follow the standard calling convention for the ABI in use." "RISC-V specific" can probably be removed as "RISCV" in the macro name self explains. >+/* RISC-V specific values for the sh_type field. */ >+#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) >+ >+/* RISC-V specific values for the p_type field. */ >+#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) >+ >+/* RISC-V specific values for the d_tag field. */ >+#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) >+ > /* BPF specific declarations. */ > > #define R_BPF_NONE 0 /* No reloc */ >-- >2.35.2 I have verified these values match https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/download/v1.0-rc2/riscv-abi.pdf Reviewed-by: Fangrui Song <maskray@google.com>
diff --git a/elf/elf.h b/elf/elf.h index 0195029188..648bf66c7d 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -3927,6 +3927,8 @@ enum #define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 #define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 /* RISC-V relocations. */ #define R_RISCV_NONE 0 @@ -3987,6 +3989,18 @@ enum #define R_RISCV_NUM 59 +/* RISC-V specific values for the st_other field. */ +#define STO_RISCV_VARIANT_CC 0x80 + +/* RISC-V specific values for the sh_type field. */ +#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) + +/* RISC-V specific values for the p_type field. */ +#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) + +/* RISC-V specific values for the d_tag field. */ +#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) + /* BPF specific declarations. */ #define R_BPF_NONE 0 /* No reloc */