[llvm-branch-commits] [compiler-rt] 601bd9d - Revert "[compiler-rt] adding preadv2/pwritev2 interceptions. (#97216)"

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Jul 16 12:18:43 PDT 2024


Author: Daniel Thornburgh
Date: 2024-07-16T12:18:41-07:00
New Revision: 601bd9d8648398ffa1fe69f48304c2369e97e2db

URL: https://github.com/llvm/llvm-project/commit/601bd9d8648398ffa1fe69f48304c2369e97e2db
DIFF: https://github.com/llvm/llvm-project/commit/601bd9d8648398ffa1fe69f48304c2369e97e2db.diff

LOG: Revert "[compiler-rt] adding preadv2/pwritev2 interceptions. (#97216)"

This reverts commit bc1c84aee5b33c30e7bfe1e4a65a64650ec357db.

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h

Removed: 
    compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
index 032b04a09ae76..a6066a6226e1b 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
@@ -10264,38 +10264,6 @@ INTERCEPTOR(int, cpuset_getaffinity, int level, int which, __int64_t id, SIZE_T
 #define INIT_CPUSET_GETAFFINITY
 #endif
 
-#if SANITIZER_INTERCEPT_PREADV2
-INTERCEPTOR(SSIZE_T, preadv2, int fd, __sanitizer_iovec *iov, int iovcnt,
-            OFF_T offset, int flags) {
-  void *ctx;
-  COMMON_INTERCEPTOR_ENTER(ctx, preadv2, fd, iov, iovcnt, offset, flags);
-  COMMON_INTERCEPTOR_FD_ACCESS(ctx, fd);
-  SSIZE_T res = REAL(preadv2)(fd, iov, iovcnt, offset, flags);
-  if (res > 0) write_iovec(ctx, iov, iovcnt, res);
-  if (res >= 0 && fd >= 0) COMMON_INTERCEPTOR_FD_ACQUIRE(ctx, fd);
-  return res;
-}
-#define INIT_PREADV2 COMMON_INTERCEPT_FUNCTION(preadv2)
-#else
-#define INIT_PREADV2
-#endif
-
-#if SANITIZER_INTERCEPT_PWRITEV2
-INTERCEPTOR(SSIZE_T, pwritev2, int fd, __sanitizer_iovec *iov, int iovcnt,
-            OFF_T offset, int flags) {
-  void *ctx;
-  COMMON_INTERCEPTOR_ENTER(ctx, pwritev2, fd, iov, iovcnt, offset, flags);
-  COMMON_INTERCEPTOR_FD_ACCESS(ctx, fd);
-  if (fd >= 0) COMMON_INTERCEPTOR_FD_RELEASE(ctx, fd);
-  SSIZE_T res = REAL(pwritev2)(fd, iov, iovcnt, offset, flags);
-  if (res > 0) read_iovec(ctx, iov, iovcnt, res);
-  return res;
-}
-#define INIT_PWRITEV2 COMMON_INTERCEPT_FUNCTION(pwritev2)
-#else
-#define INIT_PWRITEV2
-#endif
-
 #include "sanitizer_common_interceptors_netbsd_compat.inc"
 
 namespace __sanitizer {
@@ -10615,8 +10583,6 @@ static void InitializeCommonInterceptors() {
   INIT___XUNAME;
   INIT_ARGP_PARSE;
   INIT_CPUSET_GETAFFINITY;
-  INIT_PREADV2;
-  INIT_PWRITEV2;
 
   INIT___PRINTF_CHK;
 }

diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
index c94368b6b0ebb..de55c736d0e14 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
@@ -598,9 +598,6 @@
 #define SANITIZER_INTERCEPT_PROCCTL SI_FREEBSD
 #define SANITIZER_INTERCEPT_ARGP_PARSE SI_GLIBC
 #define SANITIZER_INTERCEPT_CPUSET_GETAFFINITY SI_FREEBSD
-// FIXME: also available from musl 1.2.5
-#define SANITIZER_INTERCEPT_PREADV2 SI_GLIBC
-#define SANITIZER_INTERCEPT_PWRITEV2 SI_GLIBC
 
 // This macro gives a way for downstream users to override the above
 // interceptor macros irrespective of the platform they are on. They have

diff  --git a/compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp b/compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
deleted file mode 100644
index 176347f78ecdc..0000000000000
--- a/compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-// RUN: %clangxx -O0 %s -o %t
-
-// REQUIRES: glibc
-
-#include <assert.h>
-#include <fcntl.h>
-#include <sys/uio.h>
-#include <unistd.h>
-
-int main(void) {
-  int fd = open("/proc/self/stat", O_RDONLY);
-  char bufa[7];
-  char bufb[7];
-  struct iovec vec[2];
-  vec[0].iov_base = bufa + 4;
-  vec[0].iov_len = 1;
-  vec[1].iov_base = bufb;
-  vec[1].iov_len = sizeof(bufb);
-  ssize_t rd = preadv2(fd, vec, 2, 0, 0);
-  assert(rd > 0);
-  vec[0].iov_base = bufa;
-  rd = preadv2(fd, vec, 2, 0, 0);
-  assert(rd > 0);
-  rd = preadv2(fd, vec, 5, -25, 0);
-  assert(rd < 0);
-  close(fd);
-  return 0;
-}


        


More information about the llvm-branch-commits mailing list