Add drd suppression file to the default suppressions and avoid
including core headers in the drd tool.
Patch from Bart Van Assche <bart.vanassche@gmail.com>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7318 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/configure.in b/configure.in
index 0604a6d..ba3944b 100644
--- a/configure.in
+++ b/configure.in
@@ -485,6 +485,7 @@
AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x])
DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
2.3)
@@ -492,6 +493,7 @@
AC_DEFINE([GLIBC_2_3], 1, [Define to 1 if you're using glibc 2.3.x])
DEFAULT_SUPP="glibc-2.3.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
2.4)
@@ -499,6 +501,7 @@
AC_DEFINE([GLIBC_2_4], 1, [Define to 1 if you're using glibc 2.4.x])
DEFAULT_SUPP="glibc-2.4.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
2.5)
@@ -506,18 +509,21 @@
AC_DEFINE([GLIBC_2_5], 1, [Define to 1 if you're using glibc 2.5.x])
DEFAULT_SUPP="glibc-2.5.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
2.6)
AC_MSG_RESULT(2.6 family)
AC_DEFINE([GLIBC_2_6], 1, [Define to 1 if you're using glibc 2.6.x])
DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
2.7)
AC_MSG_RESULT(2.7 family)
AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x])
DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
aix5)
AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
diff --git a/exp-drd/drd_main.c b/exp-drd/drd_main.c
index d18b8b2..9cc7f12 100644
--- a/exp-drd/drd_main.c
+++ b/exp-drd/drd_main.c
@@ -35,8 +35,6 @@
#include "drd_track.h"
#include "drd_vc.h"
#include "priv_drd_clientreq.h"
-#include "pub_core_mallocfree.h"
-#include "pub_core_options.h"
#include "pub_tool_vki.h"
#include "pub_tool_basics.h"
#include "pub_tool_debuginfo.h" // VG_(describe_IP)()
@@ -152,8 +150,7 @@
thread_get_name(thread_get_running_tid()),
VG_(get_running_tid)(),
thread_get_running_tid());
- VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
- VG_(clo_backtrace_size));
+ VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
tl_assert(DrdThreadIdToVgThreadId(thread_get_running_tid())
== VG_(get_running_tid)());
}
@@ -195,8 +192,7 @@
VG_(get_running_tid)(),
thread_get_running_tid(),
addr - thread_get_stack_min(thread_get_running_tid()));
- VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
- VG_(clo_backtrace_size));
+ VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
tl_assert(DrdThreadIdToVgThreadId(thread_get_running_tid())
== VG_(get_running_tid)());
}
@@ -251,8 +247,7 @@
VG_(message)(Vg_UserMsg, "start 0x%lx size %ld %s (tracing 0x%lx)",
a1, a2 - a1, thread_get_name(thread_get_running_tid()),
drd_trace_address);
- VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
- VG_(clo_backtrace_size));
+ VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
}
}
@@ -264,8 +259,7 @@
VG_(message)(Vg_UserMsg, "end 0x%lx size %ld %s (tracing 0x%lx)",
a1, a2 - a1, thread_get_name(thread_get_running_tid()),
drd_trace_address);
- VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(),
- VG_(clo_backtrace_size));
+ VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
}
thread_stop_using_mem(a1, a2);
mutex_stop_using_mem(a1, a2);
@@ -684,21 +678,6 @@
}
}
-static void drd_load_suppression_file(void)
-{
- tl_assert(VG_(clo_n_suppressions) < VG_CLO_MAX_SFILES - 1);
- {
- /* If we haven't reached the max number of suppression files, load
- the drd suppression patterns file. */
- static const Char drd_supp[] = "glibc-2.X-drd.supp";
- const Int len = VG_(strlen)(VG_(libdir)) + 1 + sizeof(drd_supp);
- Char* const buf = VG_(arena_malloc)(VG_AR_CORE, len);
- VG_(snprintf)(buf, len, "%s/%s", VG_(libdir), drd_supp);
- VG_(clo_suppressions)[VG_(clo_n_suppressions)] = buf;
- VG_(clo_n_suppressions)++;
- }
-}
-
static
void drd_pre_clo_init(void)
{
@@ -742,8 +721,6 @@
drd_clientreq_init();
drd_suppression_init();
-
- drd_load_suppression_file();
}