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
+}