About this page

This page contains information about NetBSD/hpcmips binary
compatibility. At the package level, NetBSD/pmax, NetBSD/hpcmips,
NetBSD/cobalt, NetBSD/playstation2, and NetBSD/arc are all compatible.
NetBSD/hpcmips userland binaries are compiled with "-mhard-float" flag.

Compatibility with other NetBSD ports

NetBSD/cobalt binary compatibility

NetBSD/cobalt is almost compatible with arc and pmax and
hpcmips and playstation2.

NetBSD/playstation2 binary compatibility

?NetBSD/playstation2 is almost compatible with arc
and pmax and hpcmips.

NetBSD/arc binary compatibility

NetBSD/arc is almost compatible with pmax and hpcmips; the
only exception is disklabel (MAXPARTITIONS==16). NetBSD/hpcmips's
disklabel command is also incompatible with pmax, because it handles
fdisk (MBR) partition table.

NetBSD/pmax binary compatibility

NetBSD/pmax userland binaries and packages are also little
endian, but use hardware floating point (which can be emulated) and
incompatible function call rules (which prevents pmax and hpcmips
binaries from using the same shared libraries).

Hardfloat 'mipsel' userland:
: Allows sharing of userland and packages with NetBSD/pmax. This saves
maintenance and distribution space, but at the cost of slower
floating point performance.

Softfloat 'mipselsf' userland and packages:
: This gives the best performance, but cannot run dynamic NetBSD/pmax
binaries.

Softfloat 'mipselsf' userland, extra 'mipsel' libraries:
: Two copies of each shared library are produced, one softfloat, one
hardfloat, and ld.so modified to use correct type. This would allow
both types of binaries to run, but would be a maintenance nightmare.

Compatibility with ULTRIX

ULTRIX binary compatibility

NetBSD/hpcmips can exec ULTRIX static-linked binary image. To do so,
follow these steps:

Add kernel configuration option and reconfig your kernel.

options COMPAT_ULTRIX
options EXEC_ECOFF

Copy /usr/share/examples/emul/ultrix/etc/svc.conf to
/etc/svc.conf or
/emul/ultrix/etc/svc.conf.