Date: Sun, 21 Feb 1999 12:30:11 +0200 (SAT) From: Robert Nordier <rnordier@nordier.com> To: saper@system.pl (Marcin Cieslak) Cc: stable@FreeBSD.ORG Subject: Re: MATH_EMULATE on 486SX Message-ID: <199902211030.MAA01082@ceia.nordier.com> In-Reply-To: <Pine.GSO.4.10.9902202341040.21534-100000@tricord.system.pl> from Marcin Cieslak at "Feb 20, 99 11:42:29 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Marcin Cieslak wrote:
> I have reproduced the behaviour described in
> <3693366C.12CBFA8E@ktinet.com.tw> (on
> freebsd-questions) on 3.0-RELEASE.
>
> The MATH_EMULATE option is present (without it
> the kernel panics right after npx0) and we get:
>
> npx0 on motherboard
> npx0: 387 emulator
> changing root device ...
>
> and so on.
>
> The system boots, but fsck, ping, X server and
> some other tools abort at some point with signal 10.
> However, one can log in and spawn a shell.
>
> A quick backtrack on fsck compiled with -g
> shows that it core dumps on the line (main.c:271):
>
> printf("(%d frags, %d blocks, %.1f%% fragmentation)\n",
>
> And the last output from fsck was:
>
> /dev/rwd0s1e: 5355 files, 89173 used, 64610 free
>
> It segfaults on printf("%f") -- so the error is in the
> floating point code, presumably in FP emulation.
>
> The same configuration (I am just removing hdd) works
> on 486DX fine.
This sounds like the problem fixed by the following commit:
| rnordier 1998/10/21 10:10:49 PDT
|
| Modified files:
| sys/i386/i386 math_emulate.c
| Log:
| Get things limping along again for the 80386 and friends. The
| ELF assembler emits a redundant operand-size prefix for the
| fnstsw %ax instruction, and this stops the show for 3.0-RELEASE.
|
| Revision Changes Path
| 1.30 +5 -2 src/sys/i386/i386/math_emulate.c
--
Robert Nordier
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902211030.MAA01082>
