From: Viktor Kutuzov Date: Fri, 24 Apr 2015 07:52:47 +0000 (+0000) Subject: [Msan] Fix the backtrace.cc tests to build and pass on FreeBSD X-Git-Tag: llvmorg-3.7.0-rc1~6080 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e15144ba13cbdf8d7c5a7f170d2cbed529989e6;p=platform%2Fupstream%2Fllvm.git [Msan] Fix the backtrace.cc tests to build and pass on FreeBSD Differential Revision: http://reviews.llvm.org/D9221 llvm-svn: 235703 --- diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h index 438ecba..bdd9af5 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h @@ -161,7 +161,7 @@ SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID #define SANITIZER_INTERCEPT_SIGPENDING SI_NOT_WINDOWS #define SANITIZER_INTERCEPT_SIGPROCMASK SI_NOT_WINDOWS -#define SANITIZER_INTERCEPT_BACKTRACE SI_LINUX_NOT_ANDROID +#define SANITIZER_INTERCEPT_BACKTRACE SI_FREEBSD || SI_LINUX_NOT_ANDROID #define SANITIZER_INTERCEPT_GETMNTENT SI_LINUX #define SANITIZER_INTERCEPT_GETMNTENT_R SI_LINUX_NOT_ANDROID #define SANITIZER_INTERCEPT_STATFS SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID diff --git a/compiler-rt/test/msan/backtrace.cc b/compiler-rt/test/msan/backtrace.cc index b6cfcbe..9cb883c 100644 --- a/compiler-rt/test/msan/backtrace.cc +++ b/compiler-rt/test/msan/backtrace.cc @@ -17,7 +17,7 @@ void f() { char **s = backtrace_symbols(buf, sz); assert(s > 0); for (int i = 0; i < sz; ++i) - printf("%d\n", strlen(s[i])); + printf("%d\n", (int)strlen(s[i])); } int main(void) { diff --git a/compiler-rt/test/msan/lit.cfg b/compiler-rt/test/msan/lit.cfg index f425e25..011ccd2 100644 --- a/compiler-rt/test/msan/lit.cfg +++ b/compiler-rt/test/msan/lit.cfg @@ -14,6 +14,9 @@ clang_msan_cflags = ["-fsanitize=memory", "-fno-omit-frame-pointer", "-fno-optimize-sibling-calls", "-m64"] + config.debug_info_flags +# Some Msan tests leverage backtrace() which requires libexecinfo on FreeBSD. +if config.host_os == 'FreeBSD': + clang_msan_cflags += ["-lexecinfo"] clang_msan_cxxflags = config.cxx_mode_flags + clang_msan_cflags def build_invocation(compile_flags):