[compiler-rt] r219478 - [Tsan] Make the user_fopen.cc and user_malloc.cc tests Linux-specific
Viktor Kutuzov
vkutuzov at accesssoftek.com
Thu Oct 9 23:55:18 PDT 2014
Author: vkutuzov
Date: Fri Oct 10 01:55:17 2014
New Revision: 219478
URL: http://llvm.org/viewvc/llvm-project?rev=219478&view=rev
Log:
[Tsan] Make the user_fopen.cc and user_malloc.cc tests Linux-specific
Differential Revision: http://reviews.llvm.org/D5670
Added:
compiler-rt/trunk/test/tsan/Linux/
compiler-rt/trunk/test/tsan/Linux/lit.local.cfg
compiler-rt/trunk/test/tsan/Linux/user_fopen.cc
- copied unchanged from r219475, compiler-rt/trunk/test/tsan/user_fopen.cc
compiler-rt/trunk/test/tsan/Linux/user_malloc.cc
- copied unchanged from r219475, compiler-rt/trunk/test/tsan/user_malloc.cc
Removed:
compiler-rt/trunk/test/tsan/user_fopen.cc
compiler-rt/trunk/test/tsan/user_malloc.cc
Added: compiler-rt/trunk/test/tsan/Linux/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/Linux/lit.local.cfg?rev=219478&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/Linux/lit.local.cfg (added)
+++ compiler-rt/trunk/test/tsan/Linux/lit.local.cfg Fri Oct 10 01:55:17 2014
@@ -0,0 +1,9 @@
+def getRoot(config):
+ if not config.parent:
+ return config
+ return getRoot(config.parent)
+
+root = getRoot(config)
+
+if root.host_os not in ['Linux']:
+ config.unsupported = True
Removed: compiler-rt/trunk/test/tsan/user_fopen.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/user_fopen.cc?rev=219477&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/user_fopen.cc (original)
+++ compiler-rt/trunk/test/tsan/user_fopen.cc (removed)
@@ -1,34 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-#include <stdio.h>
-#include <stdlib.h>
-
-// defined by tsan.
-extern "C" FILE *__interceptor_fopen(const char *file, const char *mode);
-extern "C" int __interceptor_fileno(FILE *f);
-
-extern "C" FILE *fopen(const char *file, const char *mode) {
- static int first = 0;
- if (__sync_lock_test_and_set(&first, 1) == 0)
- printf("user fopen\n");
- return __interceptor_fopen(file, mode);
-}
-
-extern "C" int fileno(FILE *f) {
- static int first = 0;
- if (__sync_lock_test_and_set(&first, 1) == 0)
- printf("user fileno\n");
- return 1;
-}
-
-int main() {
- FILE *f = fopen("/dev/zero", "r");
- if (f) {
- char buf;
- fread(&buf, 1, 1, f);
- fclose(f);
- }
-}
-
-// CHECK: user fopen
-// CHECK-NOT: ThreadSanitizer
-
Removed: compiler-rt/trunk/test/tsan/user_malloc.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/user_malloc.cc?rev=219477&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/user_malloc.cc (original)
+++ compiler-rt/trunk/test/tsan/user_malloc.cc (removed)
@@ -1,27 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-#include <stdio.h>
-
-// defined by tsan.
-extern "C" void *__interceptor_malloc(unsigned long size);
-extern "C" void __interceptor_free(void *p);
-
-extern "C" void *malloc(unsigned long size) {
- static int first = 0;
- if (__sync_lock_test_and_set(&first, 1) == 0)
- printf("user malloc\n");
- return __interceptor_malloc(size);
-}
-
-extern "C" void free(void *p) {
- __interceptor_free(p);
-}
-
-int main() {
- volatile char *p = (char*)malloc(10);
- p[0] = 0;
- free((void*)p);
-}
-
-// CHECK: user malloc
-// CHECK-NOT: ThreadSanitizer
-
More information about the llvm-commits
mailing list