Here is a small test case.
# gcc -B/home/work/build/bin/egcs/gcc/ -S -O2 foo.c
/home/work/build/src/egcs/gcc/alias.c:474: Internal compiler error in function rtx_equal_for_memref_p
I am also enclosing a patch for Linux kernel 2.1.103. But I am not
if it is an egcs bug or linux kernel bug. Even if it is a linux bug,
egcs should give out a better message.
BTW, you should use -mcpu=pentiumpro -march=pentiumpro with my
PPro patches.
Thanks.
H.J.
----foo.c---
int check_pcibios(void)
{
unsigned int signature, eax, ebx, ecx;
unsigned long flags, pcibios_entry;
__asm__ ("lcall (%%edi)\n\t"
"jc 1f\n\t"
"xor %%ah, %%ah\n"
"1:"
: "=d" (signature),
"=a" (eax),
"=b" (ebx),
"=c" (ecx)
: "1" (0xb101 ),
"D" (&pcibios_entry)
: "memory");
__asm__ __volatile__("pushl %0 ; popfl": :"g" ( flags ):"memory") ;
if (signature)
return 1;
return 0;
}
Index: arch/i386/kernel/bios32.c
===================================================================
RCS file: /home/work/cvs/linux/linux/arch/i386/kernel/bios32.c,v
retrieving revision 1.1.1.18
diff -u -r1.1.1.18 bios32.c
--- bios32.c 1998/05/21 15:10:28 1.1.1.18
+++ bios32.c 1998/05/21 18:23:22
@@ -543,7 +543,7 @@
pci_indirect.address = pcibios_entry + PAGE_OFFSET;
save_flags(flags); cli();
- __asm__("lcall (%%edi)\n\t"
+ __asm__ __volatile__ ("lcall (%%edi)\n\t"
"jc 1f\n\t"
"xor %%ah, %%ah\n"
"1:"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu