diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -192,102 +192,117 @@ generic-cxx03) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-cxx11) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-cxx14) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx14.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-cxx17) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx17.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-cxx20) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx20.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-cxx2b) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx2b.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-assertions) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-assertions.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-debug-iterators) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-debug-iterators.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes check-abi-list ;; generic-noexceptions) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-noexceptions.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-modules) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-modules.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-static) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-static.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-static.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-static.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-static.cfg.in" check-runtimes ;; generic-32bit) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-32bits.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-clang-11) export CC=clang-11 export CXX=clang++-11 clean - generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-clang-12) export CC=clang-12 export CXX=clang++-12 clean - generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-gcc) export CC=gcc-11 export CXX=g++-11 clean - generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" + generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" check-runtimes ;; generic-gcc-cxx11) @@ -295,73 +310,85 @@ export CXX=g++-11 clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx11.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libc++-shared-gcc.cfg.in" check-runtimes ;; generic-asan) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-asan.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-msan) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-msan.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-tsan) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-tsan.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-ubsan) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-ubsan.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-with_llvm_unwinder) clean generate-cmake -DLIBCXXABI_USE_LLVM_UNWINDER=ON \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-singlethreaded) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-singlethreaded.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-debug) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-debug.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-filesystem) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-filesystem.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-random_device) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-random_device.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-localization) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-localization.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-unicode) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-no-unicode.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; generic-no-wide-characters) @@ -373,7 +400,8 @@ x86_64-apple-system) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Apple.cmake" \ - -DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="apple-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="apple-libc++-shared.cfg.in" check-runtimes ;; x86_64-apple-system-backdeployment-*) @@ -407,7 +435,8 @@ ;; benchmarks) clean - generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + generate-cmake -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-cxx-benchmarks ;; documentation) @@ -428,7 +457,8 @@ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; @@ -451,7 +481,8 @@ -DLLVM_RUNTIME_TARGETS="x86_64-unknown-linux-gnu" \ -DLLVM_ENABLE_ASSERTIONS=ON \ -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-modules.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" echo "+++ Running the libc++ and libc++abi tests" ${NINJA} -C "${BUILD_DIR}" check-runtimes @@ -508,7 +539,8 @@ aarch64) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; aarch64-noexceptions) @@ -516,33 +548,38 @@ generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AArch64.cmake" \ -DLIBCXX_ENABLE_EXCEPTIONS=OFF \ -DLIBCXXABI_ENABLE_EXCEPTIONS=OFF \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; # Aka Armv8 32 bit armv8) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8Arm.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; armv8-noexceptions) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv8Thumb-noexceptions.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; # Armv7 32 bit. One building Arm only one Thumb only code. armv7) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7Arm.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; armv7-noexceptions) clean generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Armv7Thumb-noexceptions.cmake" \ - -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" + -DLIBCXX_TEST_CONFIG="llvm-libc++-shared.cfg.in" \ + -DLIBUNWIND_TEST_CONFIG="llvm-libunwind-shared.cfg.in" check-runtimes ;; windows-dll) diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -87,9 +87,9 @@ "Additional compiler flags for test programs.") set(LIBUNWIND_TEST_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/test/lit.site.cfg.in" CACHE STRING "The path to the Lit testing configuration to use when running the tests. - If a relative path is provided, it is assumed to be relative to '/libcxx/test/configs'.") + If a relative path is provided, it is assumed to be relative to '/libunwind/test/configs'.") if (NOT IS_ABSOLUTE "${LIBUNWIND_TEST_CONFIG}") - set(LIBUNWIND_TEST_CONFIG "${LIBUNWIND_LIBCXX_PATH}/test/configs/${LIBUNWIND_TEST_CONFIG}") + set(LIBUNWIND_TEST_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/test/configs/${LIBUNWIND_TEST_CONFIG}") endif() set(LIBUNWIND_TEST_PARAMS "" CACHE STRING "A list of parameters to run the Lit test suite with.") diff --git a/libunwind/test/configs/llvm-libunwind-shared.cfg.in b/libunwind/test/configs/llvm-libunwind-shared.cfg.in new file mode 100644 --- /dev/null +++ b/libunwind/test/configs/llvm-libunwind-shared.cfg.in @@ -0,0 +1,65 @@ +@AUTO_GEN_COMMENT@ + +@SERIALIZED_LIT_PARAMS@ + +# +# Configuration file for running the libunwind tests against the shared library. +# +# This file is a lot simpler than the ones for libc++ and libc++abi because +# libunwind is written in straight C and we don't need or even want to link +# against the just-built libc++/libc++abi to run the tests correctly. +# + +import os, site +site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils')) +import libcxx.test.format + +# Basic configuration of the test suite +config.name = os.path.basename('@LIBUNWIND_TEST_CONFIG@') +config.test_source_root = os.path.join('@LIBUNWIND_SOURCE_DIR@', 'test') +config.test_format = libcxx.test.format.CxxStandardLibraryTest() +config.recursiveExpansionLimit = 10 +config.test_exec_root = '@CMAKE_BINARY_DIR@' + +compile_flags = [] +link_flags = [] +if @LIBUNWIND_USES_ARM_EHABI@: + config.available_features.add('libunwind-arm-ehabi') + +if not @LIBUNWIND_ENABLE_THREADS@: + compile_flags.append('-D_LIBUNWIND_HAS_NO_THREADS') + config.available_features.add('libunwind-no-threads') + +if @LIBUNWIND_ENABLE_CET@: + compile_flags.append('-fcf-protection=full') + +if '@CMAKE_SYSTEM_NAME@' == 'Linux': + link_flags.append('-Wl,--export-dynamic') + +# Stack unwinding tests need unwinding tables and these are not generated by default on all targets. +compile_flags.append('-funwind-tables') + +config.substitutions.append(('%{cxx}', '@CMAKE_CXX_COMPILER@')) +config.substitutions.append(('%{flags}', + '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' +)) + +config.substitutions.append(('%{compile_flags}', + '-nostdinc++ -I {}/include {}'.format('@LIBUNWIND_SOURCE_DIR@', ' '.join(compile_flags)) +)) +config.substitutions.append(('%{link_flags}', + '-nostdlib++ -L {0}/lib -Wl,-rpath,{0}/lib -lunwind -ldl {}'.format('@CMAKE_BINARY_DIR@', ' '.join(link_flags)) +)) +config.substitutions.append(('%{exec}', + '{} {}/utils/run.py --execdir %T -- '.format(sys.executable, '@LIBUNWIND_LIBCXX_PATH@') +)) + +import os, site +site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils')) +import libcxx.test.params, libcxx.test.newconfig, libcxx.test.newconfig +libcxx.test.newconfig.configure( + libcxx.test.params.DEFAULT_PARAMETERS, + libcxx.test.features.DEFAULT_FEATURES, + config, + lit_config +) diff --git a/libunwind/test/configs/llvm-libunwind-static.cfg.in b/libunwind/test/configs/llvm-libunwind-static.cfg.in new file mode 100644 --- /dev/null +++ b/libunwind/test/configs/llvm-libunwind-static.cfg.in @@ -0,0 +1,67 @@ +@AUTO_GEN_COMMENT@ + +@SERIALIZED_LIT_PARAMS@ + +# +# Configuration file for running the libunwind tests against the static library. +# +# This file is a lot simpler than the ones for libc++ and libc++abi because +# libunwind is written in straight C and we don't need or even want to link +# against the just-built libc++/libc++abi to run the tests correctly. +# + +import os, site +site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils')) +import libcxx.test.format + +# Basic configuration of the test suite +config.name = os.path.basename('@LIBUNWIND_TEST_CONFIG@') +config.test_source_root = os.path.join('@LIBUNWIND_SOURCE_DIR@', 'test') +config.test_format = libcxx.test.format.CxxStandardLibraryTest() +config.recursiveExpansionLimit = 10 +config.test_exec_root = '@CMAKE_BINARY_DIR@' + +compile_flags = [] +link_flags = [] +if @LIBUNWIND_USES_ARM_EHABI@: + config.available_features.add('libunwind-arm-ehabi') + +if not @LIBUNWIND_ENABLE_THREADS@: + compile_flags.append('-D_LIBUNWIND_HAS_NO_THREADS') + config.available_features.add('libunwind-no-threads') +else: + link_flags.append('-pthread') + +if @LIBUNWIND_ENABLE_CET@: + compile_flags.append('-fcf-protection=full') + +if '@CMAKE_SYSTEM_NAME@' == 'Linux': + link_flags.append('-Wl,--export-dynamic') + +# Stack unwinding tests need unwinding tables and these are not generated by default on all targets. +compile_flags.append('-funwind-tables') + +config.substitutions.append(('%{cxx}', '@CMAKE_CXX_COMPILER@')) +config.substitutions.append(('%{flags}', + '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' +)) + +config.substitutions.append(('%{compile_flags}', + '-nostdinc++ -I {}/include {}'.format('@LIBUNWIND_SOURCE_DIR@', ' '.join(compile_flags)) +)) +config.substitutions.append(('%{link_flags}', + '-nostdlib++ {}/lib/libunwind.a -ldl {}'.format('@CMAKE_BINARY_DIR@', ' '.join(link_flags)) +)) +config.substitutions.append(('%{exec}', + '{} {}/utils/run.py --execdir %T -- '.format(sys.executable, '@LIBUNWIND_LIBCXX_PATH@') +)) + +import os, site +site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils')) +import libcxx.test.params, libcxx.test.newconfig, libcxx.test.newconfig +libcxx.test.newconfig.configure( + libcxx.test.params.DEFAULT_PARAMETERS, + libcxx.test.features.DEFAULT_FEATURES, + config, + lit_config +) diff --git a/libunwind/test/libunwind_01.pass.cpp b/libunwind/test/libunwind_01.pass.cpp --- a/libunwind/test/libunwind_01.pass.cpp +++ b/libunwind/test/libunwind_01.pass.cpp @@ -1,8 +1,10 @@ // TODO: Investigate these failures // XFAIL: asan, tsan, ubsan -// TODO: Investigate these failures on x86_64 macOS -// XFAIL: target=x86_64-apple-darwin{{.+}} +// TODO: This failure is caused by the fact that we don't run the libunwind +// tests against the just-built libunwind on Apple platforms. Mark this +// as supported once we do. +// UNSUPPORTED: target=x86_64-apple-darwin{{.+}} // TODO: Investigate this failure // XFAIL: 32bits-on-64bits