Date: Sun, 24 Oct 1999 12:24:07 -0500 From: Michael Jarvis To: pgcc AT delorie DOT com Subject: Able to reproduce SEGV using -O3 and no -mpentiumpro Message-ID: <19991024122407.A13858@qns4.qns.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="9jxsPFA5p3P2qPhR" Content-Transfer-Encoding: 8bit X-Mailer: Mutt 1.0pre3i Reply-To: pgcc AT delorie DOT com --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit I compiled pgcc-2.95.1 yesterday using the anonymous CVS, so I decided to write a cheesy program to use to see how much faster the Pentium optimizations are. In a nutshell, if I compile with "-O3" and I don't specify "-mpentiumpro", cc1 dies with SIGSEGV and dumps core. I can provide the core file if anyone wants it, but here's a stack trace. If I specify "-mpentiumpro" on the commandline it compiles okay. This is pgcc-2.95.1 on a 450 MHz PentiumII systerm running RedHat Linux 6.1. -michael $ gdb /usr/lib/gcc-lib/i386-redhat-linux/pgcc-2.95.1/cc1 core GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... Core was generated by `/usr/lib/gcc-lib/i386-redhat-linux/pgcc-2.95.1/cc1 foo.i -quiet -dumpbase foo.c'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libc.so.6...done. Reading symbols from /lib/ld-linux.so.2...done. #0 0x80ef5fb in find_and_verify_loops (f=0x837883c) at ../../pgcc/gcc/loop.c:2989 2989 if ((INSN_LUID (label) (gdb) where #0 0x80ef5fb in find_and_verify_loops (f=0x837883c) at ../../pgcc/gcc/loop.c:2989 #1 0x80fa61a in do_spl (f=0x837883c) at ../../pgcc/gcc/loop.c:12421 #2 0x804d0f7 in rest_of_compilation (decl=0x837e9ec) at ../../pgcc/gcc/toplev.c:4559 #3 0x81a83b6 in finish_function (nested=0) at ../../pgcc/gcc/c-decl.c:7268 #4 0x819969a in yyparse () at c-parse.y:349 #5 0x804b26f in compile_file (name=0xbffffb90 "foo.i") at ../../pgcc/gcc/toplev.c:3349 #6 0x804e816 in main (argc=9, argv=0xbffff9f4) at ../../pgcc/gcc/toplev.c:5643 -- Michael Jarvis michael AT jarvis DOT com http://www.jarvis.com "Freiheit stirbt in kleinen Stücken." --9jxsPFA5p3P2qPhR Content-Type: application/octet-stream Content-Disposition: attachment; filename="src.tar.bz2" Content-Transfer-Encoding: base64 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 uNyhgjFAZgfvhmWScRT+QXckU4UJD8/m+nA= --9jxsPFA5p3P2qPhR--