Skip site navigation (1)Skip section navigation (2)
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>