re PR target/81861 (ASan pr64820.c testcase segfaults with LTO and -fstack-protector...
authorMaxim Ostapenko <m.ostapenko@samsung.com>
Thu, 17 Aug 2017 11:58:13 +0000 (11:58 +0000)
committerMaxim Ostapenko <chefmax@gcc.gnu.org>
Thu, 17 Aug 2017 11:58:13 +0000 (14:58 +0300)
2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>

PR target/81861
* config/i386/i386.c (ix86_option_override_internal): Save target
specific options after ix86_stack_protector_guard_reg was changed.

From-SVN: r251145

gcc/ChangeLog
gcc/config/i386/i386.c

index d4db491b1f28bb5a978670c928f824ce90e91288..088f312c84326b2276a1f60da04ed8c91d6792d7 100644 (file)
@@ -1,3 +1,9 @@
+2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+       PR target/81861
+       * config/i386/i386.c (ix86_option_override_internal): Save target
+       specific options after ix86_stack_protector_guard_reg was changed.
+
 2017-08-17  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/81827
index 1d88e4f247add49ba9195f1dc8291b525b2a1d42..3720d27504b8478392e5a9c4c071891a85b10d3d 100644 (file)
@@ -6651,12 +6651,6 @@ ix86_option_override_internal (bool main_args_p,
   gcc_assert ((opts->x_target_flags & MASK_LONG_DOUBLE_64) == 0
              || (opts->x_target_flags & MASK_LONG_DOUBLE_128) == 0);
 
-  /* Save the initial options in case the user does function specific
-     options.  */
-  if (main_args_p)
-    target_option_default_node = target_option_current_node
-      = build_target_option_node (opts);
-
   /* Handle stack protector */
   if (!opts_set->x_ix86_stack_protector_guard)
     opts->x_ix86_stack_protector_guard
@@ -6740,6 +6734,12 @@ ix86_option_override_internal (bool main_args_p,
       free (str);
     }
 
+  /* Save the initial options in case the user does function specific
+     options.  */
+  if (main_args_p)
+    target_option_default_node = target_option_current_node
+      = build_target_option_node (opts);
+
   return true;
 }