File:  [NetBSD Developer Wiki] / wikisrc / ports / hpcmips / compat-pmax.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Tue Jan 14 11:47:20 2014 UTC (4 years, 5 months ago) by ryoon
Branches: MAIN
CVS tags: HEAD
Fix broken anchors, remove garbage

[[!meta title="NetBSD/hpcmips Binary Compatibility"]]

[[!toc startlevel=1 levels=2]]

* * * * *

## 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|cobalt]] is almost compatible with arc and pmax and
hpcmips and playstation2.

## NetBSD/playstation2 binary compatibility

[[NetBSD/playstation2|playstation2]] is almost compatible with arc
and pmax and hpcmips.

## NetBSD/arc binary compatibility

[[NetBSD/arc|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|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

Softfloat 'mipselsf' userland, extra 'mipsel' libraries:
:   Two copies of each shared library are produced, one softfloat, one
    hardfloat, and 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:

1.  Add kernel configuration option and reconfig your kernel.

[[!template id=programlisting text="""
options EXEC_ECOFF

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

3.  Add hostname to `/etc/hosts`.

NetBSD/hpcmips can execute ULTRIX static-linked binary, such as
[ 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.

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb