|
1 |
| -//===------------------------- __libunwind_config.h -----------------------===// |
| 1 | +//===----------------------------------------------------------------------===// |
2 | 2 | //
|
3 | 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
4 | 4 | // See https://llvm.org/LICENSE.txt for license information.
|
|
9 | 9 | #ifndef ____LIBUNWIND_CONFIG_H__
|
10 | 10 | #define ____LIBUNWIND_CONFIG_H__
|
11 | 11 |
|
| 12 | +#define _LIBUNWIND_VERSION 15000 |
| 13 | + |
12 | 14 | #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
|
13 |
| - !defined(__ARM_DWARF_EH__) |
| 15 | + !defined(__ARM_DWARF_EH__) && !defined(__SEH__) |
14 | 16 | #define _LIBUNWIND_ARM_EHABI
|
15 | 17 | #endif
|
16 | 18 |
|
|
23 | 25 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K 32
|
24 | 26 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS 65
|
25 | 27 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31
|
| 28 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64 31 |
26 | 29 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34
|
27 | 30 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 64
|
| 31 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE 143 |
| 32 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_S390X 83 |
| 33 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH 64 |
28 | 34 |
|
29 | 35 | #if defined(_LIBUNWIND_IS_NATIVE_ONLY)
|
| 36 | +# if defined(__linux__) |
| 37 | +# define _LIBUNWIND_TARGET_LINUX 1 |
| 38 | +# endif |
30 | 39 | # if defined(__i386__)
|
31 | 40 | # define _LIBUNWIND_TARGET_I386
|
32 | 41 | # define _LIBUNWIND_CONTEXT_SIZE 8
|
|
51 | 60 | # define _LIBUNWIND_CONTEXT_SIZE 167
|
52 | 61 | # define _LIBUNWIND_CURSOR_SIZE 179
|
53 | 62 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64
|
54 |
| -# elif defined(__ppc__) |
| 63 | +# elif defined(__powerpc__) |
55 | 64 | # define _LIBUNWIND_TARGET_PPC 1
|
56 | 65 | # define _LIBUNWIND_CONTEXT_SIZE 117
|
57 | 66 | # define _LIBUNWIND_CURSOR_SIZE 124
|
|
121 | 130 | # error "Unsupported MIPS ABI and/or environment"
|
122 | 131 | # endif
|
123 | 132 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS
|
| 133 | +#elif defined(__sparc__) && defined(__arch64__) |
| 134 | +#define _LIBUNWIND_TARGET_SPARC64 1 |
| 135 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER \ |
| 136 | + _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64 |
| 137 | +#define _LIBUNWIND_CONTEXT_SIZE 33 |
| 138 | +#define _LIBUNWIND_CURSOR_SIZE 45 |
124 | 139 | # elif defined(__sparc__)
|
125 | 140 | #define _LIBUNWIND_TARGET_SPARC 1
|
126 | 141 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC
|
127 | 142 | #define _LIBUNWIND_CONTEXT_SIZE 16
|
128 | 143 | #define _LIBUNWIND_CURSOR_SIZE 23
|
129 | 144 | # elif defined(__riscv)
|
130 |
| -# if __riscv_xlen == 64 |
131 |
| -# define _LIBUNWIND_TARGET_RISCV 1 |
132 |
| -# define _LIBUNWIND_CONTEXT_SIZE 64 |
133 |
| -# define _LIBUNWIND_CURSOR_SIZE 76 |
| 145 | +# define _LIBUNWIND_TARGET_RISCV 1 |
| 146 | +# if defined(__riscv_flen) |
| 147 | +# define RISCV_FLEN __riscv_flen |
134 | 148 | # else
|
135 |
| -# error "Unsupported RISC-V ABI" |
| 149 | +# define RISCV_FLEN 0 |
| 150 | +# endif |
| 151 | +# define _LIBUNWIND_CONTEXT_SIZE (32 * (__riscv_xlen + RISCV_FLEN) / 64) |
| 152 | +# if __riscv_xlen == 32 |
| 153 | +# define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 7) |
| 154 | +# elif __riscv_xlen == 64 |
| 155 | +# define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 12) |
| 156 | +# else |
| 157 | +# error "Unsupported RISC-V ABI" |
136 | 158 | # endif
|
137 | 159 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
|
| 160 | +# elif defined(__ve__) |
| 161 | +# define _LIBUNWIND_TARGET_VE 1 |
| 162 | +# define _LIBUNWIND_CONTEXT_SIZE 67 |
| 163 | +# define _LIBUNWIND_CURSOR_SIZE 79 |
| 164 | +# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE |
| 165 | +# elif defined(__s390x__) |
| 166 | +# define _LIBUNWIND_TARGET_S390X 1 |
| 167 | +# define _LIBUNWIND_CONTEXT_SIZE 34 |
| 168 | +# define _LIBUNWIND_CURSOR_SIZE 46 |
| 169 | +# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_S390X |
| 170 | +#elif defined(__loongarch__) |
| 171 | +#define _LIBUNWIND_TARGET_LOONGARCH 1 |
| 172 | +#if __loongarch_grlen == 64 |
| 173 | +#define _LIBUNWIND_CONTEXT_SIZE 65 |
| 174 | +#define _LIBUNWIND_CURSOR_SIZE 77 |
| 175 | +#else |
| 176 | +#error "Unsupported LoongArch ABI" |
| 177 | +#endif |
| 178 | +#define _LIBUNWIND_HIGHEST_DWARF_REGISTER \ |
| 179 | + _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH |
138 | 180 | # else
|
139 | 181 | # error "Unsupported architecture."
|
140 | 182 | # endif
|
|
149 | 191 | # define _LIBUNWIND_TARGET_MIPS_O32 1
|
150 | 192 | # define _LIBUNWIND_TARGET_MIPS_NEWABI 1
|
151 | 193 | # define _LIBUNWIND_TARGET_SPARC 1
|
| 194 | +# define _LIBUNWIND_TARGET_SPARC64 1 |
152 | 195 | # define _LIBUNWIND_TARGET_HEXAGON 1
|
153 | 196 | # define _LIBUNWIND_TARGET_RISCV 1
|
| 197 | +# define _LIBUNWIND_TARGET_VE 1 |
| 198 | +# define _LIBUNWIND_TARGET_S390X 1 |
| 199 | +#define _LIBUNWIND_TARGET_LOONGARCH 1 |
154 | 200 | # define _LIBUNWIND_CONTEXT_SIZE 167
|
155 | 201 | # define _LIBUNWIND_CURSOR_SIZE 179
|
156 | 202 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
|
|
0 commit comments