Add DRD as an experimental tool. Bart Van Assche is the maintainer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7211 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/glibc-2.X-drd.supp b/glibc-2.X-drd.supp
new file mode 100644
index 0000000..f594b6b
--- /dev/null
+++ b/glibc-2.X-drd.supp
@@ -0,0 +1,231 @@
+{
+ 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
+ obj:/lib64/ld-2.6.1.so
+ fun:exit
+}
+{
+ dl-2.6.1
+ exp-drd:ConflictingAccess
+ obj:/lib64/ld-2.6.1.so
+ obj:/lib64/ld-2.6.1.so
+ obj:/lib64/ld-2.6.1.so
+}
+{
+ 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
+ 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:pthread_create@@GLIBC_*
+ 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: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:__free_tcb
+}
+{
+ pthread
+ exp-drd:ConflictingAccess
+ fun:__deallocate_stack
+ fun:__free_tcb
+ fun:start_thread
+ fun:clone
+}
+{
+ pthread stack_cache_lock
+ exp-drd:ConflictingAccess
+ fun:__deallocate_stack
+ fun:start_thread
+ fun:clone
+}
+{
+ 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
+}