From: Julian Seward Date: Fri, 9 Nov 2007 22:50:55 +0000 (+0000) Subject: Suppressions for (new) Helgrind. X-Git-Tag: svn/VALGRIND_3_3_0~172 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=44d239943d3c3ebc538b7dc770d77e1c4f2b7eb7;p=thirdparty%2Fvalgrind.git Suppressions for (new) Helgrind. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7117 --- diff --git a/glibc-2.X-helgrind.supp b/glibc-2.X-helgrind.supp new file mode 100644 index 0000000000..f6e22f8c85 --- /dev/null +++ b/glibc-2.X-helgrind.supp @@ -0,0 +1,336 @@ + +##----------------------------------------------------------------------## +# Suppressions for the Helgrind tool when using +# a glibc-2.{2,3,4,5,6} system + +######------------ glibc-2.5 specific ------------###### +# +## NB. This is the "reference set". Derived sets for +## glibc 2.4, 2.3 and 2.6 follow below. +{ + helgrind-glibc25-001 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/ld-2.5.so + obj:/lib*/ld-2.5.so +} +{ + helgrind-glibc25-002 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/libc-2.5.so + obj:/lib*/ld-2.5.so +} +{ + helgrind-glibc25-003 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/libc-2.5.so + obj:/lib*/libc-2.5.so +} +{ + helgrind-glibc25-004 + Helgrind:Race + obj:/lib*/libc-2.5.so + obj:/lib*/libc-2.5.so +} +{ + helgrind-glibc25-005 + Helgrind:Race + obj:/lib*/libpthread-2.5.so + obj:/lib*/libpthread-2.5.so + obj:/lib*/libpthread-2.5.so +} +{ + helgrind-glibc25-006 + Helgrind:Race + obj:/lib*/libpthread-2.5.so + obj:/lib*/libpthread-2.5.so + obj:/lib*/libc-2.5.so +} +{ + helgrind-glibc25-007 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/libc-2.5.so + obj:/lib*/libdl-2.5.so +} +{ + helgrind-glibc25-008 + Helgrind:Race + obj:/lib*/libpthread-2.5.so + obj:/lib*/libc-2.5.so +} +{ + helgrind-glibc25-009 + Helgrind:Race + obj:/lib*/libc-2.5.so + fun:* + obj:/lib*/libc-2.5.so +} +{ + helgrind-glibc25-010 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/libpthread-2.5.so +} +{ + helgrind-glibc25-011 + Helgrind:Race + obj:/lib*/libc-2.5.so + obj:/lib*/libpthread-2.5.so +} +{ + helgrind-glibc25-013 + Helgrind:Race + obj:/lib*/ld-2.5.so + fun:* + obj:/lib*/ld-2.5.so +} +{ + helgrind-glibc25-014 + Helgrind:Race + obj:/lib*/ld-2.5.so + obj:/lib*/ld-2.5.so + obj:/lib*/libpthread-2.5.so +} + +# These are very ugly. They are needed to suppress errors inside (eg) +# NPTL's pthread_cond_signal. Why only one stack frame -- at least we +# should see the wrapper calling the real functions, right? +# Unfortunately, no: the real functions are handwritten assembly (in +# the glibc-2.5 sources) and does not create a proper stack frame. +# Therefore it's only one level of unwinding before we're back out in +# user code rather than the 2 levels you'd expect. +{ + helgrind-glibc25-101 + Helgrind:Race + obj:/lib*/libpthread-2.5.so + fun:pthread_* +} +{ + helgrind-glibc25-102 + Helgrind:Race + fun:mythread_wrapper + obj:/lib*/libpthread-2.5.so +} +{ + helgrind-glibc25-103 + Helgrind:Race + fun:pthread_cond_*@@GLIBC_2.3.2 +} +{ + helgrind-glibc25-104 + Helgrind:Race + fun:__lll_mutex_* +} +{ + helgrind-glibc25-105 + Helgrind:Race + fun:pthread_rwlock_*lock* +} + +######------------ glibc-2.4 specific ------------###### +# +{ + helgrind-glibc24-001 + Helgrind:Race + obj:/lib*/ld-2.4.so + obj:/lib*/ld-2.4.so + obj:/lib*/ld-2.4.so +} +{ + helgrind-glibc24-003 + Helgrind:Race + obj:/lib*/ld-2.4.so + obj:/lib*/libc-2.4.so + obj:/lib*/libc-2.4.so +} +{ + helgrind-glibc24-004 + Helgrind:Race + obj:/lib*/libc-2.4.so + obj:/lib*/libc-2.4.so +} +{ + helgrind-glibc24-005 + Helgrind:Race + obj:/lib*/libpthread-2.4.so + obj:/lib*/libpthread-2.4.so + obj:/lib*/libpthread-2.4.so +} +{ + helgrind-glibc24-006 + Helgrind:Race + obj:/lib*/libpthread-2.4.so + obj:/lib*/libpthread-2.4.so + obj:/lib*/libc-2.4.so +} +{ + helgrind-glibc24-008 + Helgrind:Race + obj:/lib*/libpthread-2.4.so + obj:/lib*/libc-2.4.so +} +{ + helgrind-glibc24-010 + Helgrind:Race + obj:/lib*/ld-2.4.so + obj:/lib*/libpthread-2.4.so +} +{ + helgrind-glibc24-011 + Helgrind:Race + obj:/lib*/libc-2.4.so + obj:/lib*/libpthread-2.4.so +} + +{ + helgrind-glibc24-101 + Helgrind:Race + obj:/lib*/libpthread-2.4.so + fun:pthread_* +} +{ + helgrind-glibc24-102 + Helgrind:Race + fun:mythread_wrapper + obj:/lib*/libpthread-2.4.so +} + +######------------ glibc-2.6 specific ---------###### +# +{ + helgrind-glibc26-001 + Helgrind:Race + obj:/lib*/ld-2.6.*so + obj:/lib*/ld-2.6.*so + obj:/lib*/ld-2.6.*so +} +{ + helgrind-glibc26-003 + Helgrind:Race + obj:/lib*/ld-2.6.*so + obj:/lib*/libc-2.6.*so + obj:/lib*/libc-2.6.*so +} +{ + helgrind-glibc26-004 + Helgrind:Race + obj:/lib*/libc-2.6.*so + obj:/lib*/libc-2.6.*so +} +{ + helgrind-glibc26-006 + Helgrind:Race + obj:/lib*/libpthread-2.6.*so + obj:/lib*/libpthread-2.6.*so + obj:/lib*/libc-2.6.*so +} +{ + helgrind-glibc26-008 + Helgrind:Race + obj:/lib*/libpthread-2.6.*so + obj:/lib*/libc-2.6.*so +} + +{ + helgrind-glibc26-101 + Helgrind:Race + obj:/lib*/libpthread-2.6.*so + fun:pthread_* +} +{ + helgrind-glibc26-102 + Helgrind:Race + fun:mythread_wrapper + obj:/lib*/libpthread-2.6.*so +} +{ + helgrind-glibc26-106 + Helgrind:Race + fun:__lll_lock_wait +} + +######--------- glibc-2.3 specific ---------###### +{ + helgrind-glibc23-001 + Helgrind:Race + obj:/lib*/ld-2.3.*so + obj:/lib*/ld-2.3.*so + obj:/lib*/ld-2.3.*so +} +{ + helgrind-glibc23-002 + Helgrind:Race + obj:/lib*/ld-2.3.*so + obj:/lib*/libc-2.3.*so + obj:/lib*/ld-2.3.*so +} +{ + helgrind-glibc23-004 + Helgrind:Race + obj:/lib*/libc-2.3.*so + obj:/lib*/libc-2.3.*so +} +{ + helgrind-glibc23-006 + Helgrind:Race + obj:/lib*/libpthread-2.3.*so + obj:/lib*/libpthread-2.3.*so + obj:/lib*/libc-2.3.*so +} +{ + helgrind-glibc23-008 + Helgrind:Race + obj:/lib*/libpthread-2.3.*so + obj:/lib*/libc-2.3.*so +} +{ + helgrind-glibc23-009 + Helgrind:Race + obj:/lib*/libc-2.3.*so + obj:/lib*/ld-2.3.*so + obj:/lib*/libc-2.3.*so +} +{ + helgrind-glibc23-011 + Helgrind:Race + obj:/lib*/libc-2.3.*so + obj:/lib*/libpthread-2.3.*so +} +{ + helgrind-glibc23-012 + Helgrind:Race + obj:/lib*/ld-2.3.*so + obj:/lib*/ld-2.3.*so + obj:/lib*/libc-2.3.*so +} +{ + helgrind-glibc23-014 + Helgrind:Race + obj:/lib*/ld-2.3.*so + obj:/lib*/ld-2.3.*so + obj:/lib*/libpthread-2.3.*so +} + +{ + helgrind-glibc23-100 + Helgrind:Race + obj:/lib*/libpthread-2.3.*so + fun:pthread_* +} +{ + helgrind-glibc23-101 + Helgrind:Race + fun:mythread_wrapper + obj:/lib*/libpthread-2.3.*so +} + +######------ qt4 specific (GNU mangling) ------###### +{ + helgrind-qt4-QMutex::lock()-twice + Helgrind:Race + fun:_ZN6QMutex4lockEv + fun:_ZN6QMutex4lockEv +}