96 lines
3.0 KiB
Groff
96 lines
3.0 KiB
Groff
.\" $NetBSD: compat_netbsd32.8,v 1.8 2008/05/29 14:51:25 mrg Exp $
|
|
.\"
|
|
.\" Copyright (c) 2001 Matthew R. Green
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.Dd March 11, 2006
|
|
.Dt COMPAT_NETBSD32 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm compat_netbsd32
|
|
.Nd setup procedure for 32-bit compatibility on 64-bit platform
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
module allows
|
|
.Nx Ns Tn /sparc64
|
|
to run
|
|
.Nx Ns Tn /sparc
|
|
executables, and
|
|
.Nx Ns Tn /amd64
|
|
to run
|
|
.Nx Ns Tn /i386
|
|
executables.
|
|
.Pp
|
|
To use
|
|
.Nm ,
|
|
one must either have
|
|
.Dv COMPAT_NETBSD32
|
|
and
|
|
.Dv EXEC_ELF32
|
|
in the kernel, or load the compat_netbsd32 and exec_netbsd32 kernel
|
|
modules.
|
|
.Pp
|
|
Static executables typically need no additional setup.
|
|
Dynamic binaries require the dynamic linker plus shared libraries.
|
|
Most of these files will need to be placed under
|
|
.Pa /emul/netbsd32 .
|
|
.Pp
|
|
The easiest method of installing support for these is via the
|
|
.Pa emulators/netbsd32_compat14 ,
|
|
.Pa emulators/netbsd32_compat15 ,
|
|
and
|
|
.Pa emulators/netbsd32_compat16
|
|
packages, provided in the
|
|
.Nx
|
|
packages collection.
|
|
These install 32-bit a.out and ELF compatibility libraries,
|
|
respectively.
|
|
The details of what is actually necessary for correct operation
|
|
are given below.
|
|
This obviously is handled by the emulator packages.
|
|
.Pp
|
|
For a.out compatibility,
|
|
.Pa /usr/libexec/ld.so
|
|
from a 32-bit distribution is required to exist as
|
|
.Pa /emul/netbsd32/usr/libexec/ld.so .
|
|
For 32-bit ELF compatibility,
|
|
.Pa /usr/libexec/ld.elf_so
|
|
needs to be in
|
|
.Pa /emul/netbsd32/usr/libexec/ld.elf_so .
|
|
.Pp
|
|
The shared libraries for a.out binaries do not live under the
|
|
.Pa /emul/netbsd32
|
|
directory, but under the
|
|
.Pa /emul/aout
|
|
directory, where the a.out dynamic linker will find them.
|
|
.Sh BUGS
|
|
A list of things which fail to work in compatibility mode should
|
|
be here.
|
|
.Pp
|
|
IPC is not well supported.
|
|
.Pp
|
|
.Xr sysctl 3
|
|
is not well supported.
|