__libunwind_config.h revision 303187
1//===------------------------- __libunwind_config.h -----------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef ____LIBUNWIND_CONFIG_H__ 11#define ____LIBUNWIND_CONFIG_H__ 12 13#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \ 14 !defined(__ARM_DWARF_EH__) 15#define _LIBUNWIND_ARM_EHABI 1 16#else 17#define _LIBUNWIND_ARM_EHABI 0 18#endif 19 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# define _LIBUNWIND_MAX_REGISTER 9 26# elif defined(__x86_64__) 27# define _LIBUNWIND_TARGET_X86_64 1 28# define _LIBUNWIND_CONTEXT_SIZE 21 29# define _LIBUNWIND_CURSOR_SIZE 33 30# define _LIBUNWIND_MAX_REGISTER 17 31# elif defined(__ppc__) 32# define _LIBUNWIND_TARGET_PPC 1 33# define _LIBUNWIND_CONTEXT_SIZE 117 34# define _LIBUNWIND_CURSOR_SIZE 128 35# define _LIBUNWIND_MAX_REGISTER 113 36# elif defined(__aarch64__) 37# define _LIBUNWIND_TARGET_AARCH64 1 38# define _LIBUNWIND_CONTEXT_SIZE 66 39# define _LIBUNWIND_CURSOR_SIZE 78 40# define _LIBUNWIND_MAX_REGISTER 96 41# elif defined(__arm__) 42# define _LIBUNWIND_TARGET_ARM 1 43# define _LIBUNWIND_CONTEXT_SIZE 60 44# define _LIBUNWIND_CURSOR_SIZE 67 45# define _LIBUNWIND_MAX_REGISTER 96 46# elif defined(__or1k__) 47# define _LIBUNWIND_TARGET_OR1K 1 48# define _LIBUNWIND_CONTEXT_SIZE 16 49# define _LIBUNWIND_CURSOR_SIZE 28 50# define _LIBUNWIND_MAX_REGISTER 32 51# elif defined(__riscv__) 52# define _LIBUNWIND_TARGET_RISCV 1 53# define _LIBUNWIND_CONTEXT_SIZE 64 54# define _LIBUNWIND_CURSOR_SIZE 76 55# define _LIBUNWIND_MAX_REGISTER 96 56# else 57# error "Unsupported architecture." 58# endif 59#else // !_LIBUNWIND_IS_NATIVE_ONLY 60# define _LIBUNWIND_TARGET_I386 1 61# define _LIBUNWIND_TARGET_X86_64 1 62# define _LIBUNWIND_TARGET_PPC 1 63# define _LIBUNWIND_TARGET_AARCH64 1 64# define _LIBUNWIND_TARGET_ARM 1 65# define _LIBUNWIND_TARGET_OR1K 1 66# define _LIBUNWIND_CONTEXT_SIZE 128 67# define _LIBUNWIND_CURSOR_SIZE 140 68# define _LIBUNWIND_MAX_REGISTER 120 69#endif // _LIBUNWIND_IS_NATIVE_ONLY 70 71#endif // ____LIBUNWIND_CONFIG_H__ 72