Commit 8fd6c514 authored by Charlie Jenkins's avatar Charlie Jenkins Committed by Palmer Dabbelt

riscv: Add remaining module relocations

Add all final module relocations and add error logs explaining the ones
that are not supported. Implement overflow checks for
ADD/SUB/SET/ULEB128 relocations.
Signed-off-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20231101-module_relocations-v9-2-8dfa3483c400@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent 8cbe0acc
...@@ -49,6 +49,7 @@ typedef union __riscv_fp_state elf_fpregset_t; ...@@ -49,6 +49,7 @@ typedef union __riscv_fp_state elf_fpregset_t;
#define R_RISCV_TLS_DTPREL64 9 #define R_RISCV_TLS_DTPREL64 9
#define R_RISCV_TLS_TPREL32 10 #define R_RISCV_TLS_TPREL32 10
#define R_RISCV_TLS_TPREL64 11 #define R_RISCV_TLS_TPREL64 11
#define R_RISCV_IRELATIVE 58
/* Relocation types not used by the dynamic linker */ /* Relocation types not used by the dynamic linker */
#define R_RISCV_BRANCH 16 #define R_RISCV_BRANCH 16
...@@ -81,7 +82,6 @@ typedef union __riscv_fp_state elf_fpregset_t; ...@@ -81,7 +82,6 @@ typedef union __riscv_fp_state elf_fpregset_t;
#define R_RISCV_ALIGN 43 #define R_RISCV_ALIGN 43
#define R_RISCV_RVC_BRANCH 44 #define R_RISCV_RVC_BRANCH 44
#define R_RISCV_RVC_JUMP 45 #define R_RISCV_RVC_JUMP 45
#define R_RISCV_LUI 46
#define R_RISCV_GPREL_I 47 #define R_RISCV_GPREL_I 47
#define R_RISCV_GPREL_S 48 #define R_RISCV_GPREL_S 48
#define R_RISCV_TPREL_I 49 #define R_RISCV_TPREL_I 49
...@@ -93,6 +93,9 @@ typedef union __riscv_fp_state elf_fpregset_t; ...@@ -93,6 +93,9 @@ typedef union __riscv_fp_state elf_fpregset_t;
#define R_RISCV_SET16 55 #define R_RISCV_SET16 55
#define R_RISCV_SET32 56 #define R_RISCV_SET32 56
#define R_RISCV_32_PCREL 57 #define R_RISCV_32_PCREL 57
#define R_RISCV_PLT32 59
#define R_RISCV_SET_ULEB128 60
#define R_RISCV_SUB_ULEB128 61
#endif /* _UAPI_ASM_RISCV_ELF_H */ #endif /* _UAPI_ASM_RISCV_ELF_H */
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment