[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#288721: marked as done ([PR 19296] [3.3 regression] Range check on short miscompiled at -O)



Your message dated Fri, 28 Jan 2005 03:17:21 -0500
with message-id <E1CuRJh-00009B-00@newraff.debian.org>
and subject line Bug#288721: fixed in gcc-3.3 1:3.3.5-7
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 5 Jan 2005 10:43:59 +0000
>From manuel@msxnet.org Wed Jan 05 02:43:58 2005
Return-path: <manuel@msxnet.org>
Received: from olive.qinip.net [62.100.30.40] 
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1Cm8dy-00059t-00; Wed, 05 Jan 2005 02:43:58 -0800
Received: from goemon (h82151174212.dsl.speedlinq.nl [82.151.174.212])
	by olive.qinip.net (Postfix) with ESMTP id 9B2603213F
	for <submit@bugs.debian.org>; Wed,  5 Jan 2005 11:43:26 +0100 (MET)
Received: from manuel by goemon with local (Exim 4.34)
	id 1Cm8dR-0001fN-Io; Wed, 05 Jan 2005 11:43:25 +0100
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Manuel Bilderbeek <manuel@msxnet.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: gcc-3.3: gcc produces wrong code with -O1 or -O2 for very simple C program
 (included)
Reply-To: Manuel Bilderbeek <manuel@msxnet.org>
X-Mailer: reportbug 3.2
Date: Wed, 05 Jan 2005 11:43:25 +0100
Message-Id: <[🔎] E1Cm8dR-0001fN-Io@goemon>
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Package: gcc-3.3
Version: 1:3.3.5-5
Severity: important


When compiling the included program with the mentioned versions of gcc,
wrong code is generated when using -O1 or -O2. See the comments in the
program, which I saved as test.c:

---------------------- CUT HERE -----------------------

/* This small program shows a bug in the optimizer of gcc.
 * It occurs at least in these versions: 
 * - gcc (GCC) 3.3.4 (Debian 1:3.3.4-13)
 * - gcc (GCC) 3.3.5 (Debian 1:3.3.5-5)
 * It does not occur when the body of f is put directly in main.
 * It does not occur when the "if" is split into two "if"s.
 * It does not occur when -O0 or -O3 (or higher) is used. 
 * It only occurs if -O1 or -O2 are used.
 * Output on my system with gcc (GCC) 3.3.5 (Debian 1:3.3.5-5):
 * $ gcc test.c -o testbug
 * $ ./testbug
 * Address 0xff00 NOT in [0x4000,0xc000> (CORRECT)
 * $ gcc test.c -o testbug -O1
 * $ ./testbug
 * Address 0xff00 in [0x4000,0xc000> (WRONG)
 */

#include <stdio.h>

void f(unsigned short ad)
{
	if (ad >= 0x4000 && ad < 0xc000) 
		printf("Address 0x%x in [0x4000,0xc000> (WRONG)\n", ad);
	else
		printf("Address 0x%x NOT in [0x4000,0xc000> (CORRECT)\n", ad);
}
		
int main (void)
{       
	f(0xff00); 
	return 0;
}

---------------------- CUT HERE -----------------------

This bug may already be reported, but at least I couldn't find it back
in the list.

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-1-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages gcc-3.3 depends on:
ii  binutils                    2.15-5       The GNU assembler, linker and bina
ii  cpp-3.3                     1:3.3.5-5    The GNU C preprocessor
ii  gcc-3.3-base                1:3.3.5-5    The GNU Compiler Collection (base 
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an
ii  libgcc1                     1:3.4.3-6    GCC support library

-- no debconf information

---------------------------------------
Received: (at 288721-close) by bugs.debian.org; 28 Jan 2005 08:24:35 +0000
>From katie@ftp-master.debian.org Fri Jan 28 00:24:35 2005
Return-path: <katie@ftp-master.debian.org>
Received: from newraff.debian.org [208.185.25.31] (mail)
	by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
	id 1CuRQh-0007sE-00; Fri, 28 Jan 2005 00:24:35 -0800
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
	id 1CuRJh-00009B-00; Fri, 28 Jan 2005 03:17:21 -0500
From: Matthias Klose <doko@debian.org>
To: 288721-close@bugs.debian.org
X-Katie: $Revision: 1.55 $
Subject: Bug#288721: fixed in gcc-3.3 1:3.3.5-7
Message-Id: <E1CuRJh-00009B-00@newraff.debian.org>
Sender: Archive Administrator <katie@ftp-master.debian.org>
Date: Fri, 28 Jan 2005 03:17:21 -0500
Delivered-To: 288721-close@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Source: gcc-3.3
Source-Version: 1:3.3.5-7

We believe that the bug you reported is fixed in the latest version of
gcc-3.3, which is due to be installed in the Debian FTP archive:

cpp-3.3-doc_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/cpp-3.3-doc_3.3.5-7_all.deb
cpp-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/cpp-3.3_3.3.5-7_i386.deb
fixincludes_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/fixincludes_3.3.5-7_i386.deb
g++-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/g++-3.3_3.3.5-7_i386.deb
g77-3.3-doc_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/g77-3.3-doc_3.3.5-7_all.deb
g77-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/g77-3.3_3.3.5-7_i386.deb
gcc-3.3-base_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gcc-3.3-base_3.3.5-7_i386.deb
gcc-3.3-doc_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/gcc-3.3-doc_3.3.5-7_all.deb
gcc-3.3_3.3.5-7.diff.gz
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.5-7.diff.gz
gcc-3.3_3.3.5-7.dsc
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.5-7.dsc
gcc-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.5-7_i386.deb
gcj-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gcj-3.3_3.3.5-7_i386.deb
gij-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gij-3.3_3.3.5-7_i386.deb
gnat-3.3-doc_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/gnat-3.3-doc_3.3.5-7_all.deb
gnat-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gnat-3.3_3.3.5-7_i386.deb
gobjc-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/gobjc-3.3_3.3.5-7_i386.deb
gpc-2.1-3.3-doc_3.3.5.20040516-7_all.deb
  to pool/main/g/gcc-3.3/gpc-2.1-3.3-doc_3.3.5.20040516-7_all.deb
gpc-2.1-3.3_3.3.5.20040516-7_i386.deb
  to pool/main/g/gcc-3.3/gpc-2.1-3.3_3.3.5.20040516-7_i386.deb
libffi2-dev_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libffi2-dev_3.3.5-7_i386.deb
libffi2_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libffi2_3.3.5-7_i386.deb
libg2c0-dev_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libg2c0-dev_3.3.5-7_i386.deb
libg2c0_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libg2c0_3.3.5-7_i386.deb
libgcj-common_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/libgcj-common_3.3.5-7_all.deb
libgcj4-awt_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libgcj4-awt_3.3.5-7_i386.deb
libgcj4-common_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/libgcj4-common_3.3.5-7_all.deb
libgcj4-dev_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libgcj4-dev_3.3.5-7_i386.deb
libgcj4_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libgcj4_3.3.5-7_i386.deb
libobjc1_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libobjc1_3.3.5-7_i386.deb
libstdc++5-3.3-dbg_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-dbg_3.3.5-7_i386.deb
libstdc++5-3.3-dev_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-dev_3.3.5-7_i386.deb
libstdc++5-3.3-doc_3.3.5-7_all.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-doc_3.3.5-7_all.deb
libstdc++5-3.3-pic_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-pic_3.3.5-7_i386.deb
libstdc++5_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5_3.3.5-7_i386.deb
protoize_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/protoize_3.3.5-7_i386.deb
treelang-3.3_3.3.5-7_i386.deb
  to pool/main/g/gcc-3.3/treelang-3.3_3.3.5-7_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 288721@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <doko@debian.org> (supplier of updated gcc-3.3 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Thu, 27 Jan 2005 22:49:08 +0100
Source: gcc-3.3
Binary: gcc-3.3-nof gcc-3.3 libobjc1 libgcc1 lib64g2c0 libstdc++5-3.3-doc libgcj4 gpc-2.1-3.3-doc libstdc++5 cpp-3.3-doc protoize gcc-3.3-hppa64 cpp-3.3 libgcj4-awt libstdc++5-3.3-dbg g77-3.3-doc gpc-2.1-3.3 g77-3.3 libgcj4-dev gcc-3.3-doc libgnat-3.15 lib64objc1 lib64ffi2 libstdc++5-3.3-dev libffi2-dev gcj-3.3 libgcj-common gobjc-3.3 lib64stdc++5 gcc-3.3-soft-float lib64gcj4 treelang-3.3 libg2c0-dev lib64gcc1 fastjar lib64gnat3.15 fixincludes libg2c0 gij-3.3 libstdc++5-3.3-pic gcc-3.3-base g++-3.3 gnat-3.3 libffi2 gnat-3.3-doc libgcj4-common
Architecture: source i386 all
Version: 1:3.3.5-7
Distribution: unstable
Urgency: low
Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <doko@debian.org>
Description: 
 cpp-3.3    - The GNU C preprocessor
 cpp-3.3-doc - Documentation for the GNU C preprocessor (cpp)
 fixincludes - Fix non-ANSI header files
 g++-3.3    - The GNU C++ compiler
 g77-3.3    - The GNU Fortran 77 compiler
 g77-3.3-doc - Documentation for the GNU Fortran compiler (g77)
 gcc-3.3    - The GNU C compiler
 gcc-3.3-base - The GNU Compiler Collection (base package)
 gcc-3.3-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
 gcj-3.3    - The GNU compiler for Java(TM)
 gij-3.3    - The GNU Java bytecode interpreter
 gnat-3.3   - The GNU Ada compiler
 gnat-3.3-doc - Documentation for the GNU Ada compiler (gnat)
 gobjc-3.3  - The GNU Objective-C compiler
 gpc-2.1-3.3 - The GNU Pascal compiler
 gpc-2.1-3.3-doc - Documentation for the GNU Pascal compiler (gpc)
 libffi2    - Foreign Function Interface library runtime
 libffi2-dev - Foreign Function Interface library (development files)
 libg2c0    - Runtime library for GNU Fortran 77 applications
 libg2c0-dev - GNU Fortran 77 library development
 libgcj-common - Java runtime library (common files)
 libgcj4    - Java runtime library for use with gcj
 libgcj4-awt - AWT peer runtime libraries for use with gcj
 libgcj4-common - Java runtime library for use with gcj (jar files)
 libgcj4-dev - Java development headers and static library for use with gcj
 libobjc1   - Runtime library for GNU Objective-C applications
 libstdc++5 - The GNU Standard C++ Library v3
 libstdc++5-3.3-dbg - The GNU Standard C++ Library v3 (debugging files)
 libstdc++5-3.3-dev - The GNU Standard C++ Library v3 (development files)
 libstdc++5-3.3-doc - The GNU Standard C++ Library v3 (documentation files)
 libstdc++5-3.3-pic - The GNU Standard C++ Library v3 (shared library subset kit)
 protoize   - Create/remove ANSI prototypes from C code
 treelang-3.3 - The GNU Treelang compiler
Closes: 288721
Changes: 
 gcc-3.3 (1:3.3.5-7) unstable; urgency=low
 .
   * Build-depend on graphviz (moved to main), remove the pregenerated
     libstdc++ docs from the diff.
   * Remove the hammer-branch patch, not used in the past.
   * Update to gcc-3_3-branch CVS 20050127.
     - Fixes PR17565 (wrong-code on mips).
     - Fixes PR19296 (wrong code generation). Closes: #288721.
Files: 
 a6385705a6d29e7202c3d3e100afb7cc 2303 devel standard gcc-3.3_3.3.5-7.dsc
 162dac9ecef2cb742c4c0f462342c8ad 359665 devel standard gcc-3.3_3.3.5-7.diff.gz
 d5853bf660273b4192800bf567a00b49 176650 doc optional cpp-3.3-doc_3.3.5-7_all.deb
 ecfe00a03dba977cc346bf8b37a38902 1331534 libs optional libgcj4-common_3.3.5-7_all.deb
 83cc06c987130cb95361c5ac190b2c3f 1170 libs optional libgcj-common_3.3.5-7_all.deb
 f67561625a9130da52bb3b0879b1e0ee 3683290 doc optional libstdc++5-3.3-doc_3.3.5-7_all.deb
 06ec9ffba3323073554c71696e341074 628570 doc optional g77-3.3-doc_3.3.5-7_all.deb
 d59df6d6e594bb8b5e0d737e1bdff796 707508 doc optional gnat-3.3-doc_3.3.5-7_all.deb
 2b19b2598b354ddabf7260017b97249f 1204212 doc optional gpc-2.1-3.3-doc_3.3.5.20040516-7_all.deb
 4ce79e5b394cbda3d68a8e8405d56eef 1336238 doc optional gcc-3.3-doc_3.3.5-7_all.deb
 38984f502f24f020170350392debfafc 148622 devel required gcc-3.3-base_3.3.5-7_i386.deb
 a2d582ef42634ac5ff6d3cbdb02d24cc 1391354 interpreters standard cpp-3.3_3.3.5-7_i386.deb
 d8b2697cfe97ee5fead0f15b4300e5bb 23152 devel optional protoize_3.3.5-7_i386.deb
 2fd34108b5d916fc8487868f0b2a13cc 74234 devel optional fixincludes_3.3.5-7_i386.deb
 10d1772a691a7e1a5b74d0ee6bbdd1ef 1467650 devel optional gobjc-3.3_3.3.5-7_i386.deb
 8e50e88072dcb7496ef7070c0c365b34 137340 libs optional libobjc1_3.3.5-7_i386.deb
 e6b12b4aba7a16d6979aca99f333877d 12982 devel optional gij-3.3_3.3.5-7_i386.deb
 a0087d9416812370aa28d3616a4230ab 2587004 libs optional libgcj4_3.3.5-7_i386.deb
 14b45e95a7940fd519712c7f521e805d 62556 libs optional libgcj4-awt_3.3.5-7_i386.deb
 ffd2a9422b1f27b5eefa71f2ffbb99db 1736742 devel optional gcj-3.3_3.3.5-7_i386.deb
 5748d3618bd48c7ddbebede946809e07 4750942 libdevel optional libgcj4-dev_3.3.5-7_i386.deb
 49f49874c46847ae3b6c28b0b1c003e9 72206 libs optional libffi2_3.3.5-7_i386.deb
 1f2ef2906524182b6471f913e0c5251a 11186 libdevel optional libffi2-dev_3.3.5-7_i386.deb
 2b734b181c1ecf882990ffdabaa3cd1b 1778894 devel standard g++-3.3_3.3.5-7_i386.deb
 bd2dd3fa48158f7bba9984360635b7b0 293568 base required libstdc++5_3.3.5-7_i386.deb
 c2c1a1dac1ba76cd0a5d1309dfd7b79a 774890 libdevel standard libstdc++5-3.3-dev_3.3.5-7_i386.deb
 6502d189ed053902dc792792b25731d6 325370 libdevel extra libstdc++5-3.3-pic_3.3.5-7_i386.deb
 d18f1965f350ff8d01b13eb493fd6c4d 4877626 libdevel extra libstdc++5-3.3-dbg_3.3.5-7_i386.deb
 49a027abfc68aaccee1c62f7f27aa978 50588 libs optional libg2c0_3.3.5-7_i386.deb
 beed675cfe35927c37655b1664c531ff 1549324 devel optional g77-3.3_3.3.5-7_i386.deb
 66053f45477f5be12c001c856073e4ac 66600 libdevel optional libg2c0-dev_3.3.5-7_i386.deb
 d87957107c863739b6c87ce8a3caca5e 6216326 devel optional gnat-3.3_3.3.5-7_i386.deb
 ac279aff86b9bbe2d7a8bf6a0b822d58 1321316 devel optional treelang-3.3_3.3.5-7_i386.deb
 7b5a30d42c176b107a82372779a7018f 1939326 devel optional gpc-2.1-3.3_3.3.5.20040516-7_i386.deb
 fcfbb5ad5ac89b2800dd897e6ff5e0ad 1569860 devel standard gcc-3.3_3.3.5-7_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFB+eR3StlRaw+TLJwRAohNAKCHC0EGfONwMEcg8QM2Tl19+IgOogCguvkM
Jmd/xqv0YYJF/9wi+Rp03fc=
=U+BR
-----END PGP SIGNATURE-----



Reply to: