Subject: pkg/35347: TME sun3 emulator - floating point emulation asserts under big-endian host
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <arthur@ilvsun3.com>
List: pkgsrc-bugs
Date: 12/31/2006 00:15:01
>Number:         35347
>Category:       pkg
>Synopsis:       TME sun3 emulator - floating point emulation asserts under big-endian host
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 31 00:15:01 +0000 2006
>Originator:     arthur townsend
>Release:        3.0
>Organization:
>Environment:
3.0 - sparc 32 bit userland running on an ultrasparc 10.
>Description:
(Most) floating point operations inside the emulator work correctly  - when running under an Intel or AMD 32-bit userland (little-endian), but fail under a Ultrasparc 32-bit userland (big-endian).  TME asserts there is a problem, and if the assertion is ignored, incorrect results are returned.
>How-To-Repeat:
In SunOS 4.1.1 inside the emulator, enter "foption" with assertions ignored.  With an Intel/AMD host, SunOS returns "68881".  But with an ultrasparc host, SunOS returns "Please note: mc68881 upgrade to A93N mask may be advisable.  See floating point programmer's guide".

Or the assertion can be seen when executing the 68881 instructions: fmovel, fmoved, fcmpd.
>Fix: