[PATCH] Update RISC-V relocations
Kito Cheng
kito.cheng@gmail.com
Wed May 28 07:13:43 GMT 2025
LGTM as a RISC-V psABI guy :)
On Mon, May 26, 2025 at 8:18 PM Andreas Schwab <schwab@suse.de> wrote:
>
> Update the list of RISC-V relocations from the ELF psABI as of June 2024.
> It removes binutils-internal only relocations that were never part of
> actual object files. The GNU_VTINHERIT and GNU_VTENTRY relocations were
> never used because the corresponding GCC option -fvtable-gc was never
> supported on RISC-V.
> ---
> elf/elf.h | 17 ++++++++---------
> 1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 1e1a59c14d..2f29a47c0b 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -4081,6 +4081,7 @@ enum
> #define R_RISCV_TLS_DTPREL64 9
> #define R_RISCV_TLS_TPREL32 10
> #define R_RISCV_TLS_TPREL64 11
> +#define R_RISCV_TLSDESC 12
> #define R_RISCV_BRANCH 16
> #define R_RISCV_JAL 17
> #define R_RISCV_CALL 18
> @@ -4106,16 +4107,10 @@ enum
> #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_GOT32_PCREL 41
> #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
> @@ -4127,8 +4122,12 @@ enum
> #define R_RISCV_PLT32 59
> #define R_RISCV_SET_ULEB128 60
> #define R_RISCV_SUB_ULEB128 61
> +#define R_RISCV_TLSDESC_HI20 62
> +#define R_RISCV_TLSDESC_LOAD_LO12 63
> +#define R_RISCV_TLSDESC_ADD_LO12 64
> +#define R_RISCV_TLSDESC_CALL 65
>
> -#define R_RISCV_NUM 62
> +#define R_RISCV_NUM 66
>
> /* RISC-V specific values for the st_other field. */
> #define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling
> @@ -4137,7 +4136,7 @@ enum
> /* 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. */
> +/* RISC-V specific values for the p_type field (deprecated). */
> #define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3)
>
> /* RISC-V specific values for the d_tag field. */
> --
> 2.49.0
>
>
> --
> 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."
More information about the Libc-alpha
mailing list