aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-11-13 16:03:58 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-11-13 15:03:58 +0000
commite4db210dd8683bf7b2a8ea828d6ea0b18967630a (patch)
treed47e4029a3214ecc279888efebb9c21da9e0d9ec /gcc
parentca31798e7bf8f87d78ff1ee66c120b135a1b2ebc (diff)
downloadgcc-e4db210dd8683bf7b2a8ea828d6ea0b18967630a.zip
gcc-e4db210dd8683bf7b2a8ea828d6ea0b18967630a.tar.gz
gcc-e4db210dd8683bf7b2a8ea828d6ea0b18967630a.tar.bz2
Do not allow -mabi=ms and -fsanitize={,kernel-}address (PR sanitizer/87930).
2018-11-13 Martin Liska <mliska@suse.cz> PR sanitizer/87930 * config/i386/i386.c (ix86_option_override_internal): Error about usage -mabi=ms and -fsanitize={,kernel-}address. 2018-11-13 Martin Liska <mliska@suse.cz> PR sanitizer/87930 * gcc.target/i386/pr87930.c: New test. From-SVN: r266073
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr87930.c6
4 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9201af4..fc809d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-11-13 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/87930
+ * config/i386/i386.c (ix86_option_override_internal): Error
+ about usage -mabi=ms and -fsanitize={,kernel-}address.
+
2018-11-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
* config/aarch64/aarch64.c
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 711bec0c..b3e0807 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3546,6 +3546,11 @@ ix86_option_override_internal (bool main_args_p,
error ("-mabi=ms not supported with X32 ABI");
gcc_assert (opts->x_ix86_abi == SYSV_ABI || opts->x_ix86_abi == MS_ABI);
+ if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) && opts->x_ix86_abi == MS_ABI)
+ error ("%<-mabi=ms%> not supported with %<-fsanitize=address%>");
+ if ((opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS) && opts->x_ix86_abi == MS_ABI)
+ error ("%<-mabi=ms%> not supported with %<-fsanitize=kernel-address%>");
+
/* For targets using ms ABI enable ms-extensions, if not
explicit turned off. For non-ms ABI we turn off this
option. */
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bc45308..70d9e76 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-13 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/87930
+ * gcc.target/i386/pr87930.c: New test.
+
2018-11-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/87962
diff --git a/gcc/testsuite/gcc.target/i386/pr87930.c b/gcc/testsuite/gcc.target/i386/pr87930.c
new file mode 100644
index 0000000..e9cf29c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr87930.c
@@ -0,0 +1,6 @@
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-fsanitize=address -mabi=ms" } */
+
+int i;
+
+/* { dg-error ".-mabi=ms. not supported with .-fsanitize=address." "" { target *-*-* } 0 } */