This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB 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: ARM stack alignment on hand called functions


> > > 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.


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