summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorLogan Chien <tzuhsiang.chien@gmail.com>2015-05-16 12:44:31 +0000
committerLogan Chien <tzuhsiang.chien@gmail.com>2015-05-16 12:44:31 +0000
commit891fd46a0ae6603dad261d6aa13fec161b4b499a (patch)
tree39f3476e0d70db063bf6ca50af07c7059f3debe2 /libcxx
parentd049669546c96cd461001607bd599e0fc537c544 (diff)
downloadbcm5719-llvm-891fd46a0ae6603dad261d6aa13fec161b4b499a.tar.gz
bcm5719-llvm-891fd46a0ae6603dad261d6aa13fec161b4b499a.zip
libcxx: Fix ARM libc++/abi and libunwind buildbot.
The test cases were crashing due to the mixed usage of the unwinding functions from both libunwind and libgcc_s. The unwind functions are mixed because the "llvm_unwinder" entry is not available in the lit.site.cfg for libc++. As a result, "-lgcc_s" is picked instead of "-lunwind". The extra option to lit --param=link_flags="-lunwind" won't help either. This CL fix the problem by adding llvm_unwinder to lit.site.cfg.in. llvm-svn: 237518
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/CMakeLists.txt4
-rw-r--r--libcxx/test/lit.site.cfg.in1
2 files changed, 5 insertions, 0 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index 2e5db7757e2..5c4c19fe111 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -100,6 +100,10 @@ set(LIBCXX_CXX_ABI "${LIBCXX_CXX_ABI}" CACHE STRING
"Specify C++ ABI library to use." FORCE)
set_property(CACHE LIBCXX_CXX_ABI PROPERTY STRINGS ;${CXXABIS})
+# Build libc++abi with libunwind. We need this option to determine whether to
+# link with libunwind or libgcc_s while running the test cases.
+option(LIBCXXABI_USE_LLVM_UNWINDER "Build and use the LLVM unwinder." OFF)
+
# TODO(ericwf): Remove these options by March/25/2015.
# These CMake options have been removed in favor of a generic option
# "LIBCXX_CXX_ABI_INCLUDE_PATHS". Issue an explicit error message explaining
diff --git a/libcxx/test/lit.site.cfg.in b/libcxx/test/lit.site.cfg.in
index 9ed4adf8fa9..feae2843e04 100644
--- a/libcxx/test/lit.site.cfg.in
+++ b/libcxx/test/lit.site.cfg.in
@@ -23,6 +23,7 @@ config.gcc_toolchain = "@LIBCXX_GCC_TOOLCHAIN@"
config.generate_coverage = "@LIBCXX_GENERATE_COVERAGE@"
config.target_info = "@LIBCXX_TARGET_INFO@"
config.executor = "@LIBCXX_EXECUTOR@"
+config.llvm_unwinder = "@LIBCXXABI_USE_LLVM_UNWINDER@"
# Let the main config do the real work.
lit_config.load_config(config, "@LIBCXX_SOURCE_DIR@/test/lit.cfg")
OpenPOWER on IntegriCloud