> From: Geert Uytterhoeven <ge...@linux-m68k.org> > Date: Tue, 12 Feb 2013 11:17:22 +0100 > > The test for double-aligned members in dix_valuator_alloc() currently > depends on "if !defined(__i386__) && !defined(__sh__)". This covers > m68k, where it fails. > > According to the comment, the test should be limited to 64-bit > platforms only. Hence check if sizeof(long) == 8 instead.
Unfortunately the comment isn't accurate. There are quite a few 32-bit architectures that demand 64-bit alignment of doubles. At least arm, hppa, powerpc and sparc fall into that category. Those that only required 32-bit alignment seemed to be a minority. Even if you include m68k in that category, that's still the case. My advice would be to add __m68k__ to the list and adjust the comment to say something like: "Most architectures, even 32-bit ones, require 64-bit alignment". > Signed-off-by: Geert Uytterhoeven <ge...@linux-m68k.org> > --- > Untested for now > > test/input.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/test/input.c b/test/input.c > index be988a4..ed29bdc 100644 > --- a/test/input.c > +++ b/test/input.c > @@ -1384,11 +1384,11 @@ dix_valuator_alloc(void) > > assert(v); > assert(v->numAxes == num_axes); > -#if !defined(__i386__) && !defined(__sh__) > - /* must be double-aligned on 64 bit */ > - assert(((void *) v->axisVal - (void *) v) % sizeof(double) == 0); > - assert(((void *) v->axes - (void *) v) % sizeof(double) == 0); > -#endif > + if (sizeof(long) == 8) { > + /* must be double-aligned on 64 bit */ > + assert(((void *) v->axisVal - (void *) v) % sizeof(double) == 0); > + assert(((void *) v->axes - (void *) v) % sizeof(double) == 0); > + } > num_axes++; > } > > -- > 1.7.0.4 > > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel