[llvm-commits] [compiler-rt] r172721 - /compiler-rt/trunk/lib/msan/msan_interceptors.cc

Kostya Serebryany kcc at google.com
Thu Jan 17 05:57:07 PST 2013


Author: kcc
Date: Thu Jan 17 07:57:07 2013
New Revision: 172721

URL: http://llvm.org/viewvc/llvm-project?rev=172721&view=rev
Log:
[msan] start using common interceptors in msan

Modified:
    compiler-rt/trunk/lib/msan/msan_interceptors.cc

Modified: compiler-rt/trunk/lib/msan/msan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/msan_interceptors.cc?rev=172721&r1=172720&r2=172721&view=diff
==============================================================================
--- compiler-rt/trunk/lib/msan/msan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/msan/msan_interceptors.cc Thu Jan 17 07:57:07 2013
@@ -67,30 +67,6 @@
   return res;
 }
 
-INTERCEPTOR(SSIZE_T, read, int fd, void *ptr, SIZE_T count) {
-  ENSURE_MSAN_INITED();
-  SSIZE_T res = REAL(read)(fd, ptr, count);
-  if (res > 0)
-    __msan_unpoison(ptr, res);
-  return res;
-}
-
-INTERCEPTOR(SSIZE_T, pread, int fd, void *ptr, SIZE_T count, OFF_T offset) {
-  ENSURE_MSAN_INITED();
-  SSIZE_T res = REAL(pread)(fd, ptr, count, offset);
-  if (res > 0)
-    __msan_unpoison(ptr, res);
-  return res;
-}
-
-INTERCEPTOR(SSIZE_T, pread64, int fd, void *ptr, SIZE_T count, OFF64_T offset) {
-  ENSURE_MSAN_INITED();
-  SSIZE_T res = REAL(pread64)(fd, ptr, count, offset);
-  if (res > 0)
-    __msan_unpoison(ptr, res);
-  return res;
-}
-
 INTERCEPTOR(SSIZE_T, readlink, const char *path, char *buf, SIZE_T bufsiz) {
   ENSURE_MSAN_INITED();
   SSIZE_T res = REAL(readlink)(path, buf, bufsiz);
@@ -759,6 +735,15 @@
   return res;
 }
 
+#define COMMON_INTERCEPTOR_WRITE_RANGE(ptr, size)  \
+    __msan_unpoison(ptr, size)
+#define COMMON_INTERCEPTOR_READ_RANGE(ptr, size) do { } while (false)
+#define COMMON_INTERCEPTOR_ENTER(func, ...) ENSURE_MSAN_INITED()
+#define COMMON_INTERCEPTOR_FD_ACQUIRE(fd) do { } while (false)
+#define COMMON_INTERCEPTOR_FD_RELEASE(fd) do { } while (false)
+#define COMMON_INTERCEPTOR_SET_THREAD_NAME(name) do { } while (false)  // FIXME
+#include "sanitizer_common/sanitizer_common_interceptors.h"
+
 // static
 void *fast_memset(void *ptr, int c, SIZE_T n) {
   // hack until we have a really fast internal_memset
@@ -868,6 +853,8 @@
 void InitializeInterceptors() {
   static int inited = 0;
   CHECK_EQ(inited, 0);
+  SANITIZER_COMMON_INTERCEPTORS_INIT;
+
   INTERCEPT_FUNCTION(mmap);
   INTERCEPT_FUNCTION(mmap64);
   INTERCEPT_FUNCTION(posix_memalign);
@@ -877,9 +864,6 @@
   INTERCEPT_FUNCTION(free);
   INTERCEPT_FUNCTION(fread);
   INTERCEPT_FUNCTION(fread_unlocked);
-  INTERCEPT_FUNCTION(read);
-  INTERCEPT_FUNCTION(pread);
-  INTERCEPT_FUNCTION(pread64);
   INTERCEPT_FUNCTION(readlink);
   INTERCEPT_FUNCTION(readdir);
   INTERCEPT_FUNCTION(memcpy);





More information about the llvm-commits mailing list