diff options
author | Dan Albert <danalbert@google.com> | 2014-08-29 15:26:06 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2014-08-29 15:26:06 +0000 |
commit | 2c012d495dddb382748f126d1131670801c723e0 (patch) | |
tree | afe0d43f560765abee98c3e12d928908a1227b30 /libcxxabi/include | |
parent | f28e7e7d34688ad6585de9c192161018cf6ef4d3 (diff) | |
download | llvm-2c012d495dddb382748f126d1131670801c723e0.tar.gz |
Make _Unwind_Backtrace() work on ARM.
Summary: Since the personality functions do the actual unwinding on ARM,
and will also stop unwinding when they encounter a handler, we invoke
_Unwind_VRS_Interpret() directly form _Unwind_Backtrace().
To simplify, the logic for decoding an EHT is moved out of
unwindOneFrame() and into its own function, decode_eht_entry(). Unlike
unwindOneFrame(), which could only handle ARM's compact personality
function entries (section 6.3) decode_eht_entry() can handle the generic
entries (section 6.2).
Reviewers: jroelofs
Reviewed By: jroelofs
Subscribers: piman, aemerson, cfe-commits
Differential Revision: http://reviews.llvm.org/D5112
llvm-svn: 216730
Diffstat (limited to 'libcxxabi/include')
-rw-r--r-- | libcxxabi/include/unwind.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/libcxxabi/include/unwind.h b/libcxxabi/include/unwind.h index 4e77c3a41812..dd82bc9125d2 100644 --- a/libcxxabi/include/unwind.h +++ b/libcxxabi/include/unwind.h @@ -207,10 +207,6 @@ _Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_RegClass regclass, uint32_t discriminator, _Unwind_VRS_DataRepresentation representation); -extern _Unwind_Reason_Code _Unwind_VRS_Interpret(_Unwind_Context *context, - uint32_t *data, size_t offset, - size_t len); - static inline uintptr_t _Unwind_GetGR(struct _Unwind_Context* context, int index) { uintptr_t value = 0; |