From owner-svn-src-all@FreeBSD.ORG Wed Aug 22 19:56:41 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB4EB1065672; Wed, 22 Aug 2012 19:56:41 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB9E28FC15; Wed, 22 Aug 2012 19:56:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q7MJufW9088291; Wed, 22 Aug 2012 19:56:41 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q7MJuf63088288; Wed, 22 Aug 2012 19:56:41 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201208221956.q7MJuf63088288@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 22 Aug 2012 19:56:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r239583 - stable/9/share/man/man4 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Aug 2012 19:56:41 -0000 Author: kib Date: Wed Aug 22 19:56:41 2012 New Revision: 239583 URL: http://svn.freebsd.org/changeset/base/239583 Log: MFC r239302: Add a short man page describing how to run a.out binaries on the current kernels. MFC r239305 (by joel): Minor mdoc fixes and language tweaks. MFC r239306: Small tweaks. Added: stable/9/share/man/man4/aout.4 - copied, changed from r239302, head/share/man/man4/aout.4 Modified: stable/9/share/man/man4/Makefile Directory Properties: stable/9/share/man/man4/ (props changed) Modified: stable/9/share/man/man4/Makefile ============================================================================== --- stable/9/share/man/man4/Makefile Wed Aug 22 19:53:33 2012 (r239582) +++ stable/9/share/man/man4/Makefile Wed Aug 22 19:56:41 2012 (r239583) @@ -40,6 +40,7 @@ MAN= aac.4 \ ${_bxe.4} \ amr.4 \ an.4 \ + ${_aout.4} \ ${_apic.4} \ arcmsr.4 \ ${_asmc.4} \ @@ -699,6 +700,7 @@ _acpi_sony.4= acpi_sony.4 _acpi_toshiba.4=acpi_toshiba.4 _acpi_wmi.4= acpi_wmi.4 _aesni.4= aesni.4 +_aout.4= aout.4 _apic.4= apic.4 _atrtc.4= atrtc.4 _attimer.4= attimer.4 Copied and modified: stable/9/share/man/man4/aout.4 (from r239302, head/share/man/man4/aout.4) ============================================================================== --- head/share/man/man4/aout.4 Wed Aug 15 16:01:45 2012 (r239302, copy source) +++ stable/9/share/man/man4/aout.4 Wed Aug 22 19:56:41 2012 (r239583) @@ -35,16 +35,15 @@ kldload a.out .Sh DESCRIPTION The .Xr a.out 5 -executable format was used by -.Fx -of versions \*(Lt 3.0. -Since only i386 architecture was supported at that time, the +executable format was used before the release of +.Fx 3.0 . +Since i386 was the only supported architecture at that time, .Xr a.out 5 -executables can only be activated on the platforms that support -execution of i386 code, which are i386, amd64 and (partially) ia64. +executables can only be activated on platforms that support +execution of i386 code, such as i386, amd64 and (partially) ia64. .Pp To add kernel support for old syscalls and old syscall invocation methods, -you need to place the following options in the kernel configuration file: +place the following options in the kernel configuration file: .Bd -ragged -offset indent .Cd "options COMPAT_43" .br @@ -57,14 +56,16 @@ option is only required on 64-bit CPU ar .Pp The .Va aout.ko -module must be loaded to get support for +module needs to be loaded with the +.Xr kldload 8 +utility in order to support the .Xr a.out 5 -image activator. -Use the command +image activator: .Bd -ragged -offset indent .Ic kldload aout .Ed -or put the following line in +.Pp +Alternatively, to load the module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent aout_load="YES" @@ -72,10 +73,10 @@ aout_load="YES" .Pp The .Xr a.out 5 -format was mainstream quite long time ago. -The reasonable default settings and security requirements of the -modern OS contradict to the default environment of that time and -require adjustments of the system to mimic natural environment for +format was mainstream quite a long time ago. +Reasonable default settings and security requirements of +modern operating systems today contradict the default environment of that time +and require adjustments of the system to mimic natural environment for old binaries. .Pp The following @@ -84,24 +85,24 @@ tunables are useful for this: .Bl -tag -offset indent -width "XXXXXXXXXXXXXXXXXXXXXXXXX" .It Xo Va security.bsd.map_at_zero .Xc -Set to 1 to allow the mapping of process pages at the address 0. +Set to 1 to allow mapping of process pages at address 0. Some very old .Va ZMAGIC -executable images require the text mapping at the address 0. +executable images require text mapping at address 0. .It Xo Va kern.pid_max .Xc Old versions of .Fx -used 16-bit types for +used signed 16-bit type for .Vt pid_t . Current kernels use 32-bit type for .Vt pid_t , -and allow the process id's up to 99999. +and allow process id's up to 99999. Such values cannot be represented by old .Vt pid_t , -mostly causing issues for the processes using +mostly causing issues for processes using .Xr wait 2 -syscalls, for instance, shells. +syscalls, for example shells. Set the sysctl to 30000 to work around the problem. .It Xo Va kern.elf32.read_exec .Xc @@ -109,7 +110,7 @@ Set to 1 to force any accessible memory process to allow execution, see .Xr mmap 2 . Old i386 CPUs did not have a bit in PTE which disallowed execution -from the page, so many old programs did not specified +from the page, so many old programs did not specify .Va PROT_EXEC even for mapping of executable code. The sysctl forces @@ -123,8 +124,6 @@ non-executable mappings. .Xr a.out 5 , .Xr elf 5 , .Xr sysctl 8 . -.Sh BUGS -On 64bit architectures, not all wrappers for older syscalls are implemented. .Sh HISTORY The .Xr a.out 5 @@ -132,7 +131,7 @@ executable format was used on ancient .At and served as the main executable format for .Fx -from inception up to +from the beginning up to .Fx 2.2.9 . In .Fx 3.0 @@ -143,3 +142,5 @@ The .Nm manual page was written by .An Konstantin Belousov Aq kib@FreeBSD.org . +.Sh BUGS +On 64bit architectures, not all wrappers for older syscalls are implemented.