Date: Wed, 21 Oct 1998 22:42:44 +0800 From: Peter Wemm <peter@netplex.com.au> To: John Hay <jhay@mikom.csir.co.za> Cc: syssgm@dtir.qld.gov.au (Stephen McKay), freebsd-hackers@FreeBSD.ORG Subject: Re: 3.0-R on a amd386dx/40 Message-ID: <199810211442.WAA16947@spinner.netplex.com.au> In-Reply-To: Your message of "Sat, 21 Oct 1998 15:36:51 %2B0200." <199810211336.PAA07535@zibbi.mikom.csir.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
John Hay wrote:
> > >> Try "awk", for example. It uses floating point, and I think it will die
.
> > >> "df" uses double. "newfs" uses float. "ls" doesn't, and it works. It'
s
> > >> a floating point problem, or I'll eat my copy of the Pointy Hat!
> > >>
> > >> I still think the "npx" lines from boot are relevant.
> > >
> > >ok, here are the lines:
> > >npx0 on motherboard
> > >npx0: 387 emulator
>
> Ok, here is what I have found so far. I used a 3.0 system with a new
> kernel with Peter Wemm's commits to i386/math_emulate.c. Then I
> recompiled libc.a with vfprintf.c with debugging on and then also
> compiled fsck with debugging on and got it to dump core on a 386
> machine. Here is some of gdb's output. What is interesting is that
> the coredump address (0x806859f) falls between two assembler
> instructions... or did disassem get it wrong? Or am I confused?
> Is it possible that the emulator in the kernel restarts the program
> at the wrong place?
>
> John
> --
> John Hay -- John.Hay@mikom.csir.co.za
As I understand it (found by Robert Nordier), the 3.0 gcc and/or gas
generate some size override prefixes to floating point assembler
instructions that break the math emulator.
The math_emulate code hasn't significantly changed in ages. The code that
trips it up in 3.0 is also going to trip up as far back as probably 2.0
itself.
math_emulate.c hasn't been freshly broken in 3.0. It's always been broken,
and 3.0 happens to generate some peculiar code that trips it up easily.
Cheers,
-Peter
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810211442.WAA16947>
