Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:56:20

0001 //===----------------------------------------------------------------------===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef ____LIBUNWIND_CONFIG_H__
0010 #define ____LIBUNWIND_CONFIG_H__
0011 
0012 #define _LIBUNWIND_VERSION 15000
0013 
0014 #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
0015     !defined(__ARM_DWARF_EH__) && !defined(__SEH__)
0016 #define _LIBUNWIND_ARM_EHABI
0017 #endif
0018 
0019 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86       8
0020 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64    32
0021 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC       112
0022 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64     116
0023 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64     95
0024 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM       287
0025 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K      32
0026 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS      65
0027 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC     31
0028 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64   31
0029 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON   34
0030 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV     64
0031 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE        143
0032 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_S390X     83
0033 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH 64
0034 
0035 #if defined(_LIBUNWIND_IS_NATIVE_ONLY)
0036 # if defined(__linux__)
0037 #  define _LIBUNWIND_TARGET_LINUX 1
0038 # endif
0039 # if defined(__HAIKU__)
0040 #  define _LIBUNWIND_TARGET_HAIKU 1
0041 # endif
0042 # if defined(__i386__)
0043 #  define _LIBUNWIND_TARGET_I386
0044 #  define _LIBUNWIND_CONTEXT_SIZE 8
0045 #  define _LIBUNWIND_CURSOR_SIZE 15
0046 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86
0047 # elif defined(__x86_64__)
0048 #  define _LIBUNWIND_TARGET_X86_64 1
0049 #  if defined(_WIN64)
0050 #    define _LIBUNWIND_CONTEXT_SIZE 54
0051 #    ifdef __SEH__
0052 #      define _LIBUNWIND_CURSOR_SIZE 204
0053 #    else
0054 #      define _LIBUNWIND_CURSOR_SIZE 66
0055 #    endif
0056 #  elif defined(__ILP32__)
0057 #    define _LIBUNWIND_CONTEXT_SIZE 21
0058 #    define _LIBUNWIND_CURSOR_SIZE 28
0059 #  else
0060 #    define _LIBUNWIND_CONTEXT_SIZE 21
0061 #    define _LIBUNWIND_CURSOR_SIZE 33
0062 #  endif
0063 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64
0064 # elif defined(__powerpc64__)
0065 #  define _LIBUNWIND_TARGET_PPC64 1
0066 #  define _LIBUNWIND_CONTEXT_SIZE 167
0067 #  define _LIBUNWIND_CURSOR_SIZE 179
0068 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64
0069 # elif defined(__powerpc__)
0070 #  define _LIBUNWIND_TARGET_PPC 1
0071 #  define _LIBUNWIND_CONTEXT_SIZE 117
0072 #  define _LIBUNWIND_CURSOR_SIZE 124
0073 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC
0074 # elif defined(__aarch64__)
0075 #  define _LIBUNWIND_TARGET_AARCH64 1
0076 #  define _LIBUNWIND_CONTEXT_SIZE 66
0077 #  if defined(__SEH__)
0078 #    define _LIBUNWIND_CURSOR_SIZE 164
0079 #  else
0080 #    define _LIBUNWIND_CURSOR_SIZE 78
0081 #  endif
0082 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64
0083 # elif defined(__arm__)
0084 #  define _LIBUNWIND_TARGET_ARM 1
0085 #  if defined(__SEH__)
0086 #    define _LIBUNWIND_CONTEXT_SIZE 42
0087 #    define _LIBUNWIND_CURSOR_SIZE 80
0088 #  elif defined(__ARM_WMMX)
0089 #    define _LIBUNWIND_CONTEXT_SIZE 61
0090 #    define _LIBUNWIND_CURSOR_SIZE 68
0091 #  else
0092 #    define _LIBUNWIND_CONTEXT_SIZE 42
0093 #    define _LIBUNWIND_CURSOR_SIZE 49
0094 #  endif
0095 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM
0096 # elif defined(__or1k__)
0097 #  define _LIBUNWIND_TARGET_OR1K 1
0098 #  define _LIBUNWIND_CONTEXT_SIZE 16
0099 #  define _LIBUNWIND_CURSOR_SIZE 24
0100 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K
0101 # elif defined(__hexagon__)
0102 #  define _LIBUNWIND_TARGET_HEXAGON 1
0103 // Values here change when : Registers.hpp - hexagon_thread_state_t change
0104 #  define _LIBUNWIND_CONTEXT_SIZE 18
0105 #  define _LIBUNWIND_CURSOR_SIZE 24
0106 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON
0107 # elif defined(__mips__)
0108 #  if defined(_ABIO32) && _MIPS_SIM == _ABIO32
0109 #    define _LIBUNWIND_TARGET_MIPS_O32 1
0110 #    if defined(__mips_hard_float)
0111 #      define _LIBUNWIND_CONTEXT_SIZE 50
0112 #      define _LIBUNWIND_CURSOR_SIZE 57
0113 #    else
0114 #      define _LIBUNWIND_CONTEXT_SIZE 18
0115 #      define _LIBUNWIND_CURSOR_SIZE 24
0116 #    endif
0117 #  elif defined(_ABIN32) && _MIPS_SIM == _ABIN32
0118 #    define _LIBUNWIND_TARGET_MIPS_NEWABI 1
0119 #    if defined(__mips_hard_float)
0120 #      define _LIBUNWIND_CONTEXT_SIZE 67
0121 #      define _LIBUNWIND_CURSOR_SIZE 74
0122 #    else
0123 #      define _LIBUNWIND_CONTEXT_SIZE 35
0124 #      define _LIBUNWIND_CURSOR_SIZE 42
0125 #    endif
0126 #  elif defined(_ABI64) && _MIPS_SIM == _ABI64
0127 #    define _LIBUNWIND_TARGET_MIPS_NEWABI 1
0128 #    if defined(__mips_hard_float)
0129 #      define _LIBUNWIND_CONTEXT_SIZE 67
0130 #      define _LIBUNWIND_CURSOR_SIZE 79
0131 #    else
0132 #      define _LIBUNWIND_CONTEXT_SIZE 35
0133 #      define _LIBUNWIND_CURSOR_SIZE 47
0134 #    endif
0135 #  else
0136 #    error "Unsupported MIPS ABI and/or environment"
0137 #  endif
0138 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS
0139 #elif defined(__sparc__) && defined(__arch64__)
0140 #define _LIBUNWIND_TARGET_SPARC64 1
0141 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER                                      \
0142   _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC64
0143 #define _LIBUNWIND_CONTEXT_SIZE 33
0144 #define _LIBUNWIND_CURSOR_SIZE 45
0145 # elif defined(__sparc__)
0146   #define _LIBUNWIND_TARGET_SPARC 1
0147   #define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC
0148   #define _LIBUNWIND_CONTEXT_SIZE 16
0149   #define _LIBUNWIND_CURSOR_SIZE 23
0150 # elif defined(__riscv)
0151 #  define _LIBUNWIND_TARGET_RISCV 1
0152 #  if defined(__riscv_flen)
0153 #   define RISCV_FLEN __riscv_flen
0154 #  else
0155 #   define RISCV_FLEN 0
0156 #  endif
0157 #  define _LIBUNWIND_CONTEXT_SIZE (32 * (__riscv_xlen + RISCV_FLEN) / 64)
0158 #  if __riscv_xlen == 32
0159 #   define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 7)
0160 #  elif __riscv_xlen == 64
0161 #   define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 12)
0162 #  else
0163 #   error "Unsupported RISC-V ABI"
0164 #  endif
0165 # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
0166 # elif defined(__ve__)
0167 #  define _LIBUNWIND_TARGET_VE 1
0168 #  define _LIBUNWIND_CONTEXT_SIZE 67
0169 #  define _LIBUNWIND_CURSOR_SIZE 79
0170 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE
0171 # elif defined(__s390x__)
0172 #  define _LIBUNWIND_TARGET_S390X 1
0173 #  define _LIBUNWIND_CONTEXT_SIZE 34
0174 #  define _LIBUNWIND_CURSOR_SIZE 46
0175 #  define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_S390X
0176 #elif defined(__loongarch__)
0177 #define _LIBUNWIND_TARGET_LOONGARCH 1
0178 #if __loongarch_grlen == 64
0179 #define _LIBUNWIND_CONTEXT_SIZE 65
0180 #define _LIBUNWIND_CURSOR_SIZE 77
0181 #else
0182 #error "Unsupported LoongArch ABI"
0183 #endif
0184 #define _LIBUNWIND_HIGHEST_DWARF_REGISTER                                      \
0185   _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH
0186 #elif defined(__wasm__)
0187 // Unused
0188 #define _LIBUNWIND_CONTEXT_SIZE 0
0189 #define _LIBUNWIND_CURSOR_SIZE 0
0190 # else
0191 #  error "Unsupported architecture."
0192 # endif
0193 #else // !_LIBUNWIND_IS_NATIVE_ONLY
0194 # define _LIBUNWIND_TARGET_I386
0195 # define _LIBUNWIND_TARGET_X86_64 1
0196 # define _LIBUNWIND_TARGET_PPC 1
0197 # define _LIBUNWIND_TARGET_PPC64 1
0198 # define _LIBUNWIND_TARGET_AARCH64 1
0199 # define _LIBUNWIND_TARGET_ARM 1
0200 # define _LIBUNWIND_TARGET_OR1K 1
0201 # define _LIBUNWIND_TARGET_MIPS_O32 1
0202 # define _LIBUNWIND_TARGET_MIPS_NEWABI 1
0203 # define _LIBUNWIND_TARGET_SPARC 1
0204 # define _LIBUNWIND_TARGET_SPARC64 1
0205 # define _LIBUNWIND_TARGET_HEXAGON 1
0206 # define _LIBUNWIND_TARGET_RISCV 1
0207 # define _LIBUNWIND_TARGET_VE 1
0208 # define _LIBUNWIND_TARGET_S390X 1
0209 # define _LIBUNWIND_TARGET_LOONGARCH 1
0210 # define _LIBUNWIND_CONTEXT_SIZE 167
0211 # define _LIBUNWIND_CURSOR_SIZE 204
0212 # define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
0213 #endif // _LIBUNWIND_IS_NATIVE_ONLY
0214 
0215 #endif // ____LIBUNWIND_CONFIG_H__