This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/54691] [4.8 Regression] --enable-checking=valgrind doesn't build
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 14 Oct 2012 16:23:04 +0000
- Subject: [Bug other/54691] [4.8 Regression] --enable-checking=valgrind doesn't build
- Auto-submitted: auto-generated
- References: <bug-54691-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54691
--- Comment #7 from Uros Bizjak <ubizjak at gmail dot com> 2012-10-14 16:23:04 UTC ---
Created attachment 28445
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28445
Prototype patch that introduces VALGRIND_MAKE_MEM_DEFINED
Attached prototype patch builds on HJ's patch. The patch detects valgrind in
the same way as in gcc directory (actually, it just copies relevant bits) and
changes:
+ memset (to.text + to.len + 1, 0, 16);
to
+ VALGRIND_DISCARD (VALGRIND_MAKE_MEM_DEFINED (to.text + to.len + 1, 16));
(BTW: Probably, we should align end of buffer to 16 byte boundary instead of
hardcoding 16.)
(BTW2: the test in the following code in the patch is obviously wrong:
+if test $enable_checking != no ; then
+ # It is certainly possible that there's valgrind but no valgrind.h.
+ # GCC relies on making annotations so we must have both.
+ AC_MSG_CHECKING(for VALGRIND_DISCARD in <valgrind/memcheck.h>)
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE(
...)