Package: gcc-4.7 Version: 4.7.2-5 Severity: important Dear Maintainer,
I managed to crash gcc using some of its vectorization builtins. Precompiled source attached. I did not test upstream; sorry, they don't pay me to do that. Cheers, Anye Li *** Please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these lines *** -- System Information: Debian Release: 7.6 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages gcc-4.7 depends on: ii binutils 2.22-8 ii cpp-4.7 4.7.2-5 ii gcc-4.7-base 4.7.2-5 ii libc6 2.13-38+deb7u4 ii libgcc1 1:4.7.2-5 ii libgmp10 2:5.0.5+dfsg-2 ii libgomp1 4.7.2-5 ii libitm1 4.7.2-5 ii libmpc2 0.9-4 ii libmpfr4 3.1.0-5 ii libquadmath0 4.7.2-5 ii zlib1g 1:1.2.7.dfsg-13 Versions of packages gcc-4.7 recommends: ii libc6-dev 2.13-38+deb7u4 Versions of packages gcc-4.7 suggests: pn binutils-gold <none> pn gcc-4.7-doc <none> pn gcc-4.7-locales <none> ii gcc-4.7-multilib 4.7.2-5 ii libcloog-ppl0 0.15.11-4 pn libgcc1-dbg <none> pn libgomp1-dbg <none> pn libitm1-dbg <none> pn libmudflap0-4.7-dev <none> pn libmudflap0-dbg <none> pn libppl-c2 <none> pn libppl7 <none> pn libquadmath0-dbg <none> -- no debconf information
// /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 -quiet -imultiarch x86_64-linux-gnu crash.c -quiet -dumpbase crash.c -mtune=generic -march=x86-64 -auxbase crash -O3 -o - -frandom-seed=0 # 1 "crash.c" # 1 "<command-line>" # 1 "crash.c" typedef float v4sf __attribute__ ((vector_size(16))); typedef int v4si __attribute__ ((vector_size(16))); void vcabsf8(int n, v4sf *a, const v4sf (*x)[2]) { int i,j; v4si i0={0,2,4,6},i1={1,3,5,7}; v4sf z={0.0f,0.0f,0.0f,0.0f},o={1.0f,1.0f,1.0f,1.0f}, sgn={-1.0f,1.0f},sel={0.0f,1.0f}, xr,xi,p,q,r,s; for (i=0;i<n;++i) { xr=__builtin_shuffle(x[i][0],x[i][1],i0); xi=__builtin_shuffle(x[i][0],x[i][1],i1); xr*=__builtin_shuffle(sgn,1+(xr<z)); xi*=__builtin_shuffle(sgn,1+(xi<z)); s=__builtin_shuffle(sel,1+(xi<xr)); r=o-s; p=s*xr+r*xi; q=r*xr+s*xi; for (j=0;j<3;++j) { r=q/p; r*=r; s=r/(4.0f+r); p+=2*s*p; q*=s; } a[i]=p; } }