NetBSD/hpcmips Binary Compatibility
Compatibility with other NetBSD ports
- NetBSD/cobalt binary compatibility
- NetBSD/playstation2 binary compatibility
- NetBSD/arc binary compatibility
- NetBSD/pmax binary compatibility
Compatibility with ULTRIX
Compatibility with Linux MIPS ports
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.
Back to NetBSD/hpcmips Port Page