diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2015-05-16 12:44:31 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2015-05-16 12:44:31 +0000 |
commit | 891fd46a0ae6603dad261d6aa13fec161b4b499a (patch) | |
tree | 39f3476e0d70db063bf6ca50af07c7059f3debe2 /libcxx | |
parent | d049669546c96cd461001607bd599e0fc537c544 (diff) | |
download | bcm5719-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.txt | 4 | ||||
-rw-r--r-- | libcxx/test/lit.site.cfg.in | 1 |
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") |