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