elf: Update list of RISC-V relocations

Message ID mvmttuzyeqt.fsf@suse.de
State Committed
Commit 6f962278e24bdf5cb5f310c5a17add41da95407c
Headers
Series elf: Update list of RISC-V relocations |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm success Testing passed

Commit Message

Andreas Schwab June 22, 2023, 10:26 a.m. UTC
  ---
 elf/elf.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Palmer Dabbelt June 26, 2023, 1:28 p.m. UTC | #1
On Thu, 22 Jun 2023 03:26:34 PDT (-0700), schwab@suse.de wrote:
>
> ---
>  elf/elf.h | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index ac7032b7a5..89fc8021e9 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -4002,8 +4002,11 @@ enum
>  #define R_RISCV_SET32		56
>  #define R_RISCV_32_PCREL	57
>  #define R_RISCV_IRELATIVE	58
> +#define R_RISCV_PLT32		59
> +#define R_RISCV_SET_ULEB128	60
> +#define R_RISCV_SUB_ULEB128	61
>
> -#define R_RISCV_NUM		59
> +#define R_RISCV_NUM		62
>
>  /* RISC-V specific values for the st_other field.  */
>  #define STO_RISCV_VARIANT_CC	0x80	/* Function uses variant calling

This looks good to me: it's not quite official in the psABI (there's no 
release yet), but given that we're in a grey area WRT compatibility with 
the spec I think it's fine to just stop worrying about the procedures 
over there.  Binutils is going to start producing the ULEB relocations 
for the next release anyway, so at that point it'll be defacto stable 
ABI.

Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>

Thanks!
  

Patch

diff --git a/elf/elf.h b/elf/elf.h
index ac7032b7a5..89fc8021e9 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -4002,8 +4002,11 @@  enum
 #define R_RISCV_SET32		56
 #define R_RISCV_32_PCREL	57
 #define R_RISCV_IRELATIVE	58
+#define R_RISCV_PLT32		59
+#define R_RISCV_SET_ULEB128	60
+#define R_RISCV_SUB_ULEB128	61
 
-#define R_RISCV_NUM		59
+#define R_RISCV_NUM		62
 
 /* RISC-V specific values for the st_other field.  */
 #define STO_RISCV_VARIANT_CC	0x80	/* Function uses variant calling