My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
BuildingThreadSanitizer  
Build instructions for ThreadSanitizer
Updated Aug 12, 2011 by timurrrr

Valgrind-based version

ThreadSanitizer is not a part of the official valgrind distribution, so you will have to download valgrind and ThreadSanitizer separately. You will also have to apply a small patch to valgrind.

To build both 32-bit and 64-bit versions of ThreadSanitizer on Ubuntu Lucid 64-bit, you will need to first install several additional packages:

apt-get install automake libc6-dev-i386 g++-multilib

Then, just run the ./get_and_build_tsan.sh script in your terminal window.

wget http://data-race-test.googlecode.com/svn/trunk/tsan/get_and_build_tsan.sh  && \
  chmod +x ./get_and_build_tsan.sh && \
  ./get_and_build_tsan.sh `pwd`/tsan_inst_tmp

Note: valgrind crashes if linked using gold (see bug)

valgrind: mmap(0x400000, 241664) failed in UME with error 22 (Invalid argument).
valgrind: this can be caused by executables with very large text, data or bss segments.

Please make sure you don't use gold as a linker before building ThreadSanitizer.

Comment by alkondratenko, Nov 6, 2010

Building on i386 linux doesn't work, because uname -m actually returns 'i686' on any more or less modern machine. This is easy to fix by replacing i386 on i686 in build script.


Sign in to add a comment
Powered by Google Project Hosting