File:  [NetBSD Developer Wiki] / wikisrc / ports / hpcmips / compat-pmax.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sat Mar 30 17:40:26 2013 UTC (12 months, 2 weeks ago) by mspo
Branches: MAIN
CVS tags: HEAD
add the hpcmips sub pages

NetBSD/hpcmips Binary Compatibility
===================================

### 

-   [About this page](#about)

### Compatibility with other NetBSD ports

-   [NetBSD/cobalt binary compatibility](#cobalt)
-   [NetBSD/playstation2 binary compatibility](#playstation2)
-   [NetBSD/arc binary compatibility](#arc)
-   [NetBSD/pmax binary compatibility](#pmax)

### Compatibility with ULTRIX

-   [ULTRIX binary compatibility](#ultrix)

### Compatibility with Linux MIPS ports

-   [Compatibility with Linux](#linux)

* * * * *

### 

#### About this page ([top](#))

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 ([top](#))

[NetBSD/cobalt](../cobalt/) is almost compatible with arc and pmax and
hpcmips and playstation2.

#### NetBSD/playstation2 binary compatibility ([top](#))

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

#### NetBSD/arc binary compatibility ([top](#))

[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 ([top](#))

[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
    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 ([top](#))

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

1.  Add kernel configuration option and reconfig your kernel.

    ~~~~ {.programlisting}
    options COMPAT_ULTRIX
    options EXEC_ECOFF
    ~~~~

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

3.  Add hostname to `/etc/hosts`{.filename}.

NetBSD/hpcmips can execute ULTRIX static-linked binary, such as
[distributed.net clients](http://distributed.net/download/clients.html).

* * * * *

### Compatibility with Linux MIPS ports

#### Compatibility with Linux ([top](#))

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 <wikimaster@NetBSD.org> software: FreeBSD-CVSweb