Re: [PATCH] valgrind: ignore SSE-based strlen invalid reads
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 16, 2011, 10:52 UTC
- Message-ID
- <20110316105214.GB8277@elie>
- In-Reply-To
- <1300272453-25891-1-git-send-email-cmn@elego.de>
Carlos Martín Nieto wrote:
Show 5 quoted lines
> The GNU C Library (glibc) uses SSE instructions to make strlen (among > others) faster, loading 4 bytes at a time and reading past the end of > the allocated memory. This read is safe and when the strlen function > is inlined, it is (obviously) not replaced by valgrind, which reports > a false-possitive.
This still makes no sense to me. How is it possible to inline a function from glibc? When I look in /usr/include/string.h, I see
extern size_t strlen (__const char *__s)
__THROW __attribute_pure__ __nonnull ((1));> Tell valgrind to ignore this particular error, as the read is, in > fact, safe.
I'm happy to see a workaround. I would be even happier if it came with documentation about which versions of valgrind need it.
Thanks again. Jonathan