1 //===------------------------- __libunwind_config.h -----------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef ____LIBUNWIND_CONFIG_H__
11 #define ____LIBUNWIND_CONFIG_H__
13 #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
14 !defined(__ARM_DWARF_EH__)
15 #define _LIBUNWIND_ARM_EHABI 1
17 #define _LIBUNWIND_ARM_EHABI 0
20 #if defined(_LIBUNWIND_IS_NATIVE_ONLY)
21 # if defined(__i386__)
22 # define _LIBUNWIND_TARGET_I386 1
23 # define _LIBUNWIND_CONTEXT_SIZE 8
24 # define _LIBUNWIND_CURSOR_SIZE 19
25 # elif defined(__x86_64__)
26 # define _LIBUNWIND_TARGET_X86_64 1
27 # define _LIBUNWIND_CONTEXT_SIZE 21
28 # define _LIBUNWIND_CURSOR_SIZE 33
29 # elif defined(__ppc__)
30 # define _LIBUNWIND_TARGET_PPC 1
31 # define _LIBUNWIND_CONTEXT_SIZE 117
32 # define _LIBUNWIND_CURSOR_SIZE 128
33 # elif defined(__aarch64__)
34 # define _LIBUNWIND_TARGET_AARCH64 1
35 # define _LIBUNWIND_CONTEXT_SIZE 66
36 # define _LIBUNWIND_CURSOR_SIZE 78
37 # elif defined(__arm__)
38 # define _LIBUNWIND_TARGET_ARM 1
39 # define _LIBUNWIND_CONTEXT_SIZE 60
40 # define _LIBUNWIND_CURSOR_SIZE 67
41 # elif defined(__or1k__)
42 # define _LIBUNWIND_TARGET_OR1K 1
43 # define _LIBUNWIND_CONTEXT_SIZE 16
44 # define _LIBUNWIND_CURSOR_SIZE 28
45 # elif defined(__riscv__)
46 # define _LIBUNWIND_TARGET_RISCV 1
47 # define _LIBUNWIND_CONTEXT_SIZE 128 /* XXX */
48 # define _LIBUNWIND_CURSOR_SIZE 140 /* XXX */
50 # error "Unsupported architecture."
52 #else // !_LIBUNWIND_IS_NATIVE_ONLY
53 # define _LIBUNWIND_TARGET_I386 1
54 # define _LIBUNWIND_TARGET_X86_64 1
55 # define _LIBUNWIND_TARGET_PPC 1
56 # define _LIBUNWIND_TARGET_AARCH64 1
57 # define _LIBUNWIND_TARGET_ARM 1
58 # define _LIBUNWIND_TARGET_OR1K 1
59 # define _LIBUNWIND_CONTEXT_SIZE 128
60 # define _LIBUNWIND_CURSOR_SIZE 140
61 #endif // _LIBUNWIND_IS_NATIVE_ONLY
63 #endif // ____LIBUNWIND_CONFIG_H__