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 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | f28e7e7d34688ad6585de9c192161018cf6ef4d3 (diff) | |
download | llvm-2c012d495dddb382748f126d1131670801c723e0.zip llvm-2c012d495dddb382748f126d1131670801c723e0.tar.gz llvm-2c012d495dddb382748f126d1131670801c723e0.tar.bz2 |
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 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions