This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c/939: sparc Solaris 2.6 gcc 2.95.2 exits with "unrecognizable insn" ice for legal code



>Number:         939
>Category:       c
>Synopsis:       sparc Solaris 2.6 gcc 2.95.2 exits with "unrecognizable insn" ice for legal code
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 30 08:06:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Georgi Kuzmanov
>Release:        gcc version 2.95.2 19991024 (release)
>Organization:
>Environment:
SunOS 5.6 Generic_105181-20 sun4m sparc SUNW,SPARCstation-20
cpu0: TI,TMS390Z50 (mid 8 impl 0x0 ver 0x3 clock 50 MHz)
>Description:
GCC 2.95.2 running as a native compiler on sun4m sparc under
Solaris 2.6 exits with ICE compiling legal code (pine4.30/imap/src/osdep/unix/mbx.c
from UW PINE 4.30).  The same code compiles and links to a
working executable using native sparc Solaris 2.6 gcc 2.8.1
but fails for gcc 2.95.1 as well.  The error occurs at all
levels of optimization from -O0 to -O6 (incl.); gcc 2.8.1
compiles the source successfully at all levels of optimization
(from -O0 to -O6 incl.).

The gcc 2.95.2 binaries were compiled on the same machine
using gcc 2.95.1 for the original bootstrap ("make bootstrap-lean").
The sources were checked out from the public CVS repository at gnu.org using tag gcc-2_95_2-release:

cvs -z 9 -d :pserver:anoncvs@gcc.gnu.org:/cvs/gcc co -r gcc-2_95_2-release -P gcc

Attached are:
mbx.i.gz: the preprocessed source file generated by gcc 2.95.2 (gzipped)
mbx.c.rtl.2.8.1.gz: the RTL generated by gcc 2.8.1 with option -O0 (gzipped)
mbx.c.rtl.2.95.2.gz: the RTL generated by gcc 2.95.2 with option -O0 (gzipped)

The erroneous run produced the output included below:

Reading specs from local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2
/specs
gcc version 2.95.2 19991024 (release)
 local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/cpp -lang-c -v -D
__GNUC__=2 -D__GNUC_MINOR__=95 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__spar
c__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem
(unix) -Asystem(svr4) -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) mbx.c
mbx.i
GNU CPP version 2.95.2 19991024 (release) (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../sparc
-sun-solaris2.6/include
 local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
 local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/../../../../include/g++-3
End of omitted list.
 local/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/cc1 mbx.i -quiet
-dumpbase mbx.c -version -o mbx.s
GNU C version 2.95.2 19991024 (release) (sparc-sun-solaris2.6) compiled by GNU C
 version 2.95.2 19991024 (release).
mbx.c: In function `mbx_hdrpos':
mbx.c:1371: internal error--unrecognizable insn:
(insn 102 100 104 (set (reg:SI 130)
        (minus:SI (const_int 4 [0x4])
            (const_int -4096 [0xfffff000]))) -1 (nil)
    (nil))
>How-To-Repeat:
Use the preprocessed source attached to the message.
>Fix:
Unknown, but apparently the error was introduced around 2.95;
2.8.1 could be used for sources that are affected by the error
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-gzip; name="mbx.c.rtl.2.95.2.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mbx.c.rtl.2.95.2.gz"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]