[llvm-commits] [compiler-rt] r167456 - /compiler-rt/trunk/lib/tsan/go/buildgo.sh

Dmitry Vyukov dvyukov at google.com
Tue Nov 6 05:32:53 PST 2012


Author: dvyukov
Date: Tue Nov  6 07:32:53 2012
New Revision: 167456

URL: http://llvm.org/viewvc/llvm-project?rev=167456&view=rev
Log:
tsan: update script to support windows

Modified:
    compiler-rt/trunk/lib/tsan/go/buildgo.sh

Modified: compiler-rt/trunk/lib/tsan/go/buildgo.sh
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/go/buildgo.sh?rev=167456&r1=167455&r2=167456&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/go/buildgo.sh (original)
+++ compiler-rt/trunk/lib/tsan/go/buildgo.sh Tue Nov  6 07:32:53 2012
@@ -1,17 +1,6 @@
 #!/bin/bash
 set -e
 
-if [ "`uname -a | grep Linux`" != "" ]; then
-	LINUX=1
-	SUFFIX="linux_amd64"
-elif [ "`uname -a | grep Darwin`" != "" ]; then
-	MAC=1
-	SUFFIX="darwin_amd64"
-else
-	echo Unknown platform
-	exit 1
-fi
-
 SRCS="
 	tsan_go.cc
 	../rtl/tsan_clock.cc
@@ -30,47 +19,59 @@
 	../../sanitizer_common/sanitizer_common.cc
 	../../sanitizer_common/sanitizer_flags.cc
 	../../sanitizer_common/sanitizer_libc.cc
-	../../sanitizer_common/sanitizer_posix.cc
 	../../sanitizer_common/sanitizer_printf.cc
 "
 
-if [ "$LINUX" != "" ]; then
+if [ "`uname -a | grep Linux`" != "" ]; then
+	SUFFIX="linux_amd64"
+	OSCFLAGS="-fPIC -ffreestanding"
+	OSLDFLAGS="-lpthread"
 	SRCS+="
 		../rtl/tsan_platform_linux.cc
+		../../sanitizer_common/sanitizer_posix.cc
 		../../sanitizer_common/sanitizer_linux.cc
 	"
-elif [ "$MAC" != "" ]; then
+elif [ "`uname -a | grep Darwin`" != "" ]; then
+	SUFFIX="darwin_amd64"
+	OSCFLAGS="-fPIC"
+	OSLDFLAGS="-lpthread"
 	SRCS+="
 		../rtl/tsan_platform_mac.cc
+		../../sanitizer_common/sanitizer_posix.cc
 		../../sanitizer_common/sanitizer_mac.cc
 	"
+elif [ "`uname -a | grep MINGW`" != "" ]; then
+	SUFFIX="windows_amd64"
+	OSCFLAGS="-Wno-error=attributes -Wno-attributes"
+	OSLDFLAGS=""
+	SRCS+="
+		../rtl/tsan_platform_windows.cc
+		../../sanitizer_common/sanitizer_win.cc
+	"
+else
+	echo Unknown platform
+	exit 1
 fi
 
 SRCS+=$ADD_SRCS
-#ASMS="../rtl/tsan_rtl_amd64.S"
 
 rm -f gotsan.cc
 for F in $SRCS; do
 	cat $F >> gotsan.cc
 done
 
-FLAGS=" -I../rtl -I../.. -I../../sanitizer_common -I../../../include -fPIC -Wall -Werror -fno-exceptions -DTSAN_GO -DSANITIZER_GO -DTSAN_SHADOW_COUNT=4"
+FLAGS=" -I../rtl -I../.. -I../../sanitizer_common -I../../../include -m64 -Wall -Werror -fno-exceptions -DTSAN_GO -DSANITIZER_GO -DTSAN_SHADOW_COUNT=4 $OSCFLAGS"
 if [ "$DEBUG" == "" ]; then
 	FLAGS+=" -DTSAN_DEBUG=0 -O3 -fomit-frame-pointer"
 else
 	FLAGS+=" -DTSAN_DEBUG=1 -g"
 fi
 
-if [ "$LINUX" != "" ]; then
-	FLAGS+=" -ffreestanding"
-fi
-
 echo gcc gotsan.cc -S -o tmp.s $FLAGS $CFLAGS
 gcc gotsan.cc -S -o tmp.s $FLAGS $CFLAGS
 cat tmp.s $ASMS > gotsan.s
 echo as gotsan.s -o race_$SUFFIX.syso
 as gotsan.s -o race_$SUFFIX.syso
 
-gcc test.c race_$SUFFIX.syso -lpthread -o test
+gcc test.c race_$SUFFIX.syso -m64 -o test $OSLDFLAGS
 TSAN_OPTIONS="exitcode=0" ./test
-





More information about the llvm-commits mailing list