|
From: <sv...@va...> - 2005-08-12 15:24:06
|
Author: njn
Date: 2005-08-12 16:23:57 +0100 (Fri, 12 Aug 2005)
New Revision: 4384
Log:
Give informative failure messages if you try to use Helgrind or
Addrcheck. As a results, we are now building Addrcheck again, which
required commenting out lots of code.
BACKPORT TO 3_0_X, AND POSSIBLY TO 2_4_X (the Helgrind part, with
modifications)
Modified:
trunk/Makefile.am
trunk/addrcheck/Makefile.am
trunk/addrcheck/ac_main.c
trunk/helgrind/hg_main.c
Modified: trunk/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/Makefile.am 2005-08-11 02:48:11 UTC (rev 4383)
+++ trunk/Makefile.am 2005-08-12 15:23:57 UTC (rev 4384)
@@ -12,12 +12,11 @@
=20
## addrcheck \
=20
-# Temporary: we want to compile Helgrind, but not regtest it.
+# Temporary: we want to compile Helgrind and Addrcheck, but not regtest =
it.
# And we want to include Addrcheck in the distro, but not compile/test i=
t.
# Put docs last because building the HTML is slow and we want to get
# everything else working before we try it.
-SUBDIRS =3D include coregrind . tests auxprogs $(TOOLS) helgrind docs
-DIST_SUBDIRS =3D $(SUBDIRS) addrcheck
+SUBDIRS =3D include coregrind . tests auxprogs $(TOOLS) helgrind addrch=
eck docs
=20
SUPP_FILES =3D \
glibc-2.2.supp glibc-2.3.supp glibc-2.4.supp \
Modified: trunk/addrcheck/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/addrcheck/Makefile.am 2005-08-11 02:48:11 UTC (rev 4383)
+++ trunk/addrcheck/Makefile.am 2005-08-12 15:23:57 UTC (rev 4384)
@@ -10,7 +10,7 @@
vgtool_addrcheck_so_LDADD =3D \
../memcheck/mac_leakcheck.o \
../memcheck/mac_malloc_wrappers.o \
- ../memcheck/mac_needs.o
+ ../memcheck/mac_shared.o
=20
vgpreload_addrcheck_so_SOURCES =3D=20
vgpreload_addrcheck_so_LDADD =3D \
Modified: trunk/addrcheck/ac_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/addrcheck/ac_main.c 2005-08-11 02:48:11 UTC (rev 4383)
+++ trunk/addrcheck/ac_main.c 2005-08-12 15:23:57 UTC (rev 4384)
@@ -42,6 +42,7 @@
#include "mac_shared.h"
#include "memcheck.h"
=20
+#if 0
=20
/*------------------------------------------------------------*/
/*--- Comparing and printing errors ---*/
@@ -1306,19 +1307,29 @@
{ =20
MAC_(print_common_debug_usage)();
}
+#endif
=20
-
/*------------------------------------------------------------*/
/*--- Setup and finalisation ---*/
/*------------------------------------------------------------*/
=20
+// dummy instrument() function
+static IRBB* ac_instrument(IRBB* bb_in, VexGuestLayout* layout,=20
+ IRType gWordTy, IRType hWordTy )
+{
+ tl_assert(0);
+}
+
static void ac_post_clo_init ( void )
{
}
=20
static void ac_fini ( Int exitcode )
{
+ tl_assert(0); // turn leak checking back on
+#if 0
MAC_(common_fini)( ac_detect_memory_leaks );
+#endif
}
=20
static void ac_pre_clo_init(void)
@@ -1335,6 +1346,18 @@
ac_instrument,
ac_fini);
=20
+
+ VG_(printf)(
+"\n"
+"Addrcheck is currently not working, because:\n"
+" (a) it is not yet ready to handle the Vex IR and the use with 64-bit\n=
"
+" platforms introduced in Valgrind 3.0.0\n"
+"\n"
+"Sorry for the inconvenience. Let us know if this is a problem for you.=
\n");
+ VG_(exit)(1);
+
+
+#if 0
VG_(needs_core_errors) ();
VG_(needs_tool_errors) (MAC_(eq_Error),
ac_pp_Error,
@@ -1408,11 +1431,12 @@
=20
init_shadow_memory();
MAC_(common_pre_clo_init)();
+#endif
}
=20
VG_DETERMINE_INTERFACE_VERSION(ac_pre_clo_init, 1./8)
=20
=20
/*--------------------------------------------------------------------*/
-/*--- end ac_main.c ---*/
+/*--- end ---*/
/*--------------------------------------------------------------------*/
Modified: trunk/helgrind/hg_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/helgrind/hg_main.c 2005-08-11 02:48:11 UTC (rev 4383)
+++ trunk/helgrind/hg_main.c 2005-08-12 15:23:57 UTC (rev 4384)
@@ -2287,8 +2287,7 @@
static IRBB* hg_instrument ( IRBB* bb_in, VexGuestLayout* layout,=20
IRType gWordTy, IRType hWordTy )
{
- VG_(message)(Vg_DebugMsg, "Helgrind is not yet ready to handle Vex IR=
");
- VG_(exit)(1);
+ tl_assert(0); // Need to convert to Vex
}
=20
/*--------------------------------------------------------------------*/
@@ -3374,6 +3373,17 @@
hg_instrument,
hg_fini);
=20
+ VG_(printf)(
+"\n"
+"Helgrind is currently not working, because:\n"
+" (a) it is not yet ready to handle the Vex IR and the use with 64-bit\n=
"
+" platforms introduced in Valgrind 3.0.0\n"
+" (b) we need to get thread operation tracking working again after\n"
+" the changes added in Valgrind 2.4.0\n"
+"\n"
+"Sorry for the inconvenience. Let us know if this is a problem for you.=
\n");
+ VG_(exit)(1);
+
VG_(needs_core_errors) ();
VG_(needs_tool_errors) (hg_eq_Error,
hg_pp_Error,
|