Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: New compat_bsdos.8 Manpage



“elf binaries that do not run”

should really be

“ELF binary executable format that does not run”

As “ELF” is Executable and Linkable Format (ELF) - an acronym, unlike “a.out” and we really shouldn’t confuse it with a mythical creature from Germanic folklore.

	just a small issue,

	Erik


> On Aug 27, 2020, at 17:10, Dan Plassche <dplassche%gmail.com@localhost> wrote:
> 
> Hello,
> 
> After recent discussion on the port-amd64 mailing list and some bug fixes this
> year, I would like to propose the new manpage below to document the working
> compatibility with BSDi binaries under NetBSD on i386 and amd64.
> 
> An additional manpage covering the other 4.3-4.4 BSD derived binaries that work
> on NetBSD under COMPAT_NOMID might also be helpful in the future.  I would be
> interested in continuing to work on compat documentation.
> 
> 
> Thanks,
> 
> Dan Plassche
> 
> 
> compat_bsdos(8)		NetBSD System Manager's Manual	       compat_bsdos(8)
> 
> NAME
>     compat_bsdos -- binary compatibility for BSDi releases
> 
> DESCRIPTION
>     The COMPAT_NOMID kernel option provides compatibility with BSDi 1-3
>     a.out(5) binaries on NetBSD/i386 and NetBSD/amd64.	 The option is
>     included in the GENERIC kernel on i386, but needs to be enabled along
>     with EXEC_AOUT on amd64.
> 
>     Null memory protection must be disabled with the sysctl(7) option
>     vm.user_va0_disable set to 0 for the binaries to run successfully.
> 
>     BSD/OS 2.0+ binaries also require an ldconfig(8) configuration or a sym-
>     bolic link pointing to the /emul/bsdos/shlib directory to run outside of
>     a chroot.
> 
>     BSD/OS 4.0 switched to elf binaries that do not run under the compatibil-
>     ity layers currently available on NetBSD.
> 
> SEE ALSO
>     options(4), a.out(5), elf(5), sysctl(7), compat_netbsd32(8)
> 
> HISTORY
>     BSD/OS (BSD/386) 1.0-1.1 was derived from 4.3BSD-Reno code in the Net/2
>     release.
> 
>     BSD/OS 2.0 was based on 4.4BSD-Lite, but introduced new static shared
>     libraries compiled into binary objects under /shlib.  The build system
>     included the shlicc command with the -Bstatic flag that allowed reverting
>     to the standard library archive format.
> 
>     OpenBSD 2.2-4.7 included a different compatibility implementation under
>     the COMPAT_BSDOS kernel option.
> 
> BUGS
>     BSD/OS compatibility was broken on NetBSD 5-6.
> 
>     BSD/OS added SPARC support with release 3.0, but the binaries are incor-
>     rectly recognized and fail as sunos executables on NetBSD/sparc and
>     NetBSD/sparc64.
> 
> NetBSD 9.0			August 27, 2020			    NetBSD 9.0
> 
> 
> 
> Source:
> 
> .\"
> .\"
> .\" Copyright (c) 2020 The NetBSD Foundation, Inc.
> .\" All rights reserved.
> .\"
> .\" This code is derived from software contributed to The NetBSD Foundation
> .\" by Dan Plassche.
> .\"
> .\" 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS
> .\" ``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 FOUNDATION OR CONTRIBUTORS
> .\" 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 August 27, 2020
> .Dt compat_bsdos 8 amd64,i386,sparc,sparc64
> .Os
> .Sh NAME
> .Nm compat_bsdos
> .Nd binary compatibility for BSDi releases
> .Sh DESCRIPTION
> .Pp
> The
> .Cd COMPAT_NOMID
> kernel option provides compatibility with BSDi 1-3
> .Xr a.out 5
> binaries on
> .Tn Nx Ns /i386
> and
> .Tn Nx Ns /amd64 .
> The option is included in the
> .Li GENERIC
> kernel on
> .Em i386 ,
> but needs to be enabled along with
> .Cd EXEC_AOUT
> on
> .Em amd64 .
> .Pp
> Null memory protection must be disabled with the
> .Xr sysctl 7
> option
> .Va vm.user_va0_disable
> set to
> .Li 0
> for the binaries to run successfully.
> .Pp
> .Bsx 2.0+
> binaries also require an
> .Xr ldconfig 8
> configuration or a symbolic link
> pointing to the
> .Pa /emul/bsdos/shlib
> directory to run outside of a chroot.
> .Pp
> .Bsx 4.0
> switched to elf binaries that do not run under the
> compatibility layers currently available on
> .Nx .
> .Sh SEE ALSO
> .Xr options 4 ,
> .Xr a.out 5 ,
> .Xr elf 5 ,
> .Xr sysctl 7 ,
> .Xr compat_netbsd32 8
> .Sh HISTORY
> .Pp
> .Tn Bsx "(BSD/386)"
> 1.0-1.1 was derived from
> .Bx 4.3 Reno
> code in the
> .Tn Net/2
> release.
> .Pp
> .Bsx 2.0
> was based on
> .Bx 4.4 Lite ,
> but introduced new static shared libraries
> compiled into binary objects under
> .Pa /shlib .
> The build system included the
> .Li shlicc
> command with the
> .Fl Bstatic
> flag that allowed reverting to the standard
> library archive format.
> .Pp
> .Ox 2.2-4.7
> included a different compatibility implementation
> under the
> .Li COMPAT_BSDOS
> kernel option.
> .Sh BUGS
> .Pp
> .Bsx
> compatibility was broken on
> .Nx
> 5-6.
> .Pp
> .Bsx
> added
> .Tn SPARC
> support with release 3.0,
> but the binaries are incorrectly recognized
> and fail as
> .Li sunos
> executables on
> .Tn Nx Ns /sparc
> and
> .Tn Nx Ns /sparc64 .



Home | Main Index | Thread Index | Old Index