Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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__