diff options
Diffstat (limited to 'gcc48-rh1469697-13.patch')
-rw-r--r-- | gcc48-rh1469697-13.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc48-rh1469697-13.patch b/gcc48-rh1469697-13.patch new file mode 100644 index 0000000..64c98aa --- /dev/null +++ b/gcc48-rh1469697-13.patch @@ -0,0 +1,21 @@ + * config/i386/i386.c (ix86_expand_prologue): Tighten assert + for int_registers_saved. + +diff -rup a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +--- a/gcc/config/i386/i386.c 2017-11-03 10:39:24.585633524 -0600 ++++ b/gcc/config/i386/i386.c 2017-11-03 10:41:10.654774032 -0600 +@@ -10686,8 +10686,12 @@ ix86_expand_prologue (void) + && (flag_stack_check == STATIC_BUILTIN_STACK_CHECK + || flag_stack_clash_protection)) + { +- /* We expect the registers to be saved when probes are used. */ +- gcc_assert (int_registers_saved); ++ /* This assert wants to verify that integer registers were saved ++ prior to probing. This is necessary when probing may be implemented ++ as a function call (Windows). It is not necessary for stack clash ++ protection probing. */ ++ if (!flag_stack_clash_protection) ++ gcc_assert (int_registers_saved); + + if (flag_stack_clash_protection) + { |