# DRD suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard

#
# dyld
#
{
   dyld_mutex_not_locked
   drd:MutexErr
   fun:pthread_mutex_unlock
   fun:_dyld_register_func_for_*_image
}
{
   dyld_mutex_reinitialization
   drd:MutexErr
   fun:pthread_mutex_init
   fun:_Z24dyldGlobalLockInitializev
   fun:_dyld_initializer
}
{
   dyld_stub_binder
   drd:ConflictingAccess
   ...
   fun:_ZN4dyld18fastBindLazySymbolEPP11ImageLoaderm
   fun:dyld_stub_binder
}
{
   dyld ImageLoaderMachOCompressed::findExportedSymbol(char const*, ImageLoader const**) const
   drd:ConflictingAccess
   fun:_ZNK26ImageLoaderMachOCompressed18findExportedSymbolEPKcPPK11ImageLoader
}
{
   dyld dyld::fastBindLazySymbol(ImageLoader**, unsigned long)
   drd:ConflictingAccess
   ...
   fun:_ZN4dyld18fastBindLazySymbolEPP11ImageLoaderm
}
{
   dyld ImageLoaderMachOCompressed::doBindFastLazySymbol(unsigned int, ImageLoader::LinkContext const&)
   drd:ConflictingAccess
   ...
   fun:_ZN26ImageLoaderMachOCompressed20doBindFastLazySymbolEjRKN11ImageLoader11LinkContextE
}

#
# C library
#
{
   __umodti3
   drd:ConflictingAccess
   fun:__umodti3
}
{
   fork()
   drd:ConflictingAccess
   ...
   fun:_cthread_fork_child
   fun:fork
}
{
   flockfile
   drd:ConflictingAccess
   fun:flockfile
}
{
   funlockfile
   drd:ConflictingAccess
   fun:funlockfile
}
{
   vfprintf_l
   drd:ConflictingAccess
   fun:vfprintf_l
}
{
   localeconv_l
   drd:ConflictingAccess
   fun:localeconv_l
}
{
   __vfprintf
   drd:ConflictingAccess
   fun:__vfprintf
}
{
   fflush
   drd:ConflictingAccess
   fun:fflush
}
{
   cerror
   drd:ConflictingAccess
   ...
   fun:cerror
}
{
   do_rand
   drd:ConflictingAccess
   fun:do_rand
}
{
   mig_dealloc_reply_port
   drd:ConflictingAccess
   fun:mig_dealloc_reply_port
}

#
# pthread library
#
{
   thread_start
   drd:ConflictingAccess
   obj:*
   fun:thread_start
}
{
   pthread_create()
   drd:ConflictingAccess
   ...
   fun:pthread_create
}
{
   pthread_join()
   drd:ConflictingAccess
   ...
   fun:pthread_join
   fun:pthread_join
}
{
   _pthread_exit()
   drd:ConflictingAccess
   ...
   fun:_pthread_exit
}
{
   pthread_detach()
   drd:ConflictingAccess
   ...
   fun:pthread_detach
   fun:pthread_detach
}
{
   pthread_kill()
   drd:ConflictingAccess
   ...
   fun:pthread_kill
}
{
   spin_unlock()
   drd:ConflictingAccess
   fun:spin_unlock
}
{
   _pthread_testcancel()
   drd:ConflictingAccess
   fun:_pthread_testcancel
}
