From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1545 invoked by alias); 12 Sep 2002 19:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 1526 invoked by uid 71); 12 Sep 2002 19:36:02 -0000 Resent-Date: 12 Sep 2002 19:36:02 -0000 Resent-Message-ID: <20020912193602.1525.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, sadinoff@zhun.pair.com Received: (qmail 30339 invoked from network); 12 Sep 2002 19:27:31 -0000 Received: from unknown (HELO zhun.pair.com) (209.68.1.223) by sources.redhat.com with SMTP; 12 Sep 2002 19:27:31 -0000 Received: (qmail 5171 invoked by uid 3131); 12 Sep 2002 19:27:30 -0000 Message-Id: <20020912192730.5170.qmail@zhun.pair.com> Date: Thu, 12 Sep 2002 12:36:00 -0000 From: sadinoff@zhun.pair.com To: gcc-gnats@gcc.gnu.org Cc: danny@sadinoff.com X-Send-Pr-Version: 3.113 Subject: middle-end/7898: gcc-3.2 readdir_r regression on solaris 2.6 X-SW-Source: 2002-09/txt/msg00210.txt.bz2 List-Id: >Number: 7898 >Category: middle-end >Synopsis: readdir_r gives bad results with gcc-3.1 and 3.2 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Thu Sep 12 12:36:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: >Release: 3.2 >Organization: >Environment: System: SunOS xxx.yyy.zzz.com 5.6 Generic_105181-30 sun4u sparc SUNW,Ultra-Enterprise Architecture: sun4 host: sparc-sun-solaris2.6 build: sparc-sun-solaris2.6 target: sparc-sun-solaris2.6 configured with: ../gcc-3.2/configure --prefix=/opt/gcc-3.2 --with-gnu-as --with-as=/opt/bin/as --with-gnu-ld --with-ld=/opt/bin/ld >Description: Note that this was built with gas and gld from binutils 2.12.1 When migrating from gcc-2.95.1 to gcc-3.1 and 3.2, I notice that readdir_r has gone haywire. This may have something to do with fixincludes, but I can't quite tell. As you may know, the solaris include file for dirent.h is a mess, so I'm compiling with CPPFLAGS += -D_POSIX_C_SOURCE=200106L CPPFLAGS += -D_FILE_OFFSET_BITS=64 which should make things as POSIX as possible. Basically, it looks like readdir_r is overwriting the stack and other nasty things in 3.2, and it was well-behaved with gcc-2.95.1 >How-To-Repeat: Enclosed is a makefile and c source to compare the two compilers. I'm also including the preprocessor output from both. ### Here are the results: $ make test-all make[1]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' rm -f test-readdir *.o make[1]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r' make[1]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' COMPILER IS /opt/gcc-2.95.1/bin/gcc make run make[2]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' /opt/gcc-2.95.1/bin/gcc -D_POSIX_C_SOURCE=200106L -D_FILE_OFFSET_BITS=64 -g -c -o test-readdir.o test-readdir.c /opt/gcc-2.95.1/bin/gcc test-readdir.o -o test-readdir ./test-readdir . Fix: Unknown --ELM1031858850-3469-0_ Content-Transfer-Encoding: base64 Content-Type: application/gzip Content-Disposition: attachment; filename=test-readdir_r.tar.gz Content-Description: tarball of demo source and cpp output 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 --ELM1031858850-3469-0_-- >Release-Note: >Audit-Trail: >Unformatted: --ELM1031858850-3469-0_ Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII >count is 0 result:0, file: . entryPointer is efffdf58 count is 1 result:0, file: .. entryPointer is efffdf58 count is 2 result:0, file: .svn entryPointer is efffdf58 count is 3 result:0, file: test-readdir.c entryPointer is efffdf58 count is 4 result:0, file: Makefile entryPointer is efffdf58 count is 5 result:0, file: test-readdir.o entryPointer is efffdf58 count is 6 result:0, file: test-readdir entryPointer is efffdf58 count is 7 result:-1, file: test-readdir entryPointer is 0 returned nonzero. found 7 files make[2]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r' make[1]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r' make[1]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' rm -f test-readdir *.o make[1]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r' make[1]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' COMPILER IS /opt/gcc-3.2/bin/gcc make run make[2]: Entering directory `/home/sadind/tmp/sadind/test-readdir_r' /opt/gcc-3.2/bin/gcc -D_POSIX_C_SOURCE=200106L -D_FILE_OFFSET_BITS=64 -g -c -o test-readdir.o test-readdir.c /opt/gcc-3.2/bin/gcc test-readdir.o -o test-readdir ./test-readdir . count is 0 result:0, file: . entryPointer is efffdf88 count is 1 result:0, file: .. entryPointer is efffdf88 count is 2 result:0, file: .svn entryPointer is efffdf88 count is 1769090659 result:0, file: test-readdir.c entryPointer is efffdf88 badness. count is too large found 1769090659 files make[2]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r' make[1]: Leaving directory `/home/sadind/tmp/sadind/test-readdir_r'