22 lines
910 B
Diff
22 lines
910 B
Diff
|
* 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)
|
||
|
{
|