diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2016-11-13 14:42:15 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2016-11-13 14:42:15 +0000 |
commit | 71cdd30e70534e21a3f352a57e79d5a1d5fbf76b (patch) | |
tree | d12376b5932958144f989f5b7caf74ef0338021c /llvm/tools/llvm-strings/llvm-strings.cpp | |
parent | 46af8f9c6f3df2a51df9f8d9d8541ba3b7896c08 (diff) | |
download | llvm-71cdd30e70534e21a3f352a57e79d5a1d5fbf76b.zip llvm-71cdd30e70534e21a3f352a57e79d5a1d5fbf76b.tar.gz llvm-71cdd30e70534e21a3f352a57e79d5a1d5fbf76b.tar.bz2 |
[CMake] Fix libc++abi arm build w/o libunwind.
This commit fixes libc++abi build when LLVM unwinder (libunwind_llvm) is
not enabled.
This commit fixes the problem by removing "LLVM_NATIVE_ARCH MATCHES ARM"
from CMakeLists.txt so that LIBCXXABI_USE_LLVM_UNWINDER will only be
defined when LLVM unwinder is enabled.
We need LIBCXXABI_USE_LLVM_UNWINDER becase there is a subtle difference
between the unwinder from libgcc and the one from libunwind_llvm. For
the unwinder from libgcc, we have to initialize register r12 with the
address of _Unwind_Control_Block; otherwise,
_Unwind_GetLanguageSpecificData() and _Unwind_GetRegionStart() won't
work properly. Consequently, there is an extra _Unwind_SetGR() when
LLVM unwinder is disabled. Check cxa_personality.cpp for details.
llvm-svn: 286759
Diffstat (limited to 'llvm/tools/llvm-strings/llvm-strings.cpp')
0 files changed, 0 insertions, 0 deletions