Julien Cristau schrieb: > On Thu, Oct 14, 2010 at 13:23:01 +0200, Nicolai Stange wrote: > >> Hi everybody, >> >> I've got a SIGBUS on sparc/64 bit in ParseClassInfo here: >> XListDev.c:126: B->class = ButtonClass; >> >> the reason is that B->class is an XID which is unsigned long which >> is 8byte here. >> B points to an address not divisible by eight because there have >> been some XAxisInfo's put before it in the *Any-Storage (in previous >> iterations of the same loop). >> sizeof(XAxisInfo)=3*sizeof(int) = 0x0C and thus, it breaks the >> alignment at some point in *Any. >> >> A quick fix that works here is to replace >> int resolution >> by >> long resolution >> in struct _XAxisInfo, XInput.h:809 >> > That would break ABI, though, so we can't do that... I think we should > make sure the length field of a XAnyClassInfo is a multiple of > sizeof(XID). >
perhaps an __attribute__ ((aligned (8))) will help ? can you test it with a small sample programm ? re, wh _______________________________________________ xorg@lists.freedesktop.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg Your subscription address: arch...@mail-archive.com