Loading...
gen/compat.5 Libc-1725.40.4 Libc-583
--- Libc/Libc-1725.40.4/gen/compat.5
+++ Libc/Libc-583/gen/compat.5
@@ -1,4 +1,4 @@
-.Dd July 21, 2020
+.Dd October 23, 2005
 .Os Darwin
 .Dt COMPAT 5
 .Sh NAME
@@ -6,8 +6,6 @@
 .Nd manipulate compatibility settings
 .Sh SYNOPSIS
 .Ev COMMAND_MODE=legacy|unix2003
-.br
-.Ev SYSTEM_VERSION_COMPAT=1
 .Lp
 .Fd #define _POSIX_C_SOURCE
 .Fd #define _DARWIN_C_SOURCE
@@ -19,12 +17,7 @@
 .Sh DESCRIPTION
 Setting the environment variable
 .Ev COMMAND_MODE
-to the value legacy causes utility programs to behave as closely to
-Mac OS X 10.3's utility programs as possible.  When in this mode all of 10.3's
-flags are accepted, and in some cases extra flags are accepted, but no flags
-that were used in 10.3 will have been removed or changed in meaning.  Any
-behavioral changes in this mode are documented in the LEGACY sections of the
-individual utilities.
+to the value legacy causes utility programs to behave as closely to Mac OS X 10.3's utility programs as possible.  When in this mode all of 10.3's flags are accepted, and in some cases extra flags are accepted, but no flags that were used in 10.3 will have been removed or changed in meaning.  Any behavioral changes in this mode are documented in the LEGACY sections of the individual utilities.
 .Pp
 Setting the environment variable
 .Ev COMMAND_MODE 
@@ -34,17 +27,11 @@
 .Pp
 The value of
 .Ev COMMAND_MODE
-is case insensitive and if it is unset or set to something other than legacy
-or unix2003 it behaves as if it were set to unix2003.
-.Pp
-Setting the environment variable
-.Ev SYSTEM_VERSION_COMPAT
-to 1 causes the system version to be reported as 10.16 when running on macOS 11 or later.
-.Sh COMPILATION
+is case insensitive and if it is unset or set to something other than legacy or unix2003 it behaves as if it were set to unix2003.
+.Sh 32-BIT COMPILATION
 Defining
 .Dv _NONSTD_SOURCE
-will result in a compilation error.
-This is no longer supported.
+causes library and kernel calls to behave as closely to Mac OS X 10.3's library and kernel calls as possible.  Any behavioral changes in this mode are documented in the LEGACY sections of the individual function calls.
 .Pp
 Defining
 .Dv _POSIX_C_SOURCE
@@ -75,50 +62,34 @@
 are defined, and the environment variable
 .Ev MACOSX_DEPLOYMENT_TARGET
 is either undefined or set to 10.5 or greater (or equivalently, the
-.Xr clang 1
+.Xr gcc 1
 option
 .Fl mmacosx-version-min
 is either not specified or set to 10.5 or greater), then UNIX conformance will
 be on by default, and non-POSIX extensions will also be available
 (this is the equivalent of defining
 .Dv _DARWIN_C_SOURCE ) .
-.Pp
-In order to provide both legacy and conformance versions of functions, two
-versions of affected functions are provided.  Legacy variants have symbol names
-with no suffix in order to maintain ABI compatibility.  Conformance versions
-have a $UNIX2003 suffix appended to their symbol name.  These $UNIX2003
-suffixes are automatically appended by the compiler tool-chain and should not
-be used directly.
-.Pp
-All currently supported platforms only have conformance variants available and
-do not have the legacy $UNIX2003 suffix.
-.Pp
-.TS
-center;
-c c | c c c
-c c | c c c
-li c | c c c
-li c | c s s
-li c | c c c
-li c | c c c.
-=
-user defines	deployment	namespace	conformance	suffix
-	target
-_
-(none)	(any)	full	SUSv3 conformance	(none)
-_NONSTD_SOURCE	(any)	(error)
-_DARWIN_C_SOURCE	(any)	full	SUSv3 conformance	(none)
-_POSIX_C_SOURCE	(any)	strict	SUSv3 conformance	(none)
-_
-.TE
+For version values less that 10.5, UNIX conformance will be off (the
+equivalent of defining
+.Dv _NONSTD_SOURCE ) .
+.Sh 64-BIT COMPILATION
+When compiling for 64-bit architectures, the
+.Dv __LP64__
+macro will be defined to 1, and UNIX conformance is always on (the
+.Dv _DARWIN_FEATURE_UNIX_CONFORMANCE
+macro will also be defined to the SUS conformance level).
+Defining
+.Dv _NONSTD_SOURCE
+will cause a compilation error.
 .Sh STANDARDS
-With COMMAND_MODE set to anything other than legacy, utility functions conform to 
+With COMMAND_MODE set to unix2003 utility functions conform to 
 .St -susv3 .
 .Pp
 With
-.Dv _POSIX_C_SOURCE
+.Dv _POSIX_C_SOURCE ,
+.Dv _DARWIN_C_SOURCE ,
 or
-.Dv _DARWIN_C_SOURCE
+.Dv __LP64__ ,
 system and library calls conform to
 .St -susv3 .
 .Sh BUGS