[PATCH, CHKP, PR target/65044] Restrict pointer bounds checker with Sanitizer

Ilya Enkovich enkovich.gnu@gmail.com
Mon Feb 16 15:21:00 GMT 2015


Hi,

This patch restricts usage of Pointer Bounds Checker with Sanitizer.  OK for trunk?

Thanks,
Ilya
--
gcc/

2015-02-16  Ilya Enkovich  <ilya.enkovich@intel.com>

	PR target/65044
	* toplev.c (process_options): Restrict Pointer Bounds Checker
	usage with sanitizers.

gcc/testsuite/

2015-02-16  Ilya Enkovich  <ilya.enkovich@intel.com>

	PR target/65044
	* gcc.target/i386/pr65044.c: New.


diff --git a/gcc/testsuite/gcc.target/i386/pr65044.c b/gcc/testsuite/gcc.target/i386/pr65044.c
new file mode 100644
index 0000000..79ecb04
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr65044.c
@@ -0,0 +1,12 @@
+/* { dg-error "-fcheck-pointer-bounds is not supported with sanitizers" } */
+/* { dg-do compile } */
+/* { dg-require-effective-target mpx } */
+/* { dg-options "-fcheck-pointer-bounds -mmpx -fsanitize=address" } */
+
+extern int x[];
+
+void
+foo ()
+{
+  x[0] = 0;
+}
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 99cf180..bf987c8 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1376,6 +1376,9 @@ process_options (void)
     {
       if (targetm.chkp_bound_mode () == VOIDmode)
 	error ("-fcheck-pointer-bounds is not supported for this target");
+
+      if (flag_sanitize)
+	error ("-fcheck-pointer-bounds is not supported with sanitizers");
     }
 
   /* One region RA really helps to decrease the code size.  */



More information about the Gcc-patches mailing list