]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r270899
authorMartin Liska <mliska@suse.cz>
Mon, 6 May 2019 14:01:45 +0000 (16:01 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 6 May 2019 14:01:45 +0000 (14:01 +0000)
2019-05-06  Martin Liska  <mliska@suse.cz>

Backport from mainline
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>

Backport from mainline
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: r270912

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/asan/pr87930.c
gcc/testsuite/gcc.dg/tsan/pr88017.c

index ddfb3b6d314bfbe3c51319a3baf28649ea4ff09b..b1659d3cb124713a034f5b0e17b43e6d233483f7 100644 (file)
@@ -1,3 +1,12 @@
+2019-05-06  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       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-04  Michael Meissner  <meissner@linux.ibm.com>
 
        * ChangeLog.ibm: Delete unintentional commit on the wrong branch.
index 8a1ffd3769f57dd042c711cbef1ca18d68a26100..5b946e1a32fa503f8d340c3fa35851512425bf5e 100644 (file)
@@ -3705,12 +3705,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
index cb4df8a9f78b9819f7fad2f41d9e00b520d07eed..08fc24eeadce59d4e91f00143aef981ebc592825 100644 (file)
@@ -1,3 +1,13 @@
+2019-05-06  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       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-04  Michael Meissner  <meissner@linux.ibm.com>
 
        * ChangeLog.ibm: Delete unintentional commit on the wrong branch.
index 4f8e6999fde855381580edeace5df21178afd393..5a65d3fb03097943c659b062bd5db59ad02f601d 100644 (file)
@@ -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;
index 82693a67e8722c04d19c0cc1b49af2bfa8934904..10df2818b0d35a10d597868f9ce97ef6ed136869 100644 (file)
@@ -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;