Patchwork Do not disable -fomit-frame-pointer on !ACCUMULATE_OUTGOING_ARGS targets

login
register
mail settings
Submitter Eric Botcazou
Date March 28, 2013, 8:25 a.m.
Message ID <2005232.ExeqZnW5gx@polaris>
Download mbox | patch
Permalink /patch/231927/
State New
Headers show

Comments

Eric Botcazou - March 28, 2013, 8:25 a.m.
> Isn't pass_dwarf2_frame enabled whenever we're generating any unwind info?

OK, I've installed this on mainline, 4.8 branch and 4.7 branch.


2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>

        * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
        general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
        is not enabled.

Patch

Index: toplev.c
===================================================================
--- toplev.c	(revision 196816)
+++ toplev.c	(working copy)
@@ -1527,18 +1527,6 @@  process_options (void)
   if (!flag_stack_protect)
     warn_stack_protect = 0;
 
-  /* ??? Unwind info is not correct around the CFG unless either a frame
-     pointer is present or A_O_A is set.  Fixing this requires rewriting
-     unwind info generation to be aware of the CFG and propagating states
-     around edges.  */
-  if (flag_unwind_tables && !ACCUMULATE_OUTGOING_ARGS
-      && flag_omit_frame_pointer)
-    {
-      warning (0, "unwind tables currently require a frame pointer "
-	       "for correctness");
-      flag_omit_frame_pointer = 0;
-    }
-
   /* Address Sanitizer needs porting to each target architecture.  */
   if (flag_asan
       && (targetm.asan_shadow_offset == NULL