This is caused by the lack of support of IFUNC symbols in PIN.
See http://tech.groups.yahoo.com/group/pinheads/message/5599
You can see it e.g. like this:
./tsan_pin_debug.sh ../unittest/bin/racecheck_unittest-linux-amd64-O0 --gtest_filter=NegativeTests.StrlenAndFriends
==11291== WARNING: Possible data race during read of size 1 at 0xd79ed45: {{{
==11291== T2 (L{}):
==11291== #0 strerror_r /lib/libc.so.6
==11291== #1 NegativeTests_Strlen::WorkerX()
/home/kcc/drt/trunk/unittest/racecheck_unittest.cc:3085
==11291== #2 MyThread::ThreadBody(MyThread*)
/home/kcc/drt/trunk/unittest/thread_wrappers_pthread.h:330
==11291== #3 start_thread /lib/libpthread.so.0
==11291== Concurrent write(s) happened at (OR AFTER) these points:
==11291== T1 (L{}):
==11291== #0 NegativeTests_Strlen::WorkerY()
/home/kcc/drt/trunk/unittest/racecheck_unittest.cc:3111
==11291== #1 MyThread::ThreadBody(MyThread*)
/home/kcc/drt/trunk/unittest/thread_wrappers_pthread.h:330
==11291== #2 start_thread /lib/libpthread.so.0
...
==11291== }}}
Original issue reported on code.google.com by konstant...@gmail.com on 16 Nov 2010 at 3:34
Original issue reported on code.google.com by
konstant...@gmail.com
on 16 Nov 2010 at 3:34