gcc 3.0.1 fails to compile 8139too.c in 2.4.12ac1

Greg Louis (glouis@dynamicro.on.ca)
Sat, 13 Oct 2001 07:34:06 -0400


In linux-2.4.1-ac12, drivers/net/8139too.c makes gcc 3.0.1 fail; gcc 2.95.3
compiles the same code correctly. This, of course, is something the gcc
folks need to address, but I post it here fyi.

# gcc --version
3.0.1
...

gcc -D__KERNEL__ -I/usr/kernel/linux-2.4.12ac1/include -Wall \
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer \
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 \
-march=i686 -c -o 8139too.o 8139too.c
8139too.c: In function `netdev_ethtool_ioctl':
8139too.c:2419: Unrecognizable insn:
(insn/i 612 1054 1051 (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 [166])
(mem:SI (plus:SI (reg/f:SI 6 ebp)
(const_int -352 [0xfffffea0])) 0)
(mem/s:SI (plus:SI (reg:SI 0 eax [174])
(const_int 12 [0xc])) 0)
]
[
(asm_input:SI ("1"))
(asm_input:SI ("g"))
(asm_input:SI ("g"))
] \
("/usr/kernel/linux-2.4.12ac1/include/asm/uaccess.h") 558))
(set (reg/v:SI 1 edx [166])
(asm_operands:SI ("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; \
sbbl $0,%0") ("=r") 1[
(reg/v:SI 1 edx [166])
(mem:SI (plus:SI (reg/f:SI 6 ebp)
(const_int -352 [0xfffffea0])) 0)
(mem/s:SI (plus:SI (reg:SI 0 eax [174])
(const_int 12 [0xc])) 0)
]
[
(asm_input:SI ("1"))
(asm_input:SI ("g"))
(asm_input:SI ("g"))
] \
("/usr/kernel/linux-2.4.12ac1/include/asm/uaccess.h") 558))
(clobber (reg:QI 19 dirflag))
(clobber (reg:QI 18 fpsr))
(clobber (reg:QI 17 flags))
] ) -1 (insn_list 598 (insn_list 605 (nil)))
(nil))
8139too.c:2419: Internal compiler error in \
reload_cse_simplify_operands, at reload1.c:8355

-- 
| G r e g  L o u i s          | gpg public key:      |
|   http://www.bgl.nu/~glouis |   finger greg@bgl.nu |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/