{
   dl
   exp-drd:ConflictingAccess
   fun:_dl_lookup_symbol_x
   fun:_dl_fixup
   fun:_dl_runtime_resolve
}
{
   dl
   exp-drd:ConflictingAccess
   fun:do_lookup_x
   fun:_dl_lookup_symbol_x
   fun:_dl_fixup
   fun:_dl_runtime_resolve
}
{
   dl
   exp-drd:ConflictingAccess
   fun:_dl_fini
   fun:exit
}
{
   dl
   exp-drd:ConflictingAccess
   fun:_dl_fixup
}
{
   dl-2.6.*
   exp-drd:ConflictingAccess
   obj:/lib*/ld-*.so
   fun:exit
}
{
   dl-2.6.*
   exp-drd:ConflictingAccess
   obj:/lib*/ld-*.so
   obj:/lib*/ld-*.so
   obj:/lib*/ld-*.so
}
{
   dl-dlsym-1
   exp-drd:ConflictingAccess
   obj:/lib*/ld-*.so
   obj:/lib*/libc-*.so
   obj:/lib*/libdl-*.so
}
{
   dl-dlsym-2
   exp-drd:ConflictingAccess
   obj:/lib*/libc-*.so
   obj:/lib*/libdl-*.so
   obj:/lib*/ld-*.so
}
{
   dl-dlsym-3
   exp-drd:ConflictingAccess
   obj:/lib*/ld-*.so
   obj:/lib*/ld-*.so
   obj:/lib*/libc-*.so
}
{
   dl-dl_addr
   exp-drd:ConflictingAccess
   fun:_dl_addr
}
{
   libc
   exp-drd:ConflictingAccess
   fun:__libc_enable_asynccancel
   obj:/lib*/libc-*
}
{
   libc
   exp-drd:ConflictingAccess
   fun:__libc_disable_asynccancel
   obj:/lib*/libc-*
}
{
   librt
   exp-drd:ConflictingAccess
   fun:__librt_enable_asynccancel
}
{
   librt
   exp-drd:ConflictingAccess
   fun:__librt_disable_asynccancel
}
{
   libstdc++
   exp-drd:ConflictingAccess
   fun:_ZN9__gnu_cxx12__atomic_addEPVii
}
{
   libstdc++ std::string::string()
   exp-drd:ConflictingAccess
   fun:_ZNSsC1ERKSs
}
{
   libstdc++
   exp-drd:ConflictingAccess
   fun:_ZN9__gnu_cxx18__exchange_and_addEPVii
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:start_thread
   fun:clone
}
{
   pthread
   exp-drd:ConflictingAccess
   obj:/lib*/libpthread-*.so
   fun:start_thread
   fun:clone
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:clone
   fun:create_thread
   fun:pthread_create*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   obj:/lib*/libc-*.so
   fun:__libc_thread_freeres
   fun:start_thread
   fun:clone
}
{
   pthread
   exp-drd:ConflictingAccess
   obj:/lib*/libc-*.so
   obj:/lib*/libc-*.so
   fun:__libc_thread_freeres
   fun:start_thread
   fun:clone
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__nptl_deallocate_tsd
   fun:start_thread
   fun:clone
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:clone
   fun:do_clone
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread-glibc2.7-pthread_create
   exp-drd:ConflictingAccess
   fun:memset
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_mutex_lock
   fun:pthread_mutex_lock
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__pthread_mutex_cond_lock
   fun:pthread_cond_wait@@GLIBC_*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:clone
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:do_clone
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:memset
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:_dl_allocate_tls_init
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:memset
   fun:_dl_allocate_tls_init
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:mempcpy
   fun:pthread_create@@GLIBC_*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_join
   fun:pthread_join
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:allocate_stack
   fun:pthread_create*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:get_cached_stack
   fun:allocate_stack
   fun:pthread_create*
   fun:pthread_create*
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__deallocate_stack
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:free_stacks
   fun:__deallocate_stack
   fun:pthread_join
   fun:pthread_join
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__free_tcb
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__pthread_enable_asynccancel
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:__pthread_disable_asynccancel
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_cancel
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:sigcancel_handler
   obj:/lib*/libpthread-*
}
{
   pthread-unwind
   exp-drd:ConflictingAccess
   fun:_Unwind_ForcedUnwind
   fun:__pthread_unwind
   fun:sigcancel_handler
   obj:/lib*/libpthread-*
}
{
   pthread-unwind
   exp-drd:ConflictingAccess
   fun:_Unwind_ForcedUnwind
   fun:__pthread_unwind
}
{
   pthread-unwind
   exp-drd:ConflictingAccess
   fun:_Unwind_GetCFA
   fun:unwind_stop
}
{
   pthread-unwind
   exp-drd:ConflictingAccess
   fun:uw_update_context
   fun:_Unwind_ForcedUnwind_Phase2
}
{
   pthread-unwind
   exp-drd:ConflictingAccess
   fun:uw_frame_state_for
   fun:_Unwind_ForcedUnwind_Phase2
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_detach
   fun:pthread_detach
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_getspecific
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_setspecific
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:pthread_key_delete
}
{
   pthread
   exp-drd:ConflictingAccess
   fun:_pthread_cleanup_push_defer
}
{
   gomp
   exp-drd:ConflictingAccess
   obj:/usr/lib*/libgomp.so*
   obj:/usr/lib*/libgomp.so*
}
{
   libxcb-xcb_wait_for_reply
   exp-drd:CondErr
   fun:pthread_cond_destroy*
   fun:xcb_wait_for_reply
}
