Dave, will the cmov generate a segfault or illegal instr trap (SIGILL?) ?
From: Dave Jones [mailto:email@example.com]
Sent: Wednesday, January 15, 2003 7:23 AM
To: Miklos Szeredi
Subject: Re: VIA C3 and random SIGTRAP or segfault
On Wed, Jan 15, 2003 at 10:29:01AM +0100, Miklos Szeredi wrote:
> I just bought a VIA C3 866 processor, and under very special
> circumstances some programs (e.g. mplayer, xmms) randomly crash with
> trace/breakpoint trap or segmentation fault. Otherwise the system
> seems stable even under high load.
Be sure that those programs aren't compiled for 686. The C3 lacks
cmov, so it'll segfault when it hits that opcode. You can confirm
this by running it under gdb, and disassembling where it segv's to.
This is still a common problem thats biting some people. The debian
folks had a broken libssl for months up until recently.
Note to userspace developers: If you're compiling something as
a 686 binary, you *NEED* to check the feature flags (in an i386
compiled program) to see if the CPU has cmov before you load 686
optimised parts of your app. This is *NOT* a kernel problem,
it is *NOT* a CPU bug. The cmov extension is optional.
VIA chose to save silicon space by not implementing it.
Gcc unfortunatly always uses cmov when compiling for 686.
-- | Dave Jones. http://www.codemonkey.org.uk | SuSE Labs - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/