This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
compiling WINE with latest snapshot - unrecog. insn
- To: egcs-bugs at cygnus dot com
- Subject: compiling WINE with latest snapshot - unrecog. insn
- From: Marcus Meissner <marcus at jet dot franken dot de>
- Date: Fri, 8 Jan 1999 15:58:08 +0100 (MET)
Hi,
while compiling the latest WINE CVS with "gcc version egcs-2.92.34 19990107
(gcc2 ss-980609 experimental)" on linux 2.2-pre5, fails with:
gcc -c -g -O2 -Wall -fPIC -D__WINE__ -D_REENTRANT -I../include -I../include -I. -I. -I/usr/X11R6/include -o winsock.o winsock.c
winsock.c: In function `fd_set_import':
winsock.c:205: internal error--unrecognizable insn:
(insn 25 177 27 (parallel[
(set (mem/s:BLK (reg/v:SI 5 %edi) 0)
(asm_operands/v ("cld ; rep ; stosl") ("=m") 0[
(reg:SI 0 %eax)
(reg/v:SI 2 %ecx)
(reg/v:SI 5 %edi)
]
[
(asm_input:SI ("a"))
(asm_input:SI ("1"))
(asm_input:SI ("2"))
] ("winsock.c") 187))
(set (reg/v:SI 2 %ecx)
(asm_operands/v ("cld ; rep ; stosl") ("=&c") 1[
(reg:SI 0 %eax)
(reg/v:SI 2 %ecx)
(reg/v:SI 5 %edi)
]
[
(asm_input:SI ("a"))
(asm_input:SI ("1"))
(asm_input:SI ("2"))
] ("winsock.c") 187))
(set (reg/v:SI 5 %edi)
(asm_operands/v ("cld ; rep ; stosl") ("=&D") 2[
(reg:SI 0 %eax)
(reg/v:SI 2 %ecx)
(reg/v:SI 5 %edi)
]
[
(asm_input:SI ("a"))
(asm_input:SI ("1"))
(asm_input:SI ("2"))
] ("winsock.c") 187))
(clobber (mem:BLK (scratch) 0))
] ) -1 (nil)
(nil))
toplev.c:1397: Internal compiler error in function fatal_insn
make[1]: *** [winsock.o] Error 1
make: *** [misc] Error 2
Line 187 is:
FD_ZERO(fds);
fds is a function argument (fd_set *fds).
This FD_ZERO expands to:
do { int __d0, __d1; __asm__ __volatile__("cld ; rep ; stosl" :"=m" (*(_
_kernel_fd_set *) ( fds )), "=&c" (__d0), "=&D" (__d1) :"a" (0), "1" ((1024 /
(8 * sizeof(unsigned long)) ) ), "2" ((__kernel_fd_set *) ( fds )) : "memory")
; } while (0) ;
I think the kernel people have the __asm__ already adapted to egcs.
Ciao, Marcus