|Set to 1 to allow mapping of process pages at address 0. Some very old ZMAGIC executable images require text mapping at address 0.|
Old versions of
.Fx used signed 16-bit type for
.Vt pid_t . Current kernels use 32-bit type for
.Vt pid_t , and allow process ids up to 99999. Such values cannot be represented by old
.Vt pid_t , mostly causing issues for processes using wait(2) syscalls, for example shells. Set the sysctl to 30000 to work around the problem.
|Set to 1 to force any accessible memory mapping performed by 32-bit process to allow execution, see mmap(2). Old i386 CPUs did not have a bit in PTE which disallowed execution from the page, so many old programs did not specify PROT_EXEC even for mapping of executable code. The sysctl forces PROT_EXEC if mapping has any access allowed at all. The setting is only needed if the host architecture allows non-executable mappings.|
The a.out(5) executable format was used on ancient AT&T and served as the main executable format for
.Fx from the beginning up to
.Fx 2.2.9 . In
.Fx 3.0 it was superseded by elf(5).
The aout manual page was written by
.An Konstantin Belousov Aq kib@FreeBSD.org .
On 64bit architectures, not all wrappers for older syscalls are implemented.