
##----------------------------------------------------------------------##
# 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.7, 2.6, 2.4 and 2.3 follow below.
{
   helgrind-glibc25-001
   Helgrind:Race
   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*
}
{
   helgrind-glibc25-107
   Helgrind:Race
   obj:/lib*/libpthread-2.5.*so
   fun:sem_*
}
{
   helgrind-glibc25-108
   Helgrind:Race
   fun:clone
}
{
   helgrind-glibc25-109
   Helgrind:Race
   fun:start_thread
}

######------------ glibc-2.8 specific ---------######
#
{
   helgrind-glibc28-001
   Helgrind:Race
   obj:/lib*/ld-2.8.*so
   obj:/lib*/ld-2.8.*so
}
{
   helgrind-glibc28-002
   Helgrind:Race
   obj:/lib*/ld-2.8.*so
   obj:/lib*/libc-2.8.*so
   obj:/lib*/ld-2.8.*so
}
{
   helgrind-glibc28-003
   Helgrind:Race
   obj:/lib*/ld-2.8.*so
   obj:/lib*/libc-2.8.*so
   obj:/lib*/libc-2.8.*so
}
{
   helgrind-glibc28-004
   Helgrind:Race
   obj:/lib*/libc-2.8.*so
   obj:/lib*/libc-2.8.*so
}
{
   helgrind-glibc28-006
   Helgrind:Race
   obj:/lib*/libpthread-2.8.*so
   obj:/lib*/libpthread-2.8.*so
   obj:/lib*/libc-2.8.*so
}
{
   helgrind-glibc28-010
   Helgrind:Race
   obj:/lib*/ld-2.8.*so
   obj:/lib*/libpthread-2.8.*so
}

{
   helgrind-glibc28-101
   Helgrind:Race
   obj:/lib*/libpthread-2.8.*so
   fun:pthread_*
}
{
   helgrind-glibc28-102
   Helgrind:Race
   fun:mythread_wrapper
   obj:/lib*/libpthread-2.8.*so
}
{
   helgrind-glibc28-110
   Helgrind:Race
   obj:/lib*/libc-2.8.*so
   fun:pthread_*
}
{
   helgrind-glibc28-111
   Helgrind:Race
   fun:__lll_*lock_*
}
{
   helgrind-glibc28-112
   Helgrind:Race
   fun:pthread_create@*
}
{
   helgrind-glibc28-113
   Helgrind:Race
   fun:pthread_barrier_wait*
}

######------------ glibc-2.7 specific ---------######
#
{
   helgrind-glibc27-001
   Helgrind:Race
   obj:/lib*/ld-2.7.*so
   obj:/lib*/ld-2.7.*so
}
{
   helgrind-glibc27-003
   Helgrind:Race
   obj:/lib*/ld-2.7.*so
   obj:/lib*/libc-2.7.*so
   obj:/lib*/libc-2.7.*so
}
{
   helgrind-glibc27-004
   Helgrind:Race
   obj:/lib*/libc-2.7.*so
   obj:/lib*/libc-2.7.*so
}
{
   helgrind-glibc27-005
   Helgrind:Race
   obj:/lib*/libpthread-2.7.*so
   obj:/lib*/libpthread-2.7.*so
   obj:/lib*/libpthread-2.7.*so
}
{
   helgrind-glibc27-011
   Helgrind:Race
   obj:/lib*/libc-2.7.*so
   obj:/lib*/libpthread-2.7.*so
}

{
   helgrind-glibc27-101
   Helgrind:Race
   obj:/lib*/libpthread-2.7.*so
   fun:pthread_*
}
{
   helgrind-glibc27-102
   Helgrind:Race
   fun:mythread_wrapper
   obj:/lib*/libpthread-2.7.*so
}
{
   helgrind-glibc27-107
   Helgrind:Race
   obj:/lib*/libpthread-2.7.*so
   fun:sem_*
}

######------------ glibc-2.6 specific ---------######
#
{
   helgrind-glibc26-001
   Helgrind:Race
   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-005
   Helgrind:Race
   obj:/lib*/libpthread-2.6.*so
   obj:/lib*/libpthread-2.6.*so
   obj:/lib*/libpthread-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-011
   Helgrind:Race
   obj:/lib*/libc-2.6.*so
   obj:/lib*/libpthread-2.6.*so
}
{
   helgrind-glibc26-014
   Helgrind:Race
   obj:/lib*/ld-2.6.*so
   obj:/lib*/ld-2.6.*so
   obj:/lib*/libpthread-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
}
{
   helgrind-glibc26-107
   Helgrind:Race
   obj:/lib*/libpthread-2.6.*so
   fun:sem_*
}

######------------ glibc-2.4 specific ------------######
#
{
   helgrind-glibc24-001
   Helgrind:Race
   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.3 specific ---------######
{
   helgrind-glibc23-001
   Helgrind:Race
   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-003
   Helgrind:Race
   obj:/lib*/ld-2.3.*so
   obj:/lib*/libc-2.3.*so
   obj:/lib*/libc-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()-QMutex::lock()
   Helgrind:Race
   fun:_ZN6QMutex4lockEv
   fun:_ZN6QMutex4lockEv
}

{
   helgrind-qt4---pthread_setspecific-QThreadPrivate::start(void*)
   Helgrind:Race
   fun:pthread_setspecific
   fun:_ZN14QThreadPrivate5startEPv
}

{
   helgrind-qt4---free_stacks-__deallocate_stack
   Helgrind:Race
   fun:free_stacks
   fun:__deallocate_stack
}

{
   helgrind---pthread_setspecific
   Helgrind:Race
   fun:pthread_setspecific
}

{
   helgrind---pthread_getspecific
   Helgrind:Race
   fun:pthread_getspecific
}

{
   helgrind---ld.so-...-dlsym
   Helgrind:Race
   obj:/lib*/ld-2.*so*
   ...
   fun:dlsym
}

####################################################
# Other stuff.
#
# pthread_exit apparently calls some kind of unwind
# mechanism - maybe to remove some number of frames
# from the thread's stack, so as to get back to the 
# outermost frame for the thread?  Anyway..

{
   helgrind---*Unwind*-...-pthread_exit
   Helgrind:Race
   fun:*Unwind*
   ...
   fun:pthread_exit
}

{
   helgrind---...-*Unwind*-*pthread_unwind*
   Helgrind:Race
   ...
   fun:*Unwind*
   fun:*pthread_unwind*
}
