[Bug sanitizer/55309] gcc's address-sanitizer 66% slower than clang's

joseph at codesourcery dot com gcc-bugzilla@gcc.gnu.org
Fri Feb 22 16:11:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55309

--- Comment #55 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2013-02-22 16:10:49 UTC ---
I believe the arguments to memcmp must point to objects with at least the 
given number of bytes.  (For strcmp, they must point to NUL-terminated 
strings.  For strncmp, they must point to objects that either have at 
least the given number of bytes or have bytes present up to a NUL within 
that number of bytes - there's no guarantee that comparison stops early 
when characters differ except for not reading after a NUL.  By comparison, 
the array passed to memchr may be shorter than the given length if a 
matching character is found early - see the wording added in C11 for 
memchr for alignment with POSIX.  But memcmp has no such special rule.)



More information about the Gcc-bugs mailing list