* [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames
@ 2009-12-18 14:13 Maciej W. Rozycki
2009-12-18 19:35 ` Michael Snyder
0 siblings, 1 reply; 4+ messages in thread
From: Maciej W. Rozycki @ 2009-12-18 14:13 UTC (permalink / raw)
To: gdb-patches
Hi,
Would anyone please review this patch:
http://sourceware.org/ml/gdb-patches/2009-08/msg00431.html
Thanks,
Maciej
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames
2009-12-18 14:13 [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames Maciej W. Rozycki
@ 2009-12-18 19:35 ` Michael Snyder
2009-12-22 15:28 ` Richard Earnshaw
0 siblings, 1 reply; 4+ messages in thread
From: Michael Snyder @ 2009-12-18 19:35 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, rearnsha
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?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames
2009-12-18 19:35 ` Michael Snyder
@ 2009-12-22 15:28 ` Richard Earnshaw
2009-12-22 16:17 ` Daniel Jacobowitz
0 siblings, 1 reply; 4+ messages in thread
From: Richard Earnshaw @ 2009-12-22 15:28 UTC (permalink / raw)
To: Michael Snyder; +Cc: Maciej W. Rozycki, gdb-patches
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames
2009-12-22 15:28 ` Richard Earnshaw
@ 2009-12-22 16:17 ` Daniel Jacobowitz
0 siblings, 0 replies; 4+ messages in thread
From: Daniel Jacobowitz @ 2009-12-22 16:17 UTC (permalink / raw)
To: Richard Earnshaw; +Cc: Michael Snyder, Maciej W. Rozycki, gdb-patches
On Tue, Dec 22, 2009 at 03:28:41PM +0000, Richard Earnshaw wrote:
> 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?
We're before execution of the above trampoline at this point, trying
to compensate for it; that's why the stack goes up, we're simulating
return from the trampoline. The code sequence was chosen by the
kernel, weird stack alignment and all.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-12-22 16:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-18 14:13 [PING][PATCH] ARM/Linux: Unwind restart_syscall(2) frames Maciej W. Rozycki
2009-12-18 19:35 ` Michael Snyder
2009-12-22 15:28 ` Richard Earnshaw
2009-12-22 16:17 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox