automatic:
- exit_status: -1 # Agent was lost
limit: 2
+ soft_fail:
+ - exit_status: 1
timeout_in_minutes: 120
- label: "Single-threaded"
'-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}', ''))
'-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}', ''))
// REQUIRES: linux
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
// Basic test for _Unwind_ForcedUnwind.
// See libcxxabi/test/forced_unwind* tests too.
-// 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"
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
// TODO: Investigate these failures on x86_64 macOS back deployment
// UNSUPPORTED: target=x86_64-apple-darwin{{.+}}
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
#include <assert.h>
#include <stdlib.h>
#include <unwind.h>
# RUN: %{build}
# RUN: %{run}
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
// TODO: Investigate this failure
// XFAIL: 32bits-on-64bits
// 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{{.+}}
// 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 <assert.h>
#include <dlfcn.h>
#include <signal.h>
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
#include <assert.h>
#include <libunwind.h>
// Ensure that leaf function can be unwund.
// REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}})
-// TODO: Investigate these failures
-// XFAIL: asan, tsan, ubsan
-
#include <assert.h>
#include <dlfcn.h>
#include <signal.h>
_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
+}