[PATCH] D18465: [sanitizer] Add memset, memmove, and memcpy to the common interceptors

Derek Bruening via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 24 15:43:18 PDT 2016


bruening created this revision.
bruening added a reviewer: vitalybuka.
bruening added subscribers: kcc, llvm-commits, zhaoqin.

Currently, sanitizer_common_interceptors.inc has an implicit, undocumented
assumption that the sanitizer including it has previously declared
interceptors for memset and memmove.  Since the memset, memmove, and memcpy
routines require interception by many sanitizers, we add them to the
set of common interceptions, both to address the undocumented assumption
and to speed future tool development.  They are intercepted under a new
flag intercept_intrin.

The tsan interceptors are removed in favor of the new common versions.  The
asan and msan interceptors for these are more complex (they incur extra
interception steps and their function bodies are exposed to the compiler)
so they opt out of the common versions and keep their own.

http://reviews.llvm.org/D18465

Files:
  lib/asan/asan_flags.inc
  lib/asan/asan_interceptors.cc
  lib/msan/msan_interceptors.cc
  lib/sanitizer_common/sanitizer_common_interceptors.inc
  lib/sanitizer_common/sanitizer_flags.inc
  lib/sanitizer_common/sanitizer_platform_interceptors.h
  lib/tsan/rtl/tsan_interceptors.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18465.51613.patch
Type: text/x-patch
Size: 7732 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160324/7c38aa9c/attachment.bin>


More information about the llvm-commits mailing list