summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-15 07:18:34 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-15 07:18:34 +0000
commitf532c5bfd5bdc45215b18bc85dbfd0c40afc4746 (patch)
tree0141d694668a48723ab24f79f4db3a63672b6736
parentc3d0733cf8d514ad4a149b79f2c569076aeb82a1 (diff)
downloadbcm5719-llvm-f532c5bfd5bdc45215b18bc85dbfd0c40afc4746.tar.gz
bcm5719-llvm-f532c5bfd5bdc45215b18bc85dbfd0c40afc4746.zip
[sanitizer] Remove the definition of xdr_ops.
User-visible instances of xdr_ops always seem to be allocated statically, and don't need unpoisoning. Also, it's size differs between platforms. llvm-svn: 208851
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc2
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc1
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h10
3 files changed, 1 insertions, 12 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
index 999e0437d09..c6ff5a69fe3 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
@@ -3636,7 +3636,6 @@ INTERCEPTOR(void, xdrmem_create, __sanitizer_XDR *xdrs, uptr addr,
COMMON_INTERCEPTOR_ENTER(ctx, xdrmem_create, xdrs, addr, size, op);
REAL(xdrmem_create)(xdrs, addr, size, op);
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, xdrs, sizeof(*xdrs));
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(xdrs->x_ops, sizeof(*xdrs->x_ops));
if (op == __sanitizer_XDR_ENCODE) {
// It's not obvious how much data individual xdr_ routines write.
// Simply unpoison the entire target buffer in advance.
@@ -3649,7 +3648,6 @@ INTERCEPTOR(void, xdrstdio_create, __sanitizer_XDR *xdrs, void *file, int op) {
COMMON_INTERCEPTOR_ENTER(ctx, xdrstdio_create, xdrs, file, op);
REAL(xdrstdio_create)(xdrs, file, op);
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, xdrs, sizeof(*xdrs));
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(xdrs->x_ops, sizeof(*xdrs->x_ops));
}
#define XDR_INTERCEPTOR(F, T) \
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
index fdc400d0ca0..524eec31546 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1127,7 +1127,6 @@ CHECK_SIZE_AND_OFFSET(XDR, x_public);
CHECK_SIZE_AND_OFFSET(XDR, x_private);
CHECK_SIZE_AND_OFFSET(XDR, x_base);
CHECK_SIZE_AND_OFFSET(XDR, x_handy);
-CHECK_TYPE_SIZE(XDR::xdr_ops);
COMPILER_CHECK(__sanitizer_XDR_ENCODE == XDR_ENCODE);
COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
index d83ec8c8110..492daf2f905 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -276,17 +276,9 @@ namespace __sanitizer {
#if SANITIZER_LINUX && !SANITIZER_ANDROID
-#if defined(__arm__)
- const unsigned kXDROpsNumFuns = 9;
-#else
- const unsigned kXDROpsNumFuns = 10;
-#endif
-
struct __sanitizer_XDR {
int x_op;
- struct xdr_ops {
- uptr fns[kXDROpsNumFuns];
- } *x_ops;
+ void *x_ops;
uptr x_public;
uptr x_private;
uptr x_base;
OpenPOWER on IntegriCloud