Package: gcc-4.7 Version: 4.7.2-5 Severity: grave Dear Maintainer,
gcc produces incorrect code with -O2 for this simple example: zaphod@eddie:~$ cat a.c #include <string.h> #include <stdio.h> int foo(int); int main(int argc, char** argv) { char pstring[256]; memset(pstring, 0, 256*sizeof(char)); *pstring = ' '; strncat(pstring, "hello world", sizeof(pstring)); *pstring = (char) (strlen(pstring) - 1); if (foo(strlen(pstring)) <= 0) return (-1); return 0; } int foo(int count) { printf("%d\n", count); return count; } zaphod@eddie:~$ gcc -O0 a.c && ./a.out 12 zaphod@eddie:~$ gcc -O2 a.c && ./a.out 0 This could cause all kinds of data loss and security holes. -- System Information: Debian Release: 7.0 APT prefers stable APT policy: (500, 'stable'), (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.8.7 (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 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 Versions of packages gcc-4.7 suggests: pn binutils-gold <none> pn gcc-4.7-doc <none> pn gcc-4.7-locales <none> pn gcc-4.7-multilib <none> pn libcloog-ppl0 <none> 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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org