blob: 07593d91326df425d1c1246968303eccd2dd3256 [file] [log] [blame]
Elliott Hughes5e7f8f12022-10-01 15:10:58 +00001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_ASM_RISCV_ELF_H
20#define _UAPI_ASM_RISCV_ELF_H
21#include <asm/ptrace.h>
22typedef unsigned long elf_greg_t;
23typedef struct user_regs_struct elf_gregset_t;
24#define ELF_NGREG (sizeof(elf_gregset_t) / sizeof(elf_greg_t))
25typedef __u64 elf_fpreg_t;
26typedef union __riscv_fp_state elf_fpregset_t;
27#define ELF_NFPREG (sizeof(struct __riscv_d_ext_state) / sizeof(elf_fpreg_t))
28#if __riscv_xlen == 64
29#define ELF_RISCV_R_SYM(r_info) ELF64_R_SYM(r_info)
30#define ELF_RISCV_R_TYPE(r_info) ELF64_R_TYPE(r_info)
31#else
32#define ELF_RISCV_R_SYM(r_info) ELF32_R_SYM(r_info)
33#define ELF_RISCV_R_TYPE(r_info) ELF32_R_TYPE(r_info)
34#endif
35#define R_RISCV_NONE 0
36#define R_RISCV_32 1
37#define R_RISCV_64 2
38#define R_RISCV_RELATIVE 3
39#define R_RISCV_COPY 4
40#define R_RISCV_JUMP_SLOT 5
41#define R_RISCV_TLS_DTPMOD32 6
42#define R_RISCV_TLS_DTPMOD64 7
43#define R_RISCV_TLS_DTPREL32 8
44#define R_RISCV_TLS_DTPREL64 9
45#define R_RISCV_TLS_TPREL32 10
46#define R_RISCV_TLS_TPREL64 11
47#define R_RISCV_BRANCH 16
48#define R_RISCV_JAL 17
49#define R_RISCV_CALL 18
50#define R_RISCV_CALL_PLT 19
51#define R_RISCV_GOT_HI20 20
52#define R_RISCV_TLS_GOT_HI20 21
53#define R_RISCV_TLS_GD_HI20 22
54#define R_RISCV_PCREL_HI20 23
55#define R_RISCV_PCREL_LO12_I 24
56#define R_RISCV_PCREL_LO12_S 25
57#define R_RISCV_HI20 26
58#define R_RISCV_LO12_I 27
59#define R_RISCV_LO12_S 28
60#define R_RISCV_TPREL_HI20 29
61#define R_RISCV_TPREL_LO12_I 30
62#define R_RISCV_TPREL_LO12_S 31
63#define R_RISCV_TPREL_ADD 32
64#define R_RISCV_ADD8 33
65#define R_RISCV_ADD16 34
66#define R_RISCV_ADD32 35
67#define R_RISCV_ADD64 36
68#define R_RISCV_SUB8 37
69#define R_RISCV_SUB16 38
70#define R_RISCV_SUB32 39
71#define R_RISCV_SUB64 40
72#define R_RISCV_GNU_VTINHERIT 41
73#define R_RISCV_GNU_VTENTRY 42
74#define R_RISCV_ALIGN 43
75#define R_RISCV_RVC_BRANCH 44
76#define R_RISCV_RVC_JUMP 45
77#define R_RISCV_LUI 46
78#define R_RISCV_GPREL_I 47
79#define R_RISCV_GPREL_S 48
80#define R_RISCV_TPREL_I 49
81#define R_RISCV_TPREL_S 50
82#define R_RISCV_RELAX 51
83#define R_RISCV_SUB6 52
84#define R_RISCV_SET6 53
85#define R_RISCV_SET8 54
86#define R_RISCV_SET16 55
87#define R_RISCV_SET32 56
88#define R_RISCV_32_PCREL 57
89#endif