[compiler-rt] r183518 - [sanitizer] Fix windows build.
Evgeniy Stepanov
eugeni.stepanov at gmail.com
Fri Jun 7 06:19:33 PDT 2013
Author: eugenis
Date: Fri Jun 7 08:19:33 2013
New Revision: 183518
URL: http://llvm.org/viewvc/llvm-project?rev=183518&view=rev
Log:
[sanitizer] Fix windows build.
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=183518&r1=183517&r2=183518&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc Fri Jun 7 08:19:33 2013
@@ -430,7 +430,37 @@ SCANF_INTERCEPTOR_IMPL(__isoc99_sscanf,
#endif
+#if SANITIZER_INTERCEPT_IOCTL
#include "sanitizer_common_interceptors_ioctl.inc"
+#define INIT_IOCTL \
+ ioctl_init(); \
+ INTERCEPT_FUNCTION(ioctl);
+INTERCEPTOR(int, ioctl, int d, unsigned request, void *arg) {
+ void *ctx;
+ COMMON_INTERCEPTOR_ENTER(ctx, ioctl, d, request, arg);
+
+ CHECK(ioctl_initialized);
+
+ // Note: TSan does not use common flags, and they are zero-initialized.
+ // This effectively disables ioctl handling in TSan.
+ if (!common_flags()->handle_ioctl)
+ return REAL(ioctl)(d, request, arg);
+
+ const ioctl_desc *desc = ioctl_lookup(request);
+ if (!desc)
+ Printf("WARNING: unknown ioctl %x\n", request);
+
+ if (desc)
+ ioctl_common_pre(ctx, desc, d, request, arg);
+ int res = REAL(ioctl)(d, request, arg);
+ // FIXME: some ioctls have different return values for success and failure.
+ if (desc && res != -1)
+ ioctl_common_post(ctx, desc, res, d, request, arg);
+ return res;
+}
+#else
+#define INIT_IOCTL
+#endif
#if SANITIZER_INTERCEPT_GETPWNAM_AND_FRIENDS
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc?rev=183518&r1=183517&r2=183518&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc Fri Jun 7 08:19:33 2013
@@ -513,34 +513,3 @@ static void ioctl_common_post(void *ctx,
return;
return; // FIXME
}
-
-#if SANITIZER_INTERCEPT_IOCTL
-#define INIT_IOCTL \
- ioctl_init(); \
- INTERCEPT_FUNCTION(ioctl);
-INTERCEPTOR(int, ioctl, int d, unsigned request, void *arg) {
- void *ctx;
- COMMON_INTERCEPTOR_ENTER(ctx, ioctl, d, request, arg);
-
- CHECK(ioctl_initialized);
-
- // Note: TSan does not use common flags, and they are zero-initialized.
- // This effectively disables ioctl handling in TSan.
- if (!common_flags()->handle_ioctl)
- return REAL(ioctl)(d, request, arg);
-
- const ioctl_desc *desc = ioctl_lookup(request);
- if (!desc)
- Printf("WARNING: unknown ioctl %x\n", request);
-
- if (desc)
- ioctl_common_pre(ctx, desc, d, request, arg);
- int res = REAL(ioctl)(d, request, arg);
- // FIXME: some ioctls have different return values for success and failure.
- if (desc && res != -1)
- ioctl_common_post(ctx, desc, res, d, request, arg);
- return res;
-}
-#else
-#define INIT_IOCTL
-#endif
More information about the llvm-commits
mailing list