[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen on ARM: Force register dump from guest.



At 16:48 +0200 on 07 Jun (1370623706), Sander Bogaert wrote:
> On 6 June 2013 11:33, Tim Deegan <tim@xxxxxxx> wrote:
> > At 20:18 +0200 on 05 Jun (1370463493), Sander Bogaert wrote:
> >> My application crashes whenever I use variadic arguments, the crashes
> >> are totally random and sometimes non-existent, if this would raise any
> >> red flags in your brain I'd be very happy to hear some suggestions too
> >
> > In the early stages of the Xen ARM port we had intermittent problems
> > with varadics when the stack pointer got misaligned -- the toolchain's
> > code for laying out stack arguments assumes that the stack pointer is
> > properly (i.e. 8-byte, on 32-bit ARM!) aligned to start with, and can do
> > some confusing things if not.
> 
> Thank you for the suggestion. I did however verify the stack is
> properly aligned in the linkerscript.

It needs a bit more than that -- the stack pointer must be 8-byte aligned
on all (visible) function calls.  In our case, although the stack area
was properly aligned, there were some places (in asm code) where we
called C functions with the stack only 4-byte aligned.

Anyway, if the application runs fine on linux without Xen, I guess we
should be looking at the Xen code rather than yours. :)  If it's really
non-deterministic, even with the same call stacks, then maybe something
is messed up with interrupt delivery.  It might be that Xen's
return-from-interrupt code doesn't unwind non-aligned stacks properly.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.