[compiler-rt] r235703 - [Msan] Fix the backtrace.cc tests to build and pass on FreeBSD

Viktor Kutuzov vkutuzov at accesssoftek.com
Fri Apr 24 00:52:48 PDT 2015


Author: vkutuzov
Date: Fri Apr 24 02:52:47 2015
New Revision: 235703

URL: http://llvm.org/viewvc/llvm-project?rev=235703&view=rev
Log:
[Msan] Fix the backtrace.cc tests to build and pass on FreeBSD
Differential Revision: http://reviews.llvm.org/D9221

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
    compiler-rt/trunk/test/msan/backtrace.cc
    compiler-rt/trunk/test/msan/lit.cfg

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h?rev=235703&r1=235702&r2=235703&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h Fri Apr 24 02:52:47 2015
@@ -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

Modified: compiler-rt/trunk/test/msan/backtrace.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/backtrace.cc?rev=235703&r1=235702&r2=235703&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/backtrace.cc (original)
+++ compiler-rt/trunk/test/msan/backtrace.cc Fri Apr 24 02:52:47 2015
@@ -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) {

Modified: compiler-rt/trunk/test/msan/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/lit.cfg?rev=235703&r1=235702&r2=235703&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/lit.cfg (original)
+++ compiler-rt/trunk/test/msan/lit.cfg Fri Apr 24 02:52:47 2015
@@ -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):





More information about the llvm-commits mailing list