c/4529 (150 lines testcase)

Ralf Berger gotan@gmx.net
Fri Oct 12 12:51:00 GMT 2001


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4529&database=gcc

Hi, i had the same Problem with the gcc3.0.1 (rpm from Mandrake: 
gcc3.0-3.0.1-1mdk) also
when compiling the 8139too module. I cut the preprocessed file to a 
testcase of 150 lines
(containing no includes). The file compiled with -O1 (as opposed to -O2) 
or when ommitting
-fomit-frame-pointer. The original 8139too.c module also compiled with 
-O3, i believe the
compiler was then able to cut out the critical branch (i removed some 
if-branches which apparently
had nothing to do with the error in the testcase). I think the error has 
something to do with
inlining.

A compile with

gcc -I/usr/src/linux-2.4.10-ac12/include -Wall -Wstrict-prototypes 
-Wno-trigraphs -O2 -fomit-frame-pointer -v -c -o 8139too3.o 8139too3.c

results in:

$ make
gcc -I/usr/src/linux-2.4.10-ac12/include -Wall -Wstrict-prototypes 
-Wno-trigraphs -O2 -fomit-frame-pointer -v -c -o 8139too3.o 8139too3.c
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.1/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-shared --enable-threads=posix 
--disable-checking --enable-long-long --enable-cstdio=stdio 
--enable-clocale=generic --enable-languages=c,c++,f77,objc,java 
--program-suffix=-3.0.1 --enable-objc-gc --host=i586-mandrake-linux-gnu
Thread model: posix
gcc version 3.0.1
 /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.1/cc1 -lang-c -v 
-I/usr/src/linux-2.4.10-ac12/include -D__GNUC__=3 -D__GNUC_MINOR__=0 
-D__GNUC_PATCHLEVEL__=1 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ 
-D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ 
-D__STDC_HOSTED__=1 -Wall -Wstrict-prototypes -Wno-trigraphs -Acpu=i386 
-Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ 
-D__tune_pentium__ 8139too3.c -quiet -dumpbase 8139too3.c -O2 -Wall 
-Wstrict-prototypes -Wno-trigraphs -version -fomit-frame-pointer -o 
/home/ralf/tmp/ccQ5Q1vf.s
GNU CPP version 3.0.1 (cpplib) (i386 Linux/ELF)
GNU C version 3.0.1 (i586-mandrake-linux-gnu)
    compiled by GNU C version 3.0.1.
ignoring nonexistent directory "/usr/i586-mandrake-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/src/linux-2.4.10-ac12/include
 /usr/local/include
 /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.0.1/include
 /usr/include
End of search list.
8139too3.c: In function `netdev_ethtool_ioctl':
8139too3.c:151: Unrecognizable insn:
(insn/i 219 450 447 (parallel[
            (set (reg:SI 6 ebp)
                (asm_operands:SI ("addl %3,%1; sbbl %0,%0; cmpl %1,%4; 
sbbl $0,%0") ("=&r") 0[
                        (reg/v:SI 1 edx [101])
                        (mem:SI (plus:SI (reg/f:SI 6 ebp)
                                (const_int -156 [0xffffff64])) 0)
                        (mem/s:SI (reg/f:SI 0 eax [104]) 3)
                    ]
                    [
                        (asm_input:SI ("1"))
                        (asm_input:SI ("g"))
                        (asm_input:SI ("g"))
                    ]  ("8139too3.c") 76))
            (set (reg/v:SI 1 edx [101])
                (asm_operands:SI ("addl %3,%1; sbbl %0,%0; cmpl %1,%4; 
sbbl $0,%0") ("=r") 1[
                        (reg/v:SI 1 edx [101])
                        (mem:SI (plus:SI (reg/f:SI 6 ebp)
                                (const_int -156 [0xffffff64])) 0)
                        (mem/s:SI (reg/f:SI 0 eax [104]) 3)
                    ]
                    [
                        (asm_input:SI ("1"))
                        (asm_input:SI ("g"))
                        (asm_input:SI ("g"))
                    ]  ("8139too3.c") 76))
            (clobber (reg:QI 19 dirflag))
            (clobber (reg:QI 18 fpsr))
            (clobber (reg:QI 17 flags))
        ] ) -1 (insn_list 214 (insn_list 218 (nil)))
    (nil))
8139too3.c:151: Internal compiler error in reload_cse_simplify_operands, 
at reload1.c:8355
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: https://qa.mandrakesoft.com/ > for instructions.
make: *** [8139too3.o] Fehler 1



More information about the Gcc-bugs mailing list