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