Nested functions on ARM (mk II)
Richard Henderson
rth@redhat.com
Tue Nov 14 19:27:00 GMT 2000
On Tue, Nov 14, 2000 at 05:41:26PM -0800, Nick Clifton wrote:
> Secondly using a spare stack slot:
>
> str ip, [sp, #-4]!
> add ip, sp, #4
> stmfd sp!, {r4, fp, ip, lr, pc}
You've missed the fact that you've changed the stack_pointer
to arg_pointer elimination offset? The frame_pointer to
arg_pointer elimination offset appears to be unchanged, but
surely stuff starts failing if you use -fomit-frame-pointer.
That is surely the cause of your claimed varargs problems.
The correct solution is to adjust INITIAL_ELIMINATION_OFFSET
to account for this extra word on the stack.
r~
More information about the Gcc-bugs
mailing list