* [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