mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII
@ 2001-06-27 20:19 Mikael Pettersson
  2001-06-27 22:10 ` Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Mikael Pettersson @ 2001-06-27 20:19 UTC (permalink / raw)
  To: FrankZhu; +Cc: linux-kernel

On Wed, 27 Jun 2001 17:42:01 +0800, Frank Zhu wrote:

>I use a PIII machine as the server and cyrixIII machine as the client.The
>kernel is 2.4.5.The distribute is red hat 7.1
>when i mount the nfs file system at the client it failed.The core file is
>created.using the gdb it report  :
>Program terminated with signal 4(SIGILL),Illegal instruction
>#0  0x40003e28 in ??()
>
>If i change the cpu (CyrixIII) to PIII all is ok.

You don't say exactly where the failure occurs, but I suspect
that you're feeding i686-class machine code to your VIA Cyrix III.

The problem is that VIA Cyrix III announces itself (via CPUID)
as a "family 6" processor, i.e. i686 compatible. This is not
completely accurate, since it doesn't implement the conditional
move instruction. [Yeah, I know there's a CPUID feature flag for
CMOV. I also know gcc doesn't check it, and I suspect glibc
doesn't either.]

To make the machine work you'll have to ensure that the kernel,
user-space libraries and programs, and NFS-imported programs
all are compiled for a lesser CPU than i686.

/Mikael

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII
  2001-06-27 20:19 PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII Mikael Pettersson
@ 2001-06-27 22:10 ` Alan Cox
  2001-06-28 18:39   ` Bernd Schmidt
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2001-06-27 22:10 UTC (permalink / raw)
  To: Mikael Pettersson; +Cc: FrankZhu, linux-kernel

> The problem is that VIA Cyrix III announces itself (via CPUID)
> as a "family 6" processor, i.e. i686 compatible. This is not
> completely accurate, since it doesn't implement the conditional
> move instruction. [Yeah, I know there's a CPUID feature flag for

Intel specifically state that you cannot use CMOV without checking
for it. Its actually a gcc/binutils tool bug. The CPU is right.

> To make the machine work you'll have to ensure that the kernel,
> user-space libraries and programs, and NFS-imported programs
> all are compiled for a lesser CPU than i686.

For RH 

	rpm -qa |grep ".i686*"

and update the packages listed with their i586/i386 ones. 

Alan


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII
  2001-06-27 22:10 ` Alan Cox
@ 2001-06-28 18:39   ` Bernd Schmidt
  2001-06-28 19:42     ` PROBLEM:Illegal instruction when mount nfs file systems using Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Bernd Schmidt @ 2001-06-28 18:39 UTC (permalink / raw)
  To: Alan Cox; +Cc: Mikael Pettersson, FrankZhu, linux-kernel

On Wed, 27 Jun 2001, Alan Cox wrote:

> > The problem is that VIA Cyrix III announces itself (via CPUID)
> > as a "family 6" processor, i.e. i686 compatible. This is not
> > completely accurate, since it doesn't implement the conditional
> > move instruction. [Yeah, I know there's a CPUID feature flag for
>
> Intel specifically state that you cannot use CMOV without checking
> for it. Its actually a gcc/binutils tool bug. The CPU is right.

How is that a gcc bug?  You tell the compiler to generate cmov, you run
it on a CPU that doesn't have it, you get what you deserve.  There's
really nothing the tools can do about that.


Bernd


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: PROBLEM:Illegal instruction when mount nfs file systems using
  2001-06-28 18:39   ` Bernd Schmidt
@ 2001-06-28 19:42     ` Alan Cox
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Cox @ 2001-06-28 19:42 UTC (permalink / raw)
  To: Bernd Schmidt; +Cc: Alan Cox, Mikael Pettersson, FrankZhu, linux-kernel

> > Intel specifically state that you cannot use CMOV without checking
> > for it. Its actually a gcc/binutils tool bug. The CPU is right.
> 
> How is that a gcc bug?  You tell the compiler to generate cmov, you run
> it on a CPU that doesn't have it, you get what you deserve.  There's
> really nothing the tools can do about that.

I tell gcc to buld for the 'i686' architecture definition. It in fact builds
for the i686 architecture assuming an optional feature. Intel's own PPro doc
is quite explicit that cmov could go away again in future chips.

So cmov should not have been in the 686 machine definition.

Alan


^ permalink raw reply	[flat|nested] 5+ messages in thread

* PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII
@ 2001-06-27  9:42 Frank Zhu (Shanghai)
  0 siblings, 0 replies; 5+ messages in thread
From: Frank Zhu (Shanghai) @ 2001-06-27  9:42 UTC (permalink / raw)
  To: 'linux-kernel@vger.kernel.org'
  Cc: 'neilb@cse.unsw.edu.au',
	'nfs-devel@linux.kernel.org',
	'nfs@lists.sourceforge.net'

hi:
I use a PIII machine as the server and cyrixIII machine as the client.The
kernel is 2.4.5.The distribute is red hat 7.1
when i mount the nfs file system at the client it failed.The core file is
created.using the gdb it report  :
Program terminated with signal 4(SIGILL),Illegal instruction
#0  0x40003e28 in ??()

If i change the cpu (CyrixIII) to PIII all is ok.

help

frank


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2001-06-28 19:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-27 20:19 PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII Mikael Pettersson
2001-06-27 22:10 ` Alan Cox
2001-06-28 18:39   ` Bernd Schmidt
2001-06-28 19:42     ` PROBLEM:Illegal instruction when mount nfs file systems using Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2001-06-27  9:42 PROBLEM:Illegal instruction when mount nfs file systems using cyr ixIII Frank Zhu (Shanghai)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®