diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -385,6 +385,8 @@ automatic: - exit_status: -1 # Agent was lost limit: 2 + soft_fail: + - exit_status: 1 timeout_in_minutes: 120 - label: "Single-threaded" diff --git a/libunwind/test/configs/llvm-libunwind-shared.cfg.in b/libunwind/test/configs/llvm-libunwind-shared.cfg.in --- a/libunwind/test/configs/llvm-libunwind-shared.cfg.in +++ b/libunwind/test/configs/llvm-libunwind-shared.cfg.in @@ -47,7 +47,7 @@ '-nostdinc++ -I {}/include {}'.format('@LIBUNWIND_SOURCE_DIR@', ' '.join(compile_flags)) )) config.substitutions.append(('%{link_flags}', - '-nodefaultlibs -L {0} -Wl,-rpath,{0} -lunwind -ldl -lc {1}'.format('@LIBUNWIND_LIBRARY_DIR@', ' '.join(link_flags)) + '-L {0} -Wl,-rpath,{0} -lunwind -ldl {1}'.format('@LIBUNWIND_LIBRARY_DIR@', ' '.join(link_flags)) )) config.substitutions.append(('%{exec}', '')) diff --git a/libunwind/test/configs/llvm-libunwind-static.cfg.in b/libunwind/test/configs/llvm-libunwind-static.cfg.in --- a/libunwind/test/configs/llvm-libunwind-static.cfg.in +++ b/libunwind/test/configs/llvm-libunwind-static.cfg.in @@ -49,7 +49,7 @@ '-nostdinc++ -I {}/include {}'.format('@LIBUNWIND_SOURCE_DIR@', ' '.join(compile_flags)) )) config.substitutions.append(('%{link_flags}', - '-nodefaultlibs {}/libunwind.a -ldl -lc {}'.format('@LIBUNWIND_LIBRARY_DIR@', ' '.join(link_flags)) + '{}/libunwind.a -ldl {}'.format('@LIBUNWIND_LIBRARY_DIR@', ' '.join(link_flags)) )) config.substitutions.append(('%{exec}', '')) diff --git a/libunwind/test/forceunwind.pass.cpp b/libunwind/test/forceunwind.pass.cpp --- a/libunwind/test/forceunwind.pass.cpp +++ b/libunwind/test/forceunwind.pass.cpp @@ -9,9 +9,6 @@ // REQUIRES: linux -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - // Basic test for _Unwind_ForcedUnwind. // See libcxxabi/test/forced_unwind* tests too. diff --git a/libunwind/test/frameheadercache_test.pass.cpp b/libunwind/test/frameheadercache_test.pass.cpp --- a/libunwind/test/frameheadercache_test.pass.cpp +++ b/libunwind/test/frameheadercache_test.pass.cpp @@ -1,6 +1,3 @@ -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - // The other libunwind tests don't test internal interfaces, so the include path // is a little wonky. #include "../src/config.h" 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,6 +1,3 @@ -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - // TODO: Investigate these failures on x86_64 macOS back deployment // UNSUPPORTED: target=x86_64-apple-darwin{{.+}} diff --git a/libunwind/test/libunwind_02.pass.cpp b/libunwind/test/libunwind_02.pass.cpp --- a/libunwind/test/libunwind_02.pass.cpp +++ b/libunwind/test/libunwind_02.pass.cpp @@ -1,6 +1,3 @@ -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - #include #include #include diff --git a/libunwind/test/remember_state_leak.pass.sh.s b/libunwind/test/remember_state_leak.pass.sh.s --- a/libunwind/test/remember_state_leak.pass.sh.s +++ b/libunwind/test/remember_state_leak.pass.sh.s @@ -2,9 +2,6 @@ # RUN: %{build} # RUN: %{run} -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - // TODO: Investigate this failure // XFAIL: 32bits-on-64bits diff --git a/libunwind/test/signal_frame.pass.cpp b/libunwind/test/signal_frame.pass.cpp --- a/libunwind/test/signal_frame.pass.cpp +++ b/libunwind/test/signal_frame.pass.cpp @@ -9,9 +9,6 @@ // Ensure that functions marked as signal frames are reported as such. -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - // TODO: Investigate this failure on macOS // XFAIL: target={{.+}}-apple-darwin{{.+}} diff --git a/libunwind/test/signal_unwind.pass.cpp b/libunwind/test/signal_unwind.pass.cpp --- a/libunwind/test/signal_unwind.pass.cpp +++ b/libunwind/test/signal_unwind.pass.cpp @@ -10,9 +10,6 @@ // Ensure that the unwinder can cope with the signal handler. // REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}}) -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - #include #include #include diff --git a/libunwind/test/unw_getcontext.pass.cpp b/libunwind/test/unw_getcontext.pass.cpp --- a/libunwind/test/unw_getcontext.pass.cpp +++ b/libunwind/test/unw_getcontext.pass.cpp @@ -1,6 +1,3 @@ -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - #include #include diff --git a/libunwind/test/unwind_leaffunction.pass.cpp b/libunwind/test/unwind_leaffunction.pass.cpp --- a/libunwind/test/unwind_leaffunction.pass.cpp +++ b/libunwind/test/unwind_leaffunction.pass.cpp @@ -10,9 +10,6 @@ // Ensure that leaf function can be unwund. // REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}}) -// TODO: Investigate these failures -// XFAIL: asan, tsan, ubsan - #include #include #include @@ -41,14 +38,12 @@ _Exit(-1); } -int* faultyPointer = NULL; - __attribute__((noinline)) void crashing_leaf_func(void) { - *faultyPointer = 0; + raise(SIGSEGV); } int main(int, char**) { signal(SIGSEGV, signal_handler); crashing_leaf_func(); return -2; -} \ No newline at end of file +}