Hi,

the fix for PR target/81736 unconditionally overrules -fno-omit-frame-pointer, 
including at -O0 where it is implicit.  That seems brutal and unnecessary so 
the attached patch reverts it at -O0 and thus fixes 135 failures in the GDB 
testsuite:

                === gdb Summary ===
 
-# of expected passes           55397
-# of unexpected failures       359
+# of expected passes           55534
+# of unexpected failures       224
 # of unexpected successes      3
 # of expected failures         64
 # of unknown successes         3

Tested on x86-64/Linux, OK for mainline and 8 branch?


2018-06-20  Eric Botcazou  <ebotca...@adacore.com>

        * config/i386/i386.c (ix86_finalize_stack_frame_flags): Do not overrule
        -fno-omit-frame-pointer when not optimizing.

-- 
Eric Botcazou
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8a0baed5e02..d7dad81786a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -13328,7 +13328,7 @@ ix86_finalize_stack_frame_flags (void)
      is used, but in the end nothing that needed the stack alignment had
      been spilled nor stack access, clear frame_pointer_needed and say we
      don't need stack realignment.  */
-  if ((stack_realign || !flag_omit_frame_pointer)
+  if ((stack_realign || (!flag_omit_frame_pointer && optimize))
       && frame_pointer_needed
       && crtl->is_leaf
       && crtl->sp_is_unchanging

Reply via email to