diff options
Diffstat (limited to 'arch/riscv/include/uapi/asm/elf.h')
| -rw-r--r-- | arch/riscv/include/uapi/asm/elf.h | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/arch/riscv/include/uapi/asm/elf.h b/arch/riscv/include/uapi/asm/elf.h index 5cae4c30cd8e..1e0dfc36aab9 100644 --- a/arch/riscv/include/uapi/asm/elf.h +++ b/arch/riscv/include/uapi/asm/elf.h @@ -21,8 +21,13 @@ typedef struct user_regs_struct elf_gregset_t;  typedef union __riscv_fp_state elf_fpregset_t; -#define ELF_RISCV_R_SYM(r_info) ((r_info) >> 32) -#define ELF_RISCV_R_TYPE(r_info) ((r_info) & 0xffffffff) +#if __riscv_xlen == 64 +#define ELF_RISCV_R_SYM(r_info)		ELF64_R_SYM(r_info) +#define ELF_RISCV_R_TYPE(r_info)	ELF64_R_TYPE(r_info) +#else +#define ELF_RISCV_R_SYM(r_info)		ELF32_R_SYM(r_info) +#define ELF_RISCV_R_TYPE(r_info)	ELF32_R_TYPE(r_info) +#endif  /*   * RISC-V relocation types |