[Pixman] GCC_VECTOR_EXTENSIONS_SUPPORTED on 32 bits system

Olivier Langlois olivier at trillion01.com
Sun Nov 17 06:36:52 PST 2013


Hi,

This is probably more a gcc issue and maybe I am not the first one 
reporting you the issue but a bunch of tests are segfaulting when 
building pixman 0.32.2. If I comment out the 4-5 lines of code in 
test/utils-prng.h defining GCC_VECTOR_EXTENSIONS_SUPPORTED, the 
segfaults goes away.

Fortunately, it only affects unittests but please consider the issue 
before expending the vector extensions usage to the lib itself.

lano1106 at hpmini ~/dev/packages/pixman/repos/extra-i686 $ gcc --version
gcc (GCC) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

lano1106 at hpmini 
~/dev/packages/pixman/repos/extra-i686/src/pixman-0.32.2/test/.libs $ 
gdb lt-rotate-test /tmp/core.lt-rotate-test.8879
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from 
/home/lano1106/dev/packages/pixman/repos/extra-i686/src/pixman-0.32.2/test/.libs/lt-rotate-test...done.
[New LWP 8893]
[New LWP 8879]

warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by 
`/home/lano1106/dev/packages/pixman/repos/extra-i686/src/pixman-0.32.2/test/.lib'.
Program terminated with signal 11, Segmentation fault.
#0  prng_rand_128_r (data=0xb73b20a8, x=<synthetic pointer>) at 
utils-prng.h:143
143        data->vw = x->d;
(gdb) where
#0  prng_rand_128_r (data=0xb73b20a8, x=<synthetic pointer>) at 
utils-prng.h:143
#1  randmemset_internal (aligned=0, flags=0, size=4096, buf=0xb6a00468 
"", prng=<optimized out>) at utils-prng.c:117
#2  prng_randmemset_r (prng=<optimized out>, prng at entry=0xb73b2ae0, 
voidbuf=<optimized out>,
     voidbuf at entry=0xb6a00468, size=<optimized out>, size at entry=4096, 
flags=<optimized out>, flags at entry=0)
     at utils-prng.c:282
#3  0x080492f1 in prng_randmemset (flags=0, size=4096, 
buffer=0xb6a00468) at utils.h:57
#4  make_image () at rotate-test.c:69
#5  0x0804941e in test_transform (testnum=7501, verbose=0) at 
rotate-test.c:98
#6  0x080495c6 in fuzzer_test_main._omp_fn.0 () at utils.c:652
#7  0x0a03d868 in ?? ()
Cannot access memory at address 0xfffffe50



More information about the Pixman mailing list