Removed --trace-mem which traced all memory accesses. Added support for multiple --trace-address options. A range size can now be specified to the VG_USERREQ__DRD_START_TRACE_ADDR client request. Added VG_USERREQ__DRD_STOP_TRACE_ADDR client request.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7814 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-drd/drd_suppression.h b/exp-drd/drd_suppression.h
index ab018b9..593fe08 100644
--- a/exp-drd/drd_suppression.h
+++ b/exp-drd/drd_suppression.h
@@ -4,6 +4,10 @@
 
 #include "pub_tool_basics.h"
 
+
+extern Bool g_any_address_traced;
+
+
 void suppression_set_trace(const Bool trace_suppression);
 void drd_suppression_init(void);
 void drd_start_suppression(const Addr a1, const Addr a2,
@@ -11,7 +15,17 @@
 void drd_finish_suppression(const Addr a1, const Addr a2);
 Bool drd_is_suppressed(const Addr a1, const Addr a2);
 Bool drd_is_any_suppressed(const Addr a1, const Addr a2);
+void drd_start_tracing_address_range(const Addr a1, const Addr a2);
+void drd_stop_tracing_address_range(const Addr a1, const Addr a2);
+Bool drd_is_any_traced(const Addr a1, const Addr a2);
 void drd_suppression_stop_using_mem(const Addr a1, const Addr a2);
 
 
+static __inline__
+int range_any_is_traced(const Addr addr, const SizeT size)
+{
+  return (g_any_address_traced && drd_is_any_traced(addr, addr + size));
+}
+
+
 #endif // __PUB_CORE_DRD_H