This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Divide_1 testsuite fail due to a problem in the unwinding code


On 01/27/2012 05:18 PM, Dave Korn wrote:
> On 27/01/2012 17:16, Andrew Haley wrote:
>> On 01/27/2012 05:14 PM, Dave Korn wrote:
>>> On 27/01/2012 17:01, Andrew Haley wrote:
>>>> On 01/27/2012 04:46 PM, Andreas Krebbel wrote:
>>>>> Starting with this IRA patch:
>>>>> http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00028.html
>>>>> __divdi3 does *not* need a stack frame at all.
>>>>>
>>>>> So the CFAs of __divdi3 and probe_1 are the same!
>>>> I'm confused.
>>>>
>>>> But __divdi3 should have been compiled with enough unwinder data
>>>> that it can be found; it should not matter whether __divdi3 has
>>>> a stack frame or not.
>>>>
>>>> So why doesn't __divdi3 have a CFA of its own?
>>>   Unless I've misunderstood, it's because the CFA *is* the stack frame (base?)
>>> pointer.
>>
>> Ah, it's not that it has no stack frame, it's that it has no
>> stack adjustment at all, not even a push?
> 
>   Well the return address might get pushed but if the CFA is the stack frame
> base rather than current stack pointer, that won't change.

Yabbut, in such functions the dwarf debug info can set the CFA
to be SP.  I'm pretty sure I've seen that done in frameless functions.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]