123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- //===------------------------- __libunwind_config.h -----------------------===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #ifndef ____LIBUNWIND_CONFIG_H__
- #define ____LIBUNWIND_CONFIG_H__
- #if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \
- !defined(__ARM_DWARF_EH__)
- #define _LIBUNWIND_ARM_EHABI
- #endif
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86 8
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64 32
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC 112
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64 116
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64 95
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM 287
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K 32
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS 65
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 64
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE 143
- #if defined(_LIBUNWIND_IS_NATIVE_ONLY)
- # if defined(__linux__)
- # define _LIBUNWIND_TARGET_LINUX 1
- # endif
- # if defined(__i386__)
- # define _LIBUNWIND_TARGET_I386
- # define _LIBUNWIND_CONTEXT_SIZE 8
- # define _LIBUNWIND_CURSOR_SIZE 15
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86
- # elif defined(__x86_64__)
- # define _LIBUNWIND_TARGET_X86_64 1
- # if defined(_WIN64)
- # define _LIBUNWIND_CONTEXT_SIZE 54
- # ifdef __SEH__
- # define _LIBUNWIND_CURSOR_SIZE 204
- # else
- # define _LIBUNWIND_CURSOR_SIZE 66
- # endif
- # else
- # define _LIBUNWIND_CONTEXT_SIZE 21
- # define _LIBUNWIND_CURSOR_SIZE 33
- # endif
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_X86_64
- # elif defined(__powerpc64__)
- # define _LIBUNWIND_TARGET_PPC64 1
- # define _LIBUNWIND_CONTEXT_SIZE 167
- # define _LIBUNWIND_CURSOR_SIZE 179
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC64
- # elif defined(__ppc__)
- # define _LIBUNWIND_TARGET_PPC 1
- # define _LIBUNWIND_CONTEXT_SIZE 117
- # define _LIBUNWIND_CURSOR_SIZE 124
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_PPC
- # elif defined(__aarch64__)
- # define _LIBUNWIND_TARGET_AARCH64 1
- # define _LIBUNWIND_CONTEXT_SIZE 66
- # if defined(__SEH__)
- # define _LIBUNWIND_CURSOR_SIZE 164
- # else
- # define _LIBUNWIND_CURSOR_SIZE 78
- # endif
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM64
- # elif defined(__arm__)
- # define _LIBUNWIND_TARGET_ARM 1
- # if defined(__SEH__)
- # define _LIBUNWIND_CONTEXT_SIZE 42
- # define _LIBUNWIND_CURSOR_SIZE 80
- # elif defined(__ARM_WMMX)
- # define _LIBUNWIND_CONTEXT_SIZE 61
- # define _LIBUNWIND_CURSOR_SIZE 68
- # else
- # define _LIBUNWIND_CONTEXT_SIZE 42
- # define _LIBUNWIND_CURSOR_SIZE 49
- # endif
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_ARM
- # elif defined(__or1k__)
- # define _LIBUNWIND_TARGET_OR1K 1
- # define _LIBUNWIND_CONTEXT_SIZE 16
- # define _LIBUNWIND_CURSOR_SIZE 24
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_OR1K
- # elif defined(__hexagon__)
- # define _LIBUNWIND_TARGET_HEXAGON 1
- // Values here change when : Registers.hpp - hexagon_thread_state_t change
- # define _LIBUNWIND_CONTEXT_SIZE 18
- # define _LIBUNWIND_CURSOR_SIZE 24
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON
- # elif defined(__mips__)
- # if defined(_ABIO32) && _MIPS_SIM == _ABIO32
- # define _LIBUNWIND_TARGET_MIPS_O32 1
- # if defined(__mips_hard_float)
- # define _LIBUNWIND_CONTEXT_SIZE 50
- # define _LIBUNWIND_CURSOR_SIZE 57
- # else
- # define _LIBUNWIND_CONTEXT_SIZE 18
- # define _LIBUNWIND_CURSOR_SIZE 24
- # endif
- # elif defined(_ABIN32) && _MIPS_SIM == _ABIN32
- # define _LIBUNWIND_TARGET_MIPS_NEWABI 1
- # if defined(__mips_hard_float)
- # define _LIBUNWIND_CONTEXT_SIZE 67
- # define _LIBUNWIND_CURSOR_SIZE 74
- # else
- # define _LIBUNWIND_CONTEXT_SIZE 35
- # define _LIBUNWIND_CURSOR_SIZE 42
- # endif
- # elif defined(_ABI64) && _MIPS_SIM == _ABI64
- # define _LIBUNWIND_TARGET_MIPS_NEWABI 1
- # if defined(__mips_hard_float)
- # define _LIBUNWIND_CONTEXT_SIZE 67
- # define _LIBUNWIND_CURSOR_SIZE 79
- # else
- # define _LIBUNWIND_CONTEXT_SIZE 35
- # define _LIBUNWIND_CURSOR_SIZE 47
- # endif
- # else
- # error "Unsupported MIPS ABI and/or environment"
- # endif
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_MIPS
- # elif defined(__sparc__)
- #define _LIBUNWIND_TARGET_SPARC 1
- #define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC
- #define _LIBUNWIND_CONTEXT_SIZE 16
- #define _LIBUNWIND_CURSOR_SIZE 23
- # elif defined(__riscv)
- # define _LIBUNWIND_TARGET_RISCV 1
- # if defined(__riscv_flen)
- # define RISCV_FLEN __riscv_flen
- # else
- # define RISCV_FLEN 0
- # endif
- # define _LIBUNWIND_CONTEXT_SIZE (32 * (__riscv_xlen + RISCV_FLEN) / 64)
- # if __riscv_xlen == 32
- # define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 7)
- # elif __riscv_xlen == 64
- # define _LIBUNWIND_CURSOR_SIZE (_LIBUNWIND_CONTEXT_SIZE + 12)
- # else
- # error "Unsupported RISC-V ABI"
- # endif
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
- # elif defined(__ve__)
- # define _LIBUNWIND_TARGET_VE 1
- # define _LIBUNWIND_CONTEXT_SIZE 67
- # define _LIBUNWIND_CURSOR_SIZE 79
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE
- # else
- # error "Unsupported architecture."
- # endif
- #else // !_LIBUNWIND_IS_NATIVE_ONLY
- # define _LIBUNWIND_TARGET_I386
- # define _LIBUNWIND_TARGET_X86_64 1
- # define _LIBUNWIND_TARGET_PPC 1
- # define _LIBUNWIND_TARGET_PPC64 1
- # define _LIBUNWIND_TARGET_AARCH64 1
- # define _LIBUNWIND_TARGET_ARM 1
- # define _LIBUNWIND_TARGET_OR1K 1
- # define _LIBUNWIND_TARGET_MIPS_O32 1
- # define _LIBUNWIND_TARGET_MIPS_NEWABI 1
- # define _LIBUNWIND_TARGET_SPARC 1
- # define _LIBUNWIND_TARGET_HEXAGON 1
- # define _LIBUNWIND_TARGET_RISCV 1
- # define _LIBUNWIND_TARGET_VE 1
- # define _LIBUNWIND_CONTEXT_SIZE 167
- # define _LIBUNWIND_CURSOR_SIZE 179
- # define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
- #endif // _LIBUNWIND_IS_NATIVE_ONLY
- #endif // ____LIBUNWIND_CONFIG_H__
|