[Bug other/54691] [4.8 Regression] --enable-checking=valgrind doesn't build

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Oct 14 16:23:00 GMT 2012


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(
...)



More information about the Gcc-bugs mailing list