NetBSD/hpcmips Binary Compatibility
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.
Add hostname to /etc/hosts.
NetBSD/hpcmips can execute ULTRIX static-linked binary, such as distributed.net
clients.
Compatibility with Linux MIPS ports
Compatibility with Linux
NetBSD/hpcmips has a "COMPAT_LINUX" kernel option, but it is not tested at
all. Any more testers and developers in this are would be welcome.