summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-05-11 14:42:24 +0000
committerKostya Serebryany <kcc@google.com>2012-05-11 14:42:24 +0000
commit07c48051753fca58156a5f0421836350bc6e5de8 (patch)
treeff6846414eb9faeee8ff553a016719fe200b1f33
parent09de6ae399b91c0a7c3b33a99edc7b918eef1785 (diff)
downloadbcm5719-llvm-07c48051753fca58156a5f0421836350bc6e5de8.tar.gz
bcm5719-llvm-07c48051753fca58156a5f0421836350bc6e5de8.zip
[tsan] run more kinds of builds as presubmit test (and fix gcc debug build)
llvm-svn: 156616
-rw-r--r--compiler-rt/lib/tsan/Makefile.old11
-rw-r--r--compiler-rt/lib/tsan/rtl/Makefile.old9
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_clock.h10
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_defs.h2
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_rtl.h4
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc4
6 files changed, 24 insertions, 16 deletions
diff --git a/compiler-rt/lib/tsan/Makefile.old b/compiler-rt/lib/tsan/Makefile.old
index 7506396da8f..642cd60287c 100644
--- a/compiler-rt/lib/tsan/Makefile.old
+++ b/compiler-rt/lib/tsan/Makefile.old
@@ -50,18 +50,23 @@ test: $(LIBTSAN) tsan_test
run: all
(ulimit -s 8192; ./tsan_test)
+ ./output_tests/test_output.sh
presubmit:
$(MAKE) -f Makefile.old lint -j 4
# Debug build with clang.
$(MAKE) -f Makefile.old clean
$(MAKE) -f Makefile.old run DEBUG=1 -j 16 CC=clang CXX=clang++
- ./output_tests/test_output.sh
- # Release build gcc
+ # Release build with clang.
+ $(MAKE) -f Makefile.old clean
+ $(MAKE) -f Makefile.old run DEBUG=0 -j 16 CC=clang CXX=clang++
+ # Debug build with gcc
+ $(MAKE) -f Makefile.old clean
+ $(MAKE) -f Makefile.old run DEBUG=1 -j 16 CC=gcc CXX=g++
+ # Release build with gcc
$(MAKE) -f Makefile.old clean
$(MAKE) -f Makefile.old run DEBUG=0 -j 16 CC=gcc CXX=g++
./check_analyze.sh
- ./output_tests/test_output.sh
@ echo PRESUBMIT PASSED
RTL_LINT_FITLER=-legal/copyright,-build/include,-readability/casting,-build/header_guard
diff --git a/compiler-rt/lib/tsan/rtl/Makefile.old b/compiler-rt/lib/tsan/rtl/Makefile.old
index 220e6fbc70f..b826a75f291 100644
--- a/compiler-rt/lib/tsan/rtl/Makefile.old
+++ b/compiler-rt/lib/tsan/rtl/Makefile.old
@@ -10,15 +10,18 @@ NO_SYSROOT=--sysroot=.
CXXFLAGS+=$(EXTRA_CXXFLAGS)
ifeq ($(DEBUG), 0)
CXXFLAGS+=-fomit-frame-pointer
-endif
+ifeq ($(CXX), g++)
+ CXXFLAGS+=-Wframe-larger-than=512
+endif # CXX=g++
+endif # DEBUG=0
+
ifeq ($(CXX), clang++)
# Global constructors are banned.
CXXFLAGS+=-Wglobal-constructors
-else
- CXXFLAGS+=-Wframe-larger-than=512
endif
+
all: libtsan.a
LIBTSAN_HEADERS=tsan_allocator.h \
diff --git a/compiler-rt/lib/tsan/rtl/tsan_clock.h b/compiler-rt/lib/tsan/rtl/tsan_clock.h
index c4f8194479f..97e20a84992 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_clock.h
+++ b/compiler-rt/lib/tsan/rtl/tsan_clock.h
@@ -41,23 +41,23 @@ struct ThreadClock {
public:
ThreadClock();
- u64 get(int tid) const {
+ u64 get(unsigned tid) const {
DCHECK(tid < kMaxTid);
return clk_[tid];
}
- void set(int tid, u64 v) {
+ void set(unsigned tid, u64 v) {
DCHECK(tid < kMaxTid);
DCHECK(v >= clk_[tid]);
clk_[tid] = v;
- if ((int)nclk_ <= tid)
+ if (nclk_ <= tid)
nclk_ = tid + 1;
}
- void tick(int tid) {
+ void tick(unsigned tid) {
DCHECK(tid < kMaxTid);
clk_[tid]++;
- if ((int)nclk_ <= tid)
+ if (nclk_ <= tid)
nclk_ = tid + 1;
}
diff --git a/compiler-rt/lib/tsan/rtl/tsan_defs.h b/compiler-rt/lib/tsan/rtl/tsan_defs.h
index d2088d5f32e..77c26b4f5f1 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_defs.h
+++ b/compiler-rt/lib/tsan/rtl/tsan_defs.h
@@ -30,7 +30,7 @@ typedef unsigned long uptr; // NOLINT
const uptr kPageSize = 4096;
const int kTidBits = 16;
-const int kMaxTid = 1 << kTidBits;
+const unsigned kMaxTid = 1 << kTidBits;
const int kClkBits = 40;
#ifdef TSAN_SHADOW_COUNT
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.h b/compiler-rt/lib/tsan/rtl/tsan_rtl.h
index 11179045cdc..a5bdd524cb6 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.h
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.h
@@ -307,8 +307,8 @@ struct Context {
int nmissed_expected;
Mutex thread_mtx;
- int thread_seq;
- int unique_thread_seq;
+ unsigned thread_seq;
+ unsigned unique_thread_seq;
int alive_threads;
int max_alive_threads;
ThreadContext *threads[kMaxTid];
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc b/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc
index b8748264206..b444077fd24 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc
@@ -40,7 +40,7 @@ void ThreadFinalize(ThreadState *thr) {
return;
Context *ctx = CTX();
Lock l(&ctx->thread_mtx);
- for (int i = 0; i < kMaxTid; i++) {
+ for (unsigned i = 0; i < kMaxTid; i++) {
ThreadContext *tctx = ctx->threads[i];
if (tctx == 0)
continue;
@@ -230,7 +230,7 @@ int ThreadTid(ThreadState *thr, uptr pc, uptr uid) {
CHECK_GT(thr->in_rtl, 0);
DPrintf("#%d: ThreadTid uid=%lu\n", thr->tid, uid);
Lock l(&CTX()->thread_mtx);
- for (int tid = 0; tid < kMaxTid; tid++) {
+ for (unsigned tid = 0; tid < kMaxTid; tid++) {
if (CTX()->threads[tid] != 0
&& CTX()->threads[tid]->user_id == uid
&& CTX()->threads[tid]->status != ThreadStatusInvalid)
OpenPOWER on IntegriCloud