aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-05-06 09:35:59 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-05-06 07:35:59 +0000
commit080629d32eca5ea202479022f0bd429a813be7c4 (patch)
treed685a6e391fe2a44edd6a81bc75ae1bc0276ca7b
parentee7a003f97cbab8571afdc34aae6300dc756045e (diff)
downloadgcc-080629d32eca5ea202479022f0bd429a813be7c4.zip
gcc-080629d32eca5ea202479022f0bd429a813be7c4.tar.gz
gcc-080629d32eca5ea202479022f0bd429a813be7c4.tar.bz2
Error only when a non-default -mabi is used with sanitizers (PR sanitizer/90312).
2019-05-06 Martin Liska <mliska@suse.cz> PR sanitizer/90312 * config/i386/i386-options.c (ix86_option_override_internal): Error only when -mabi is selected to a non-default version. 2019-05-06 Martin Liska <mliska@suse.cz> PR sanitizer/90312 * gcc.dg/asan/pr87930.c: Run the test only on *linux or *gnu systems. * gcc.dg/tsan/pr88017.c: Likewise. From-SVN: r270899
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386-options.c17
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/asan/pr87930.c2
-rw-r--r--gcc/testsuite/gcc.dg/tsan/pr88017.c2
5 files changed, 26 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06ba752..9db7940 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-05-06 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/90312
+ * config/i386/i386-options.c (ix86_option_override_internal): Error only
+ when -mabi is selected to a non-default version.
+
2019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
Martin Liska <mliska@suse.cz>
diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c
index 1a673d2..4ec10ef 100644
--- a/gcc/config/i386/i386-options.c
+++ b/gcc/config/i386/i386-options.c
@@ -1704,12 +1704,17 @@ 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%>");
- if ((opts->x_flag_sanitize & SANITIZE_THREAD) && opts->x_ix86_abi == MS_ABI)
- error ("%<-mabi=ms%> not supported with %<-fsanitize=thread%>");
+ const char *abi_name = opts->x_ix86_abi == MS_ABI ? "ms" : "sysv";
+ if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS)
+ && opts->x_ix86_abi != DEFAULT_ABI)
+ error ("%<-mabi=%s%> not supported with %<-fsanitize=address%>", abi_name);
+ if ((opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS)
+ && opts->x_ix86_abi != DEFAULT_ABI)
+ error ("%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>",
+ abi_name);
+ if ((opts->x_flag_sanitize & SANITIZE_THREAD)
+ && opts->x_ix86_abi != DEFAULT_ABI)
+ error ("%<-mabi=%s%> not supported with %<-fsanitize=thread%>", abi_name);
/* For targets using ms ABI enable ms-extensions, if not
explicit turned off. For non-ms ABI we turn off this
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bf4a602..3e4bf2b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2019-05-06 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/90312
+ * gcc.dg/asan/pr87930.c: Run the test only on *linux or *gnu
+ systems.
+ * gcc.dg/tsan/pr88017.c: Likewise.
+
2019-05-06 Li Jia He <helijia@linux.ibm.com>
* gcc.dg/tree-ssa/pr37508.c: Add the no-ssa-phiopt option to skip phi
diff --git a/gcc/testsuite/gcc.dg/asan/pr87930.c b/gcc/testsuite/gcc.dg/asan/pr87930.c
index 4f8e699..5a65d3f 100644
--- a/gcc/testsuite/gcc.dg/asan/pr87930.c
+++ b/gcc/testsuite/gcc.dg/asan/pr87930.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
+/* { dg-do compile { target { { i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-fsanitize=address -mabi=ms" } */
int i;
diff --git a/gcc/testsuite/gcc.dg/tsan/pr88017.c b/gcc/testsuite/gcc.dg/tsan/pr88017.c
index 82693a6..10df2818 100644
--- a/gcc/testsuite/gcc.dg/tsan/pr88017.c
+++ b/gcc/testsuite/gcc.dg/tsan/pr88017.c
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
+/* { dg-do compile { target { { i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-fsanitize=thread -mabi=ms" } */
int i;