[Pixman] Test suite failures on 32-bit x86?
Siarhei Siamashka
siarhei.siamashka at gmail.com
Tue Nov 12 15:37:42 PST 2013
On Tue, 12 Nov 2013 11:50:59 -0800
Matt Turner <mattst88 at gmail.com> wrote:
> Building the 0.32.2 release and from git with
>
> CC="gcc -m32" ./autogen.sh && make check
>
> PASS: prng-test
> PASS: a1-trap-test
> PASS: region-translate-test
> PASS: pdf-op-test
> PASS: region-test
> PASS: fetch-test
> ../test-driver: line 95: 3312 Segmentation fault "$@" > $log_file 2>&1
> FAIL: rotate-test
> PASS: oob-test
> PASS: infinite-loop
> PASS: combiner-test
> PASS: pixel-test
> PASS: trap-crasher
> PASS: alpha-loop
> PASS: thread-test
> PASS: scaling-helpers-test
> PASS: scaling-crash-test
> ../test-driver: line 95: 3571 Segmentation fault "$@" > $log_file 2>&1
> FAIL: matrix-test
> PASS: gradient-crash-test
> ../test-driver: line 95: 3637 Segmentation fault "$@" > $log_file 2>&1
> FAIL: blitters-test
> ../test-driver: line 95: 3659 Segmentation fault "$@" > $log_file 2>&1
> FAIL: glyph-test
> ../test-driver: line 95: 3681 Segmentation fault "$@" > $log_file 2>&1
> FAIL: scaling-test
> ../test-driver: line 95: 3703 Segmentation fault "$@" > $log_file 2>&1
> FAIL: affine-test
> PASS: alphamap
> PASS: composite-traps-test
> PASS: region-contains-test
> PASS: stress-test
> PASS: composite
>
> Manually running the tests shows that they all crash in
> prng_rand_128_r (utils-prng.h:138):
>
> > uint32x4 e = x->a - ((x->b << 27) + (x->b >> (32 - 27)));
>
> which is code inside an #ifdef GCC_VECTOR_EXTENSIONS_SUPPORTED block.
>
> I realize this may be a gcc bug, so I tested with 4.8.1 and 4.7.2 and
> got the same results. Testing with 4.6.3 leads to only a single
> failure, in matrix-test (with a different backtrace, so probably
> different).
>
> Do we need some kind of configure check to make sure that our use of
> gcc's vector extensions is actually going to work?
git bisect blames the commit "utils.c: On x86-32 unalign the stack
before calling test_function":
http://cgit.freedesktop.org/pixman/commit/?id=3dce229772354877ef29
(with gcc 4.7.2 and using export CFLAGS="-O2 -m32" before configure)
--
Best regards,
Siarhei Siamashka
More information about the Pixman
mailing list