pixman/test
Søren Sandmann 97a655d5ca test/utils.c: Make the stack unaligned only on 32 bit Windows
The call_test_function() contains some assembly that deliberately
causes the stack to be aligned to 32 bits rather than 128 bits on
x86-32. The intention is to catch bugs that surface when pixman is
called from code that only uses a 32 bit alignment.

However, recent versions of GCC apparently make the assumption (either
accidentally or deliberately) that that the incoming stack is aligned
to 128 bits, where older versions only seemed to make this assumption
when compiling with -msse2. This causes the vector code in the PRNG to
now segfault when called from call_test_function() on x86-32.

This patch fixes that by only making the stack unaligned on 32 bit
Windows, where it would definitely be incorrect for GCC to assume that
the incoming stack is aligned to 128 bits.

V2: Put "defined(...)" around __GNUC__

Reviewed-and-Tested-by: Matt Turner <mattst88@gmail.com>
Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=491110
(cherry picked from commit f473fd1e75)
2013-11-17 17:45:56 -08:00
..
a1-trap-test.c a1-trap-test: Add tests for operator_name and format_name() 2013-02-13 02:18:01 -05:00
affine-test.c test: Test negative strides 2013-09-19 21:37:56 -04:00
alpha-loop.c test: Fix build on MSVC 2013-06-25 16:55:24 +02:00
alphamap.c utils.[ch]: Add new format_name() function 2013-01-23 12:24:31 -05:00
blitters-test.c pixman-combine32.c: Make Color Burn routine follow the math more closely 2013-10-12 15:04:27 -04:00
check-formats.c test: Add new check-formats utility 2013-02-13 02:18:01 -05:00
combiner-test.c test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32' 2012-12-06 17:20:38 +02:00
composite-traps-test.c test: Test negative strides 2013-09-19 21:37:56 -04:00
composite.c test: Move do_composite() function from composite.c to utils.c 2013-02-13 02:18:01 -05:00
fetch-test.c Use the ARRAY_LENGTH() macro when possible 2011-11-09 09:17:00 +01:00
fuzzer-find-diff.pl test: fix bisecting issue in fuzzer-find-diff.pl 2012-06-12 04:21:57 +03:00
glyph-test.c test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32' 2012-12-06 17:20:38 +02:00
gradient-crash-test.c Add combiner test 2012-10-01 12:56:09 -04:00
infinite-loop.c test: Add inifinite-loop test 2012-09-24 18:29:30 -04:00
lowlevel-blt-bench.c test: add "pixbuf" and "rpixbuf" to lowlevel-blt-bench 2013-04-30 15:38:43 -04:00
Makefile.am test: Add new thread-test program 2013-10-01 23:33:57 +03:00
Makefile.sources test: Add new thread-test program 2013-10-01 23:33:57 +03:00
Makefile.win32 Fix building of "other" programs on MSVC 2013-10-09 14:23:11 +02:00
matrix-test.c test: fix matrix-test on big endian systems 2013-08-05 01:42:29 +03:00
oob-test.c Use the ARRAY_LENGTH() macro when possible 2011-11-09 09:17:00 +01:00
pdf-op-test.c Add combiner test 2012-10-01 12:56:09 -04:00
pixel-test.c test: Add new pixel-test regression test 2013-02-13 02:18:01 -05:00
prng-test.c test: larger 0xFF/0x00 filled clusters in random images for blitters-test 2013-04-28 22:14:47 +03:00
radial-perf-test.c test: Add radial-perf-test, a microbenchmark for radial gradients 2013-03-11 22:41:45 -04:00
region-contains-test.c test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32' 2012-12-06 17:20:38 +02:00
region-test.c test: Switch to the new PRNG instead of old LCG 2012-12-06 17:20:35 +02:00
region-translate-test.c test: Cleanup includes 2011-11-09 09:17:00 +01:00
rotate-test.c test: Test negative strides 2013-09-19 21:37:56 -04:00
scaling-bench.c test: safeguard the scaling-bench test against COW 2013-09-07 17:20:09 -04:00
scaling-crash-test.c test: Composite with solid images instead of using pixman_image_fill_* 2012-05-24 15:30:41 -04:00
scaling-helpers-test.c test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32' 2012-12-06 17:20:38 +02:00
scaling-test.c test: Test negative strides 2013-09-19 21:37:56 -04:00
stress-test.c stresstest: Ensure that the rasterizer is only given alpha formats 2013-01-29 20:43:51 -05:00
thread-test.c test: Fix the win32 build 2013-11-11 19:09:46 -05:00
trap-crasher.c test/trap-crasher.c: Add trapezoid that demonstrates a crash 2013-11-01 20:24:27 -04:00
utils-prng.c test: larger 0xFF/0x00 filled clusters in random images for blitters-test 2013-04-28 22:14:47 +03:00
utils-prng.h test: larger 0xFF/0x00 filled clusters in random images for blitters-test 2013-04-28 22:14:47 +03:00
utils.c test/utils.c: Make the stack unaligned only on 32 bit Windows 2013-11-17 17:45:56 -08:00
utils.h Fix build of check-formats on MSVC 2013-10-09 14:23:11 +02:00