• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
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 _ASM_RISCV_ELF_H
20 #define _ASM_RISCV_ELF_H
21 #include <asm/ptrace.h>
22 typedef unsigned long elf_greg_t;
23 typedef struct user_regs_struct elf_gregset_t;
24 #define ELF_NGREG (sizeof(elf_gregset_t) / sizeof(elf_greg_t))
25 typedef __u64 elf_fpreg_t;
26 typedef 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
90