staticanalysis / data-race-test

Automatically exported from code.google.com/p/data-race-test
0 stars 0 forks source link

pin-linux does not intercept strlen #54

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
Suppressed by r2641

Original comment by konstant...@gmail.com on 16 Nov 2010 at 4:03