RFA: Pass -mno-omit-leaf-frame-pointer to sse-10.c

Mark Mitchell mark@codesourcery.com
Mon May 7 19:21:00 GMT 2007


Jan Hubicka wrote:
>>> This test passes -fno-omit-frame-pointer.  On most systems, that
>>> implies -mno-omit-leaf-frame-pointer -- but not on Solaris 10.  And,
>>> it turns out that both are required for the test to pass.
>> The -fno-omit-frame-pointer is specified because of warning:
>>
>>   /* ??? Unwind info is not correct around the CFG unless either a frame
>>      pointer is present or M_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 || flag_asynchronous_unwind_tables
>>        || flag_exceptions || flag_non_call_exceptions)
>>       && flag_omit_frame_pointer
>>       && !(target_flags & MASK_ACCUMULATE_OUTGOING_ARGS))
>>
>> However since this thing is testing only flag_omit_frame_pointer.  This
>> probably won't first with -fno-omit-frame-pointer.  Moreover I think it
> 
> Huh, I've managed to encode this in my typo system.  What I meant is
> that the warning does not depend on -mno-omit-leaf-frame-pointer and
> thus the problem you are seeing is probably independent.  

Actually, it does depend on that flag  When I run an x86 GNU/Linux
compiler like this:

cc1 -quiet -O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args
-fno-omit-frame-pointer -momit-leaf-frame-pointer sse-10.c

I get:

/home/mitchell/scratch/solaris-mainline/src/gcc-mainline/gcc/testsuite/gcc.target/i386/sse-10.c:1:
warning: unwind tables currently require either a frame pointer or
-maccumulate-outgoing-args for correctness

So, if for some reason you ran the testsuite with
-momit-leaf-frame-pointer on x86 GNU/Linux, you'd probably see the same
failure I'm seeing on Solaris 10 x86.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc-patches mailing list