[PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames
Richard Earnshaw
rearnsha@arm.com
Tue Dec 22 15:28:00 GMT 2009
On Fri, 2009-12-18 at 11:32 -0800, Michael Snyder wrote:
> Maciej W. Rozycki wrote:
> > Hi,
> >
> > Would anyone please review this patch:
> >
> > http://sourceware.org/ml/gdb-patches/2009-08/msg00431.html
> >
> > Thanks,
> >
> > Maciej
>
> Well, I don't see anything glaringly wrong with it...
>
> Richard?
>
>
It's not code that I'm familiar with, however...
svc 0x00900000
ldr pc, [sp], #12
then
+ trad_frame_set_reg_value (this_cache, ARM_SP_REGNUM, sp + 12);
So why is the stack pointer /incremented/ by 12 at this point (which
deallocates stack) rather than decremented to compensate for the
increment that will follow? Also, shouldn't the stack allocation be a
multiple of 8 to fully conform to the ABI stack alignment constraints?
What about thumb support?
Finally, do you need different code for Big-endian and BE-8 modes?
R.
More information about the Gdb-patches
mailing list