ARM stack alignment on hand called functions
Richard Earnshaw
rearnsha@arm.com
Thu Nov 21 02:58:00 GMT 2002
> > > OK, but with this change the alignment is being done *after* any
> arguments
> > > that have to go onto the stack have been pushed. It should happen
> > > *before*. What happens if you have?
>
> You're right. If I put the "sp = (sp + 3) & ~3" at the top of
> arm_push_arguments(), everything works. I see that a lot of stuff in
> arm-tdep.c has been changed extensively on your head branch, including
> arm_push_arguments(). Probably once we move to the head branch, everything
> will work fine.
>
Don't forget that the stack is a "full-descending" stack; so you should be
rounding the value down, not up.
R.
More information about the Gdb
mailing list