Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | //===----------------------------------------------------------------------===// |
2 | // |
||
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
||
4 | // See https://llvm.org/LICENSE.txt for license information. |
||
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
||
6 | // |
||
7 | //===----------------------------------------------------------------------===// |
||
8 | |||
9 | #ifndef ____LIBUNWIND_CONFIG_H__ |
||
10 | #define ____LIBUNWIND_CONFIG_H__ |
||
11 | |||
12 | #define _LIBUNWIND_VERSION 15000 |
||
13 | |||
14 | #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \ |
||
15 | !defined(__ARM_DWARF_EH__) && !defined(__SEH__) |
||
16 | #define _LIBUNWIND_ARM_EHABI |
||
17 | #endif |
||
18 | |||
19 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 8 |
||
20 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 32 |
||
21 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC 112 |
||
22 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 116 |
||
23 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 95 |
||
24 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM 287 |
||
25 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K 32 |
||
26 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS 65 |
||
27 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31 |
||
28 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64 31 |
||
29 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34 |
||
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 |
||
34 | |||
35 | #if defined(_LIBUNWIND_IS_NATIVE_ONLY) |
||
36 | # if defined(__linux__) |
||
37 | # define _LIBUNWIND_TARGET_LINUX 1 |
||
38 | # endif |
||
39 | # if defined(__i386__) |
||
40 | # define _LIBUNWIND_TARGET_I386 |
||
41 | # define _LIBUNWIND_CONTEXT_SIZE 8 |
||
42 | # define _LIBUNWIND_CURSOR_SIZE 15 |
||
43 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 |
||
44 | # elif defined(__x86_64__) |
||
45 | # define _LIBUNWIND_TARGET_X86_64 1 |
||
46 | # if defined(_WIN64) |
||
47 | # define _LIBUNWIND_CONTEXT_SIZE 54 |
||
48 | # ifdef __SEH__ |
||
49 | # define _LIBUNWIND_CURSOR_SIZE 204 |
||
50 | # else |
||
51 | # define _LIBUNWIND_CURSOR_SIZE 66 |
||
52 | # endif |
||
53 | # else |
||
54 | # define _LIBUNWIND_CONTEXT_SIZE 21 |
||
55 | # define _LIBUNWIND_CURSOR_SIZE 33 |
||
56 | # endif |
||
57 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 |
||
58 | # elif defined(__powerpc64__) |
||
59 | # define _LIBUNWIND_TARGET_PPC64 1 |
||
60 | # define _LIBUNWIND_CONTEXT_SIZE 167 |
||
61 | # define _LIBUNWIND_CURSOR_SIZE 179 |
||
62 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 |
||
63 | # elif defined(__powerpc__) |
||
64 | # define _LIBUNWIND_TARGET_PPC 1 |
||
65 | # define _LIBUNWIND_CONTEXT_SIZE 117 |
||
66 | # define _LIBUNWIND_CURSOR_SIZE 124 |
||
67 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC |
||
68 | # elif defined(__aarch64__) |
||
69 | # define _LIBUNWIND_TARGET_AARCH64 1 |
||
70 | # define _LIBUNWIND_CONTEXT_SIZE 66 |
||
71 | # if defined(__SEH__) |
||
72 | # define _LIBUNWIND_CURSOR_SIZE 164 |
||
73 | # else |
||
74 | # define _LIBUNWIND_CURSOR_SIZE 78 |
||
75 | # endif |
||
76 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 |
||
77 | # elif defined(__arm__) |
||
78 | # define _LIBUNWIND_TARGET_ARM 1 |
||
79 | # if defined(__SEH__) |
||
80 | # define _LIBUNWIND_CONTEXT_SIZE 42 |
||
81 | # define _LIBUNWIND_CURSOR_SIZE 80 |
||
82 | # elif defined(__ARM_WMMX) |
||
83 | # define _LIBUNWIND_CONTEXT_SIZE 61 |
||
84 | # define _LIBUNWIND_CURSOR_SIZE 68 |
||
85 | # else |
||
86 | # define _LIBUNWIND_CONTEXT_SIZE 42 |
||
87 | # define _LIBUNWIND_CURSOR_SIZE 49 |
||
88 | # endif |
||
89 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM |
||
90 | # elif defined(__or1k__) |
||
91 | # define _LIBUNWIND_TARGET_OR1K 1 |
||
92 | # define _LIBUNWIND_CONTEXT_SIZE 16 |
||
93 | # define _LIBUNWIND_CURSOR_SIZE 24 |
||
94 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K |
||
95 | # elif defined(__hexagon__) |
||
96 | # define _LIBUNWIND_TARGET_HEXAGON 1 |
||
97 | // Values here change when : Registers.hpp - hexagon_thread_state_t change |
||
98 | # define _LIBUNWIND_CONTEXT_SIZE 18 |
||
99 | # define _LIBUNWIND_CURSOR_SIZE 24 |
||
100 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON |
||
101 | # elif defined(__mips__) |
||
102 | # if defined(_ABIO32) && _MIPS_SIM == _ABIO32 |
||
103 | # define _LIBUNWIND_TARGET_MIPS_O32 1 |
||
104 | # if defined(__mips_hard_float) |
||
105 | # define _LIBUNWIND_CONTEXT_SIZE 50 |
||
106 | # define _LIBUNWIND_CURSOR_SIZE 57 |
||
107 | # else |
||
108 | # define _LIBUNWIND_CONTEXT_SIZE 18 |
||
109 | # define _LIBUNWIND_CURSOR_SIZE 24 |
||
110 | # endif |
||
111 | # elif defined(_ABIN32) && _MIPS_SIM == _ABIN32 |
||
112 | # define _LIBUNWIND_TARGET_MIPS_NEWABI 1 |
||
113 | # if defined(__mips_hard_float) |
||
114 | # define _LIBUNWIND_CONTEXT_SIZE 67 |
||
115 | # define _LIBUNWIND_CURSOR_SIZE 74 |
||
116 | # else |
||
117 | # define _LIBUNWIND_CONTEXT_SIZE 35 |
||
118 | # define _LIBUNWIND_CURSOR_SIZE 42 |
||
119 | # endif |
||
120 | # elif defined(_ABI64) && _MIPS_SIM == _ABI64 |
||
121 | # define _LIBUNWIND_TARGET_MIPS_NEWABI 1 |
||
122 | # if defined(__mips_hard_float) |
||
123 | # define _LIBUNWIND_CONTEXT_SIZE 67 |
||
124 | # define _LIBUNWIND_CURSOR_SIZE 79 |
||
125 | # else |
||
126 | # define _LIBUNWIND_CONTEXT_SIZE 35 |
||
127 | # define _LIBUNWIND_CURSOR_SIZE 47 |
||
128 | # endif |
||
129 | # else |
||
130 | # error "Unsupported MIPS ABI and/or environment" |
||
131 | # endif |
||
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 |
||
139 | # elif defined(__sparc__) |
||
140 | #define _LIBUNWIND_TARGET_SPARC 1 |
||
141 | #define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC |
||
142 | #define _LIBUNWIND_CONTEXT_SIZE 16 |
||
143 | #define _LIBUNWIND_CURSOR_SIZE 23 |
||
144 | # elif defined(__riscv) |
||
145 | # define _LIBUNWIND_TARGET_RISCV 1 |
||
146 | # if defined(__riscv_flen) |
||
147 | # define RISCV_FLEN __riscv_flen |
||
148 | # else |
||
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" |
||
158 | # endif |
||
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 |
||
180 | # else |
||
181 | # error "Unsupported architecture." |
||
182 | # endif |
||
183 | #else // !_LIBUNWIND_IS_NATIVE_ONLY |
||
184 | # define _LIBUNWIND_TARGET_I386 |
||
185 | # define _LIBUNWIND_TARGET_X86_64 1 |
||
186 | # define _LIBUNWIND_TARGET_PPC 1 |
||
187 | # define _LIBUNWIND_TARGET_PPC64 1 |
||
188 | # define _LIBUNWIND_TARGET_AARCH64 1 |
||
189 | # define _LIBUNWIND_TARGET_ARM 1 |
||
190 | # define _LIBUNWIND_TARGET_OR1K 1 |
||
191 | # define _LIBUNWIND_TARGET_MIPS_O32 1 |
||
192 | # define _LIBUNWIND_TARGET_MIPS_NEWABI 1 |
||
193 | # define _LIBUNWIND_TARGET_SPARC 1 |
||
194 | # define _LIBUNWIND_TARGET_SPARC64 1 |
||
195 | # define _LIBUNWIND_TARGET_HEXAGON 1 |
||
196 | # define _LIBUNWIND_TARGET_RISCV 1 |
||
197 | # define _LIBUNWIND_TARGET_VE 1 |
||
198 | # define _LIBUNWIND_TARGET_S390X 1 |
||
199 | #define _LIBUNWIND_TARGET_LOONGARCH 1 |
||
200 | # define _LIBUNWIND_CONTEXT_SIZE 167 |
||
201 | # define _LIBUNWIND_CURSOR_SIZE 179 |
||
202 | # define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287 |
||
203 | #endif // _LIBUNWIND_IS_NATIVE_ONLY |
||
204 | |||
205 | #endif // ____LIBUNWIND_CONFIG_H__ |