diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2014-01-10 17:32:51 +0700 |
---|---|---|
committer | Bruce Mitchener <bruce.mitchener@gmail.com> | 2014-01-13 17:59:15 +0700 |
commit | 44cb63a6ecea58dc21d20843f5af0a006f8b36cd (patch) | |
tree | 61b12af6826f796ec43c12a8ff3dfbf5fa98f1a7 /system/lib/libcxxabi/src/Unwind/assembly.h | |
parent | 88d2ba5490b515245143e125b5ae52e27c2ee78c (diff) |
Update to current libcxxabi for new exception code.
Diffstat (limited to 'system/lib/libcxxabi/src/Unwind/assembly.h')
-rw-r--r-- | system/lib/libcxxabi/src/Unwind/assembly.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/system/lib/libcxxabi/src/Unwind/assembly.h b/system/lib/libcxxabi/src/Unwind/assembly.h new file mode 100644 index 00000000..d282de8c --- /dev/null +++ b/system/lib/libcxxabi/src/Unwind/assembly.h @@ -0,0 +1,44 @@ +/* ===-- assembly.h - libUnwind assembler support macros -------------------=== + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file defines macros for use in libUnwind assembler source. + * This file is not part of the interface of this library. + * + * ===----------------------------------------------------------------------=== + */ + +#ifndef UNWIND_ASSEMBLY_H +#define UNWIND_ASSEMBLY_H + +#if defined(__POWERPC__) || defined(__powerpc__) || defined(__ppc__) +#define SEPARATOR @ +#else +#define SEPARATOR ; +#endif + +#if defined(__APPLE__) +#define HIDDEN_DIRECTIVE .private_extern +#else +#define HIDDEN_DIRECTIVE .hidden +#endif + +#define GLUE2(a, b) a ## b +#define GLUE(a, b) GLUE2(a, b) +#define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name) + +#define DEFINE_LIBUNWIND_FUNCTION(name) \ + .globl SYMBOL_NAME(name) SEPARATOR \ + SYMBOL_NAME(name): + +#define DEFINE_LIBUNWIND_PRIVATE_FUNCTION(name) \ + .globl SYMBOL_NAME(name) SEPARATOR \ + HIDDEN_DIRECTIVE SYMBOL_NAME(name) SEPARATOR \ + SYMBOL_NAME(name): + +#endif /* UNWIND_ASSEMBLY_H */ |