This is the mail archive of the
mailing list for the GCC project.
Re: Divide_1 testsuite fail due to a problem in the unwinding code
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:
>>>> __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?)
> 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.
So I expect this could happen with inline and nested functions too. (Or do
nested functions set up a stack frame? I don't know.)