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>