Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 9.2 Alpha: error in handling of IEEE 754 binary 32-bit subnormals



of creating a virtual machine for NetBSD 9.2 (really, 9.99.88, but
packages are still pulled from the 9.2 repository, which is currently
identical to the 9.0 repository).

They're all symlinked and therefore the same, yes.

I now have an apparently stable running NetBSD on Alpha, with a few
irregularities: emacs seems to hang on startup, and the PostgreSQL
package collection is incomplete.  MySQL is installed: Ver 15.1
Distrib 10.3.31-MariaDB.

I'll check out emacs. The lack of complete PostgreSQL is because they preferred to unsupport Alpha instead of just switching it to using common code. That can be fixed, if you have a use for PostgreSQL.

Another anomaly is shown by the ufl32.c program: it reports the status
of the IEEE 754 floating-point underflow and inexact flags, and
whether the result is subnormal or not.  The SPARC64 flag settings are
as expected, and the AMD64 flags differ because of the different
rounding behavior of those two architectures. There is a discussion
and explanation here in the section that begins on page 10:

	http://www.math.utah.edu/~beebe/ufl/pages-13-21.pdf

Because both Debian and NetBSD VMs are running on QEMU (6.0.0 and
6.1.0, respectively), the Alpha architecture is almost 30 years old,
and QEMU is generally a solid and reliable emulation of numerous
architectures, the different flag behavior for subnormals is
unexpected, and it seems that NetBSD is wrong here too.

Real hardware gives MINNORMAL = 0x1.0p-126, but is otherwise the same.
Real hardware also gives the same results as Linux-Alpha for
netbsd-alpha-bug001.c

Everything else I've looked at so far shows that qemu matches hardware,
but it'll be helpful to note where an issue is because of NetBSD versus
where it's a qemu issue.

I believe there was a similar set of issues with m68k, no?

John


Home | Main Index | Thread Index | Old Index