summaryrefslogtreecommitdiffstats
path: root/libunwind/include
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2018-12-18 20:05:59 +0000
committerMartin Storsjo <martin@martin.st>2018-12-18 20:05:59 +0000
commit09cf6374c162b13e00bb86c10e6e481abf437a07 (patch)
tree638b3cc77a3c90f217f4a71402de04e9e2769835 /libunwind/include
parent18a9d545e16fecca6b7ffe039f86a55f6fb9c022 (diff)
downloadbcm5719-llvm-09cf6374c162b13e00bb86c10e6e481abf437a07.tar.gz
bcm5719-llvm-09cf6374c162b13e00bb86c10e6e481abf437a07.zip
[SEH] Add initial support for AArch64
This doesn't yet implement inspecting the .pdata/.xdata to find the LSDA pointer (in UnwindCursor::getInfoFromSEH), but normal C++ exception handling seems to run just fine without it. (The only place I can see where it's even referenced is in unwind_phase2_forced, and I can't find a codepath where libcxxabi would end up calling that.) Differential Revision: https://reviews.llvm.org/D55674 llvm-svn: 349532
Diffstat (limited to 'libunwind/include')
-rw-r--r--libunwind/include/__libunwind_config.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libunwind/include/__libunwind_config.h b/libunwind/include/__libunwind_config.h
index a1e2f6de13a..54509495c38 100644
--- a/libunwind/include/__libunwind_config.h
+++ b/libunwind/include/__libunwind_config.h
@@ -57,7 +57,11 @@
# elif defined(__aarch64__)
# define _LIBUNWIND_TARGET_AARCH64 1
# define _LIBUNWIND_CONTEXT_SIZE 66
-# define _LIBUNWIND_CURSOR_SIZE 78
+# 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
OpenPOWER on IntegriCloud