Bug 19884

Summary: ICE in extract_insn, at recog.c:2108
Product: [Retired] Red Hat Linux Reporter: Nalin Dahyabhai <nalin>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: sparc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-10-31 16:14:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
A .i file which breaks on Sparc.
none
A .i file which compiles on Sparc. none

Description Nalin Dahyabhai 2000-10-26 20:30:50 UTC
This occurs when building the UW IMAP toolkit on Sparc (it compiles on i386
and alpha).  I have a workaround in place, so this is not that urgent. 
I'll attach a .i file which breaks (mbx.i.sparc), and one with a workaround
(mbx.i.good).  The compile:

[prospector@lisa c-client]$ cc -g -O2 -m32 -mtune=ultrasparc -fPIC
-I/usr/kerberos/include -I/usr/include/openssl   -c -o mbx.o mbx.c -v
--save-temps
Reading specs from /usr/lib/gcc-lib/sparc64-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
 /usr/lib/gcc-lib/sparc64-redhat-linux/2.96/cpp0 -lang-c -v
-I/usr/kerberos/include -I/usr/include/openssl -D__GNUC__=2
-D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D_LONGLONG
-D__sparc__ -Dlinux -D__ELF__ -D__unix__ -D_LONGLONG -D__sparc__
-D__linux__ -D__unix -D__linux -Asystem(unix) -Asystem(posix)
-D__OPTIMIZE__ -g -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int
-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) -D__PIC__ -D__pic__
mbx.c mbx.i
GNU CPP version 2.96 20000731 (Red Hat Linux 7.0) (cpplib)
 (sparc64 GNU/Linux with ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/sparc64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/kerberos/include
 /usr/include/openssl
 /usr/lib/gcc-lib/sparc64-redhat-linux/2.96/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/sparc-redhat-linux/2.96/cc1 mbx.i -gstabs+ -quiet
-dumpbase mbx.c -m32 -mtune=ultrasparc -g -O2 -version -fPIC -o mbx.s
GNU C version 2.96 20000731 (Red Hat Linux 7.0) (sparc-redhat-linux)
compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.0).
mbx.c: In function `mbx_hdrpos':
mbx.c:1371: Unrecognizable insn:
(insn 116 114 118 (set (reg:SI 135)
        (minus:SI (const_int 4 [0x4])
            (const_int -4096 [0xfffff000]))) -1 (nil)
    (expr_list:REG_EQUAL (const_int 4100 [0x1004])
        (nil)))
mbx.c:1371: Internal compiler error in extract_insn, at recog.c:2108
Please submit a full bug report.

Comment 1 Nalin Dahyabhai 2000-10-26 20:31:17 UTC
Created attachment 4694 [details]
A .i file which breaks on Sparc.

Comment 2 Nalin Dahyabhai 2000-10-26 20:31:54 UTC
Created attachment 4695 [details]
A .i file which compiles on Sparc.

Comment 3 Jakub Jelinek 2000-10-31 16:14:52 UTC
Should be fixed in http://gcc.gnu.org/ml/gcc-patches/2000-10/msg01085.html
Will appear in the next gcc rpm.

Comment 4 Jakub Jelinek 2000-11-13 09:26:05 UTC
Fixed in gcc-2.96-63 in rawhide.