From c1887e3f15aeac7037b88b066b33d142c6bb1321 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Fri, 6 Nov 2020 17:26:42 -0500 Subject: [PATCH] Revert "Allow running back-deployment testing against libc++abi" This reverts commit 4d79ef814aedb63, which broke a few build bots. I'm reverting until I have time to investigate. --- libcxx/test/configs/legacy.cfg.in | 2 +- libcxx/utils/ci/macos-backdeployment.sh | 12 ++++-------- libcxx/utils/ci/run-buildbot | 12 ++++-------- libcxx/utils/libcxx/compiler.py | 1 + libcxx/utils/libcxx/test/config.py | 13 +++++-------- libcxxabi/test/catch_function_01.pass.cpp | 4 ---- libcxxabi/test/catch_member_data_pointer_01.pass.cpp | 4 ---- libcxxabi/test/catch_member_pointer_nullptr.pass.cpp | 7 ------- libcxxabi/test/catch_multi_level_pointer.pass.cpp | 4 ---- libcxxabi/test/catch_pointer_nullptr.pass.cpp | 7 ------- libcxxabi/test/catch_ptr_02.pass.cpp | 3 --- libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp | 8 -------- libcxxabi/test/dynamic_cast.pass.cpp | 10 ---------- libcxxabi/test/exception_object_alignment.pass.cpp | 10 ---------- libcxxabi/test/incomplete_type.sh.cpp | 10 ++++------ libcxxabi/test/libcxxabi/test/config.py | 2 +- libcxxabi/test/lit.site.cfg.in | 2 +- libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp | 9 --------- libcxxabi/test/test_demangle.pass.cpp | 9 --------- libcxxabi/test/test_exception_address_alignment.pass.cpp | 9 ++++----- libcxxabi/test/thread_local_destruction_order.pass.cpp | 13 +++++++++++++ libcxxabi/test/uncaught_exceptions.pass.cpp | 8 -------- libunwind/test/libunwind/test/config.py | 2 +- libunwind/test/lit.site.cfg.in | 2 +- 24 files changed, 40 insertions(+), 123 deletions(-) diff --git a/libcxx/test/configs/legacy.cfg.in b/libcxx/test/configs/legacy.cfg.in index 60591c0..f0a4e8a 100644 --- a/libcxx/test/configs/legacy.cfg.in +++ b/libcxx/test/configs/legacy.cfg.in @@ -8,7 +8,6 @@ config.project_obj_root = "@CMAKE_BINARY_DIR@" config.libcxx_src_root = "@LIBCXX_SOURCE_DIR@" config.libcxx_obj_root = "@LIBCXX_BINARY_DIR@" config.cxx_library_root = "@LIBCXX_LIBRARY_DIR@" -config.abi_library_root = "@LIBCXX_CXX_ABI_LIBRARY_PATH@" config.enable_exceptions = @LIBCXX_ENABLE_EXCEPTIONS@ config.enable_debug_tests = @LIBCXX_ENABLE_DEBUG_MODE_SUPPORT@ config.enable_experimental = @LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY@ @@ -19,6 +18,7 @@ config.enable_32bit = @LIBCXX_BUILD_32_BITS@ config.cxx_abi = "@LIBCXX_CXX_ABI_LIBNAME@" config.use_sanitizer = "@LLVM_USE_SANITIZER@" config.sanitizer_library = "@LIBCXX_SANITIZER_LIBRARY@" +config.abi_library_path = "@LIBCXX_CXX_ABI_LIBRARY_PATH@" config.configuration_variant = "@LIBCXX_LIT_VARIANT@" config.host_triple = "@LLVM_HOST_TRIPLE@" config.target_triple = "@TARGET_TRIPLE@" diff --git a/libcxx/utils/ci/macos-backdeployment.sh b/libcxx/utils/ci/macos-backdeployment.sh index 281b6e5..f91d719 100755 --- a/libcxx/utils/ci/macos-backdeployment.sh +++ b/libcxx/utils/ci/macos-backdeployment.sh @@ -120,10 +120,6 @@ fi LIBCXX_ROOT_ON_DEPLOYMENT_TARGET="${PREVIOUS_DYLIBS_DIR}/macOS/libc++/${DEPLOYMENT_TARGET}" LIBCXXABI_ROOT_ON_DEPLOYMENT_TARGET="${PREVIOUS_DYLIBS_DIR}/macOS/libc++abi/${DEPLOYMENT_TARGET}" -# TODO: On Apple platforms, we never produce libc++abi.1.dylib, always libc++abi.dylib. -# Fix that in the build so that the tests stop searching for @rpath/libc++abi.1.dylib. -cp "${LIBCXXABI_ROOT_ON_DEPLOYMENT_TARGET}/libc++abi.dylib" "${LIBCXXABI_ROOT_ON_DEPLOYMENT_TARGET}/libc++abi.1.dylib" - # Filesystem is supported on Apple platforms starting with macosx10.15. if [[ ${DEPLOYMENT_TARGET} =~ ^10.9|10.10|10.11|10.12|10.13|10.14$ ]]; then ENABLE_FILESYSTEM="--param enable_filesystem=false" @@ -131,8 +127,9 @@ else ENABLE_FILESYSTEM="--param enable_filesystem=true" fi -echo "@@@ Running tests for libc++ and libc++abi @@@" -"${LLVM_BUILD_DIR}/bin/llvm-lit" -sv "${MONOREPO_ROOT}/libcxx/test" "${MONOREPO_ROOT}/libcxxabi/test" \ +# TODO: We need to also run the tests for libc++abi. +echo "@@@ Running tests for libc++ @@@" +"${LLVM_BUILD_DIR}/bin/llvm-lit" -sv "${MONOREPO_ROOT}/libcxx/test" \ --param=enable_experimental=false \ --param=enable_debug_tests=false \ ${ENABLE_FILESYSTEM} \ @@ -141,8 +138,7 @@ echo "@@@ Running tests for libc++ and libc++abi @@@" --param=target_triple="x86_64-apple-macosx${DEPLOYMENT_TARGET}" \ --param=cxx_library_root="${LLVM_INSTALL_DIR}/lib" \ --param=cxx_runtime_root="${LIBCXX_ROOT_ON_DEPLOYMENT_TARGET}" \ - --param=abi_library_root="${LLVM_INSTALL_DIR}/lib" \ - --param=abi_runtime_root="${LIBCXXABI_ROOT_ON_DEPLOYMENT_TARGET}" \ + --param=abi_library_path="${LIBCXXABI_ROOT_ON_DEPLOYMENT_TARGET}" \ --param=use_system_cxx_lib="True" \ ${ADDITIONAL_LIT_ARGS} echo "@@@@@@" diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot index b644668..5a6ea64 100755 --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -243,15 +243,9 @@ x86_64-apple-system-backdeployment-*) fi DEPLOYMENT_TARGET="${BUILDER#x86_64-apple-system-backdeployment-}" - - # TODO: On Apple platforms, we never produce libc++abi.1.dylib, always libc++abi.dylib. - # Fix that in the build so that the tests stop searching for @rpath/libc++abi.1.dylib. - cp "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.dylib" \ - "${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}/libc++abi.1.dylib" - PARAMS="target_triple=x86_64-apple-macosx${DEPLOYMENT_TARGET}" PARAMS+=";cxx_runtime_root=${OSX_ROOTS}/macOS/libc++/${DEPLOYMENT_TARGET}" - PARAMS+=";abi_runtime_root=${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}" + PARAMS+=";abi_library_path=${OSX_ROOTS}/macOS/libc++abi/${DEPLOYMENT_TARGET}" PARAMS+=";use_system_cxx_lib=True" # Filesystem is supported on Apple platforms starting with macosx10.15. if [[ ${DEPLOYMENT_TARGET} =~ ^10.9|10.10|10.11|10.12|10.13|10.14$ ]]; then @@ -264,7 +258,9 @@ x86_64-apple-system-backdeployment-*) -DLIBCXX_TEST_PARAMS="${PARAMS}" \ -DLIBCXXABI_TEST_PARAMS="${PARAMS}" - check-cxx-cxxabi + # TODO: Also run the libc++abi tests + echo "+++ Running the libc++ tests" + ninja -C "${BUILD_DIR}" check-cxx ;; benchmarks) export CC=clang diff --git a/libcxx/utils/libcxx/compiler.py b/libcxx/utils/libcxx/compiler.py index dd334cd..248b5ba 100644 --- a/libcxx/utils/libcxx/compiler.py +++ b/libcxx/utils/libcxx/compiler.py @@ -29,6 +29,7 @@ class CXXCompiler(object): self.flags = list(flags or []) self.compile_flags = list(compile_flags or []) self.link_flags = list(link_flags or []) + self.link_libcxxabi_flag = '-lc++abi' self.warning_flags = list(warning_flags or []) self.verify_supported = verify_supported self.use_verify = use_verify diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py index 4b34a42..ca0385a 100644 --- a/libcxx/utils/libcxx/test/config.py +++ b/libcxx/utils/libcxx/test/config.py @@ -124,9 +124,8 @@ class Configuration(object): self.configure_obj_root() self.cxx_stdlib_under_test = self.get_lit_conf('cxx_stdlib_under_test', 'libc++') self.cxx_library_root = self.get_lit_conf('cxx_library_root', self.libcxx_obj_root) - self.abi_library_root = self.get_lit_conf('abi_library_root', None) + self.abi_library_root = self.get_lit_conf('abi_library_path', None) self.cxx_runtime_root = self.get_lit_conf('cxx_runtime_root', self.cxx_library_root) - self.abi_runtime_root = self.get_lit_conf('abi_runtime_root', self.abi_library_root) self.configure_compile_flags() self.configure_link_flags() self.configure_env() @@ -159,8 +158,6 @@ class Configuration(object): self.lit_config.note('Adding environment variables: %r' % show_env_vars) self.lit_config.note("Linking against the C++ Library at {}".format(self.cxx_library_root)) self.lit_config.note("Running against the C++ Library at {}".format(self.cxx_runtime_root)) - self.lit_config.note("Linking against the ABI Library at {}".format(self.abi_library_root)) - self.lit_config.note("Running against the ABI Library at {}".format(self.abi_runtime_root)) sys.stderr.flush() # Force flushing to avoid broken output on Windows def get_test_format(self): @@ -426,11 +423,10 @@ class Configuration(object): # Configure ABI library paths. if self.abi_library_root: self.cxx.link_flags += ['-L' + self.abi_library_root] - if self.abi_runtime_root: if not self.target_info.is_windows(): - self.cxx.link_flags += ['-Wl,-rpath,' + self.abi_runtime_root] + self.cxx.link_flags += ['-Wl,-rpath,' + self.abi_library_root] else: - self.add_path(self.exec_env, self.abi_runtime_root) + self.add_path(self.exec_env, self.abi_library_root) def configure_link_flags_cxx_library(self): if self.link_shared: @@ -464,6 +460,7 @@ class Configuration(object): if self.abi_library_root: libname = self.make_static_lib_name('c++abi') abs_path = os.path.join(self.abi_library_root, libname) + self.cxx.link_libcxxabi_flag = abs_path self.cxx.link_flags += [abs_path] else: self.cxx.link_flags += ['-lc++abi'] @@ -593,7 +590,7 @@ class Configuration(object): sub.append(('%{flags}', ' '.join(map(pipes.quote, flags)))) sub.append(('%{compile_flags}', ' '.join(map(pipes.quote, compile_flags)))) sub.append(('%{link_flags}', ' '.join(map(pipes.quote, self.cxx.link_flags)))) - + sub.append(('%{link_libcxxabi}', pipes.quote(self.cxx.link_libcxxabi_flag))) codesign_ident = self.get_lit_conf('llvm_codesign_identity', '') env_vars = ' '.join('%s=%s' % (k, pipes.quote(v)) for (k, v) in self.exec_env.items()) exec_args = [ diff --git a/libcxxabi/test/catch_function_01.pass.cpp b/libcxxabi/test/catch_function_01.pass.cpp index 2978853..bbc94ad 100644 --- a/libcxxabi/test/catch_function_01.pass.cpp +++ b/libcxxabi/test/catch_function_01.pass.cpp @@ -13,10 +13,6 @@ // XFAIL: gcc // UNSUPPORTED: no-exceptions -// 65ace9daa360 made it in the dylib in macOS 10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include template diff --git a/libcxxabi/test/catch_member_data_pointer_01.pass.cpp b/libcxxabi/test/catch_member_data_pointer_01.pass.cpp index 4819969..5fe9d59 100644 --- a/libcxxabi/test/catch_member_data_pointer_01.pass.cpp +++ b/libcxxabi/test/catch_member_data_pointer_01.pass.cpp @@ -8,10 +8,6 @@ // UNSUPPORTED: no-exceptions -// 1b00fc5d8133 made it in the dylib in macOS 10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include struct A diff --git a/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp b/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp index 6ffb9ab..bbf1ecf 100644 --- a/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp +++ b/libcxxabi/test/catch_member_pointer_nullptr.pass.cpp @@ -6,13 +6,6 @@ // //===----------------------------------------------------------------------===// -// Catching an exception thrown as nullptr was not properly handled before -// 2f984cab4fa7, which landed in macOS 10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - // UNSUPPORTED: no-exceptions #include diff --git a/libcxxabi/test/catch_multi_level_pointer.pass.cpp b/libcxxabi/test/catch_multi_level_pointer.pass.cpp index 76a734d..895e611 100644 --- a/libcxxabi/test/catch_multi_level_pointer.pass.cpp +++ b/libcxxabi/test/catch_multi_level_pointer.pass.cpp @@ -8,10 +8,6 @@ // UNSUPPORTED: no-exceptions -// 1b00fc5d8133 made it in the dylib in macOS 10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include #include #include diff --git a/libcxxabi/test/catch_pointer_nullptr.pass.cpp b/libcxxabi/test/catch_pointer_nullptr.pass.cpp index 78b3454..6a8ed37 100644 --- a/libcxxabi/test/catch_pointer_nullptr.pass.cpp +++ b/libcxxabi/test/catch_pointer_nullptr.pass.cpp @@ -6,13 +6,6 @@ // //===----------------------------------------------------------------------===// -// Catching an exception thrown as nullptr was not properly handled before -// 2f984cab4fa7, which landed in macOS 10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - // UNSUPPORTED: c++03 // UNSUPPORTED: no-exceptions diff --git a/libcxxabi/test/catch_ptr_02.pass.cpp b/libcxxabi/test/catch_ptr_02.pass.cpp index ce4918e..a9914cc 100644 --- a/libcxxabi/test/catch_ptr_02.pass.cpp +++ b/libcxxabi/test/catch_ptr_02.pass.cpp @@ -14,9 +14,6 @@ // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. // ADDITIONAL_COMPILE_FLAGS: -Wno-error -// The fix for PR17222 made it in the dylib for macOS 10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include // Clang emits warnings about exceptions of type 'Child' being caught by diff --git a/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp b/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp index 17cf7c0a..84ba978 100644 --- a/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp +++ b/libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp @@ -8,14 +8,6 @@ // UNSUPPORTED: no-exceptions -// PR41395 isn't fixed until the dylib shipped with macOS 10.15 -// XFAIL: with_system_cxx_lib=macosx10.14 -// XFAIL: with_system_cxx_lib=macosx10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include "cxxabi.h" #include #include diff --git a/libcxxabi/test/dynamic_cast.pass.cpp b/libcxxabi/test/dynamic_cast.pass.cpp index 45701ca..49ecddb 100644 --- a/libcxxabi/test/dynamic_cast.pass.cpp +++ b/libcxxabi/test/dynamic_cast.pass.cpp @@ -6,16 +6,6 @@ // //===----------------------------------------------------------------------===// -// PR33425 and PR33487 are not fixed until the dylib shipped with macOS 10.15 -// XFAIL: with_system_cxx_lib=macosx10.14 - -// PR33439 isn't fixed until the dylib shipped with macOS 10.14 -// XFAIL: with_system_cxx_lib=macosx10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include // This test explicitly tests dynamic cast with types that have inaccessible diff --git a/libcxxabi/test/exception_object_alignment.pass.cpp b/libcxxabi/test/exception_object_alignment.pass.cpp index 2ff7448..011ba52 100644 --- a/libcxxabi/test/exception_object_alignment.pass.cpp +++ b/libcxxabi/test/exception_object_alignment.pass.cpp @@ -8,16 +8,6 @@ // UNSUPPORTED: no-exceptions -// The situation for the alignment of exception objects is badly messed up -// before macOS 10.14. The test fails on macOS 10.9 to 10.12, passes on macOS -// 10.13 (no investigation done), and passes afterwards. Just mark all the OSes -// before 10.14 as unsupported. -// UNSUPPORTED: with_system_cxx_lib=macosx10.13 -// UNSUPPORTED: with_system_cxx_lib=macosx10.12 -// UNSUPPORTED: with_system_cxx_lib=macosx10.11 -// UNSUPPORTED: with_system_cxx_lib=macosx10.10 -// UNSUPPORTED: with_system_cxx_lib=macosx10.9 - // Check that the pointer __cxa_allocate_exception returns is aligned to the // default alignment for the target architecture. diff --git a/libcxxabi/test/incomplete_type.sh.cpp b/libcxxabi/test/incomplete_type.sh.cpp index 33ef0e0..cbcf753 100644 --- a/libcxxabi/test/incomplete_type.sh.cpp +++ b/libcxxabi/test/incomplete_type.sh.cpp @@ -16,15 +16,13 @@ // UNSUPPORTED: no-exceptions // UNSUPPORTED: no-rtti -// The fix for PR25898 landed in the system dylibs in macOS 10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 +// NOTE: Link libc++abi explicitly and before libc++ so that libc++ doesn't drag +// in the system libc++abi installation on OS X. (DYLD_LIBRARY_PATH is ignored +// for shell tests because of Apple security features). // RUN: %{cxx} %{flags} %{compile_flags} -Wno-unreachable-code -c %s -o %t.one.o // RUN: %{cxx} %{flags} %{compile_flags} -Wno-unreachable-code -c %s -o %t.two.o -DTU_ONE -// RUN: %{cxx} %{flags} %{link_flags} %t.one.o %t.two.o -o %t.exe +// RUN: %{cxx} %{flags} %t.one.o %t.two.o %{link_libcxxabi} %{link_flags} -o %t.exe // RUN: %{exec} %t.exe #include diff --git a/libcxxabi/test/libcxxabi/test/config.py b/libcxxabi/test/libcxxabi/test/config.py index 280a60a..45fb0f5 100644 --- a/libcxxabi/test/libcxxabi/test/config.py +++ b/libcxxabi/test/libcxxabi/test/config.py @@ -18,7 +18,7 @@ class Configuration(LibcxxConfiguration): super(Configuration, self).__init__(lit_config, config) self.libcxxabi_src_root = None self.libcxxabi_obj_root = None - self.abi_library_root = None + self.abi_library_path = None self.libcxx_src_root = None def configure_src_root(self): diff --git a/libcxxabi/test/lit.site.cfg.in b/libcxxabi/test/lit.site.cfg.in index 1b7713e..87f955e 100644 --- a/libcxxabi/test/lit.site.cfg.in +++ b/libcxxabi/test/lit.site.cfg.in @@ -7,7 +7,7 @@ config.cxx_under_test = "@CMAKE_CXX_COMPILER@" config.project_obj_root = "@CMAKE_BINARY_DIR@" config.libcxxabi_src_root = "@LIBCXXABI_SOURCE_DIR@" config.libcxxabi_obj_root = "@LIBCXXABI_BINARY_DIR@" -config.abi_library_root = "@LIBCXXABI_LIBRARY_DIR@" +config.abi_library_path = "@LIBCXXABI_LIBRARY_DIR@" config.libcxx_src_root = "@LIBCXXABI_LIBCXX_PATH@" config.cxx_headers = "@LIBCXXABI_LIBCXX_INCLUDES@" config.libunwind_headers = "@LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL@" diff --git a/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp b/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp index 52ccce8..943ebe8 100644 --- a/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp +++ b/libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp @@ -8,15 +8,6 @@ // UNSUPPORTED: no-exceptions -// ___cxa_throw_bad_array_new_length is re-exported from libc++ only starting -// in macosx 10.15 -// XFAIL: with_system_cxx_lib=macosx10.14 -// XFAIL: with_system_cxx_lib=macosx10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include #include diff --git a/libcxxabi/test/test_demangle.pass.cpp b/libcxxabi/test/test_demangle.pass.cpp index 7ce0896..cbbccb1 100644 --- a/libcxxabi/test/test_demangle.pass.cpp +++ b/libcxxabi/test/test_demangle.pass.cpp @@ -6,15 +6,6 @@ // //===----------------------------------------------------------------------===// -// The demangler does not pass all these tests with the system dylibs on macOS. -// XFAIL: with_system_cxx_lib=macosx10.15 -// XFAIL: with_system_cxx_lib=macosx10.14 -// XFAIL: with_system_cxx_lib=macosx10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include "support/timer.h" #include #include diff --git a/libcxxabi/test/test_exception_address_alignment.pass.cpp b/libcxxabi/test/test_exception_address_alignment.pass.cpp index c72a5a2..1b7316b 100644 --- a/libcxxabi/test/test_exception_address_alignment.pass.cpp +++ b/libcxxabi/test/test_exception_address_alignment.pass.cpp @@ -11,11 +11,10 @@ // The header provided in the SDK of older Xcodes used to provide // an incorrectly aligned _Unwind_Exception type. That causes these tests to -// fail when linking against a libc++abi that was built with those SDKs. -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 +// fail with those SDKs. +// FIXME: We mark the test as unsupported on Apple until we have a Lit feature +// representing the SDK version. +// UNSUPPORTED: darwin // Test that the address of the exception object is properly aligned as required // by the relevant ABI diff --git a/libcxxabi/test/thread_local_destruction_order.pass.cpp b/libcxxabi/test/thread_local_destruction_order.pass.cpp index 7097f29..eeb90b8 100644 --- a/libcxxabi/test/thread_local_destruction_order.pass.cpp +++ b/libcxxabi/test/thread_local_destruction_order.pass.cpp @@ -6,6 +6,19 @@ // //===----------------------------------------------------------------------===// +// Darwin TLV finalization routines used to fail when creating a thread-local +// variable in the destructor for another thread-local variable: +// - http://lists.llvm.org/pipermail/cfe-dev/2016-November/051376.html +// - rdar://29523281 +// This was fixed in dyld in macos 10.15. +// +// XFAIL: macosx10.14 +// XFAIL: macosx10.13 +// XFAIL: macosx10.12 +// XFAIL: macosx10.11 +// XFAIL: macosx10.10 +// XFAIL: macosx10.9 + // UNSUPPORTED: c++03 // UNSUPPORTED: libcxxabi-no-threads diff --git a/libcxxabi/test/uncaught_exceptions.pass.cpp b/libcxxabi/test/uncaught_exceptions.pass.cpp index c3c1aac..3474e0c 100644 --- a/libcxxabi/test/uncaught_exceptions.pass.cpp +++ b/libcxxabi/test/uncaught_exceptions.pass.cpp @@ -8,14 +8,6 @@ // UNSUPPORTED: no-exceptions -// __cxa_uncaught_exceptions is not re-exported from libc++ until macOS 10.15. -// XFAIL: with_system_cxx_lib=macosx10.14 -// XFAIL: with_system_cxx_lib=macosx10.13 -// XFAIL: with_system_cxx_lib=macosx10.12 -// XFAIL: with_system_cxx_lib=macosx10.11 -// XFAIL: with_system_cxx_lib=macosx10.10 -// XFAIL: with_system_cxx_lib=macosx10.9 - #include #include diff --git a/libunwind/test/libunwind/test/config.py b/libunwind/test/libunwind/test/config.py index be2dcbd..9231860 100644 --- a/libunwind/test/libunwind/test/config.py +++ b/libunwind/test/libunwind/test/config.py @@ -17,7 +17,7 @@ class Configuration(LibcxxConfiguration): super(Configuration, self).__init__(lit_config, config) self.libunwind_src_root = None self.libunwind_obj_root = None - self.abi_library_root = None + self.abi_library_path = None self.libcxx_src_root = None def configure_src_root(self): diff --git a/libunwind/test/lit.site.cfg.in b/libunwind/test/lit.site.cfg.in index cb2e087..8ff770f 100644 --- a/libunwind/test/lit.site.cfg.in +++ b/libunwind/test/lit.site.cfg.in @@ -7,7 +7,7 @@ config.cxx_under_test = "@CMAKE_CXX_COMPILER@" config.project_obj_root = "@CMAKE_BINARY_DIR@" config.libunwind_src_root = "@LIBUNWIND_SOURCE_DIR@" config.libunwind_obj_root = "@LIBUNWIND_BINARY_DIR@" -config.abi_library_root = "@LIBUNWIND_LIBRARY_DIR@" +config.abi_library_path = "@LIBUNWIND_LIBRARY_DIR@" config.libcxx_src_root = "@LIBUNWIND_LIBCXX_PATH@" config.libunwind_headers = "@LIBUNWIND_SOURCE_DIR@/include" config.cxx_library_root = "@LIBUNWIND_LIBCXX_LIBRARY_PATH@" -- 2.7.4