aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaxim Ostapenko <m.ostapenko@samsung.com>2017-08-17 11:58:13 +0000
committerMaxim Ostapenko <chefmax@gcc.gnu.org>2017-08-17 14:58:13 +0300
commitb8d8d3ff49a530e6a2ea99d546f41497f3f96654 (patch)
treeadc7cbecb52dd5c585043f773c049faec58568a2 /gcc
parentab4b719a48a68503edf03b9aca745c242f55c9d7 (diff)
downloadgcc-b8d8d3ff49a530e6a2ea99d546f41497f3f96654.zip
gcc-b8d8d3ff49a530e6a2ea99d546f41497f3f96654.tar.gz
gcc-b8d8d3ff49a530e6a2ea99d546f41497f3f96654.tar.bz2
re PR target/81861 (ASan pr64820.c testcase segfaults with LTO and -fstack-protector-strong)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c12
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d4db491..088f312 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1d88e4f..3720d275 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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;
}