% cat memcpy16.cc
#include <string.h>
void foo(int *x, int *y) {
memcpy(x, y, 16);
}
% clang -fsanitize=thread -O -S -o - memcpy16.cc
callq __tsan_func_entry
movups (%r14), %xmm0
movups %xmm0, (%rbx)
callq __tsan_func_exit
The simplest way is to replace mem intrins with __tsan_memset/etc,
like we do in msan.
Ideally, the instrumentation module should know when the intrinsic
will be inlined. But that's not trivial.
Original issue reported on code.google.com by konstant...@gmail.com on 25 Mar 2013 at 1:20
Original issue reported on code.google.com by
konstant...@gmail.com
on 25 Mar 2013 at 1:20