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: "hjl.tools 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 19:23:11 +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 #8 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-14 19:23:11 UTC ---
(In reply to comment #7)
> Created attachment 28445 [details]
> 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.)
>
libcpp will read in advance beyond the end of buffer in
some cases, even without SSE optimization.