summaryrefslogtreecommitdiff
path: root/tools/intel-features/intel-mpx/test/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/intel-features/intel-mpx/test/main.cpp')
-rw-r--r--tools/intel-features/intel-mpx/test/main.cpp49
1 files changed, 0 insertions, 49 deletions
diff --git a/tools/intel-features/intel-mpx/test/main.cpp b/tools/intel-features/intel-mpx/test/main.cpp
deleted file mode 100644
index 110befb1e250..000000000000
--- a/tools/intel-features/intel-mpx/test/main.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//===-- main.cpp ------------------------------------------------*- C++ -*-===//
-////
-//// The LLVM Compiler Infrastructure
-////
-//// This file is distributed under the University of Illinois Open Source
-//// License. See LICENSE.TXT for details.
-////
-////===----------------------------------------------------------------------===//
-//
-
-const int size = 5;
-
-#include <cstddef>
-#include <cstdlib>
-#include <sys/prctl.h>
-
-void func(int *ptr) {
- int *tmp;
-
-#if defined __GNUC__ && !defined __INTEL_COMPILER
- __builtin___bnd_store_ptr_bounds ((void**)&ptr, ptr);
-#endif
- tmp = ptr + size - 1;
-#if defined __GNUC__ && !defined __INTEL_COMPILER
- __builtin___bnd_store_ptr_bounds ((void**)&tmp, tmp);
-#endif
- tmp = (int*)0x2; // Break 2.
-
- return; // Break 3.
-}
-
-int
-main(int argc, char const *argv[])
-{
- // This call returns 0 only if the CPU and the kernel support
- // Intel(R) Memory Protection Extensions (Intel(R) MPX).
- if (prctl(PR_MPX_ENABLE_MANAGEMENT, 0, 0, 0, 0) != 0)
- return -1;
-
- int* a = (int *) calloc(size, sizeof(int));
-#if defined __GNUC__ && !defined __INTEL_COMPILER
- __builtin___bnd_store_ptr_bounds ((void**)&a, a);
-#endif
- func(a); // Break 1.
-
- free(a); // Break 4.
-
- return 0;
-}