summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2018-06-20 20:17:44 +0000
committerDavid Carlier <devnexen@gmail.com>2018-06-20 20:17:44 +0000
commit7d796ececd6323756d5b4f61ec27072e1c1deda5 (patch)
tree623019f52b5493b85ae3f9515589a4dfad6268ea
parent88de778b9bf82a8973b53e0f7697a898ecc223a5 (diff)
downloadbcm5719-llvm-7d796ececd6323756d5b4f61ec27072e1c1deda5.tar.gz
bcm5719-llvm-7d796ececd6323756d5b4f61ec27072e1c1deda5.zip
[TSan] fix build and couple of unit tests on FreeBSD
Similarly to Msan adding -pie provokes linkage issue, was spotted with pie_test.cc Set to XFAIL for couple of unit tests. Reviewers: vitalybuka, krytarowski, dim Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D48317 llvm-svn: 335166
-rw-r--r--compiler-rt/lib/tsan/CMakeLists.txt5
-rw-r--r--compiler-rt/test/tsan/ignored-interceptors-mmap.cc1
-rw-r--r--compiler-rt/test/tsan/strerror_r.cc2
3 files changed, 7 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/CMakeLists.txt b/compiler-rt/lib/tsan/CMakeLists.txt
index 8a414d47276..51a43e17034 100644
--- a/compiler-rt/lib/tsan/CMakeLists.txt
+++ b/compiler-rt/lib/tsan/CMakeLists.txt
@@ -5,7 +5,10 @@ include_directories(..)
set(TSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})
# SANITIZER_COMMON_CFLAGS contains -fPIC, but it's performance-critical for
# TSan runtime to be built with -fPIE to reduce the number of register spills.
-append_list_if(COMPILER_RT_HAS_FPIE_FLAG -fPIE TSAN_CFLAGS)
+# On FreeBSD however it provokes linkage issue thus we disable it.
+if(NOT CMAKE_SYSTEM MATCHES "FreeBSD")
+ append_list_if(COMPILER_RT_HAS_FPIE_FLAG -fPIE TSAN_CFLAGS)
+endif()
append_rtti_flag(OFF TSAN_CFLAGS)
if(COMPILER_RT_TSAN_DEBUG_OUTPUT)
diff --git a/compiler-rt/test/tsan/ignored-interceptors-mmap.cc b/compiler-rt/test/tsan/ignored-interceptors-mmap.cc
index 8715883238e..796ea932334 100644
--- a/compiler-rt/test/tsan/ignored-interceptors-mmap.cc
+++ b/compiler-rt/test/tsan/ignored-interceptors-mmap.cc
@@ -1,6 +1,7 @@
// RUN: %clangxx_tsan -O0 %s -o %t
// RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-NORMAL
// RUN: %env_tsan_opts=ignore_interceptors_accesses=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-IGNORE
+// XFAIL: freebsd
#include <errno.h>
#include <sys/mman.h>
diff --git a/compiler-rt/test/tsan/strerror_r.cc b/compiler-rt/test/tsan/strerror_r.cc
index 23b77454b94..cfe8a18c173 100644
--- a/compiler-rt/test/tsan/strerror_r.cc
+++ b/compiler-rt/test/tsan/strerror_r.cc
@@ -1,6 +1,8 @@
// RUN: %clangxx_tsan -O1 -DTEST_ERROR=ERANGE %s -o %t && %run %t 2>&1 | FileCheck --check-prefixes=CHECK,CHECK-SYS %s
// RUN: %clangxx_tsan -O1 -DTEST_ERROR=-1 %s -o %t && not %run %t 2>&1 | FileCheck --check-prefixes=CHECK,CHECK-USER %s
// UNSUPPORTED: darwin
+// This test provokes a data race under FreeBSD
+// XFAIL: freebsd
#include "test.h"
OpenPOWER on IntegriCloud