| Deutsch English Français Italiano |
|
<omo53l-38e.ln1@ID-313840.user.individual.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Geoff Clare <geoff@clare.See-My-Signature.invalid> Newsgroups: comp.unix.programmer Subject: macOS and UNIX conformance (was: Faking a TTY on a pipe/socketpair) Date: Mon, 16 Dec 2024 14:05:44 +0000 Lines: 37 Message-ID: <omo53l-38e.ln1@ID-313840.user.individual.net> References: <vh9vgr$5bb$1@dont-email.me> <jHw3P.41603$vLg2.41154@fx17.iad> <vimf13$3uoji$1@dont-email.me> <vinp86$avd9$1@dont-email.me> <4Db7P.825$ZEZf.100@fx40.iad> Reply-To: netnews@gclare.org.uk Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net tbXHjdFncNBRtCpz6HUExgX1WbgprnvhDtJeQIco72jYT0TGnY X-Orig-Path: ID-313840.user.individual.net!not-for-mail Cancel-Lock: sha1:r4X32wABaUIUVOtCsHkGjdT+OpM= sha256:5rRomqEyUUQeqoStc9/POIs3wv4CDUrLRRorGOBoW+Q= User-Agent: Pan/0.154 (Izium; 517acf4) Bytes: 2703 Richard L. Hamilton wrote: > In article <vinp86$avd9$1@dont-email.me>, > Lawrence D'Oliveiro <ldo@nz.invalid> writes: >> On Tue, 3 Dec 2024 08:20:51 -0000 (UTC), Muttley wrote: >> >>> I'm wondering on Linux if it would be enough on Linux to spoof ttyname() >>> and isatty() using LD_PRELOAD. However it seems doing something similar >>> on a Mac is the usual over complicated Apple hot mess. >> >> macOS may be a licensee of the "Unix" trademark, but it does not work the >> way people expect when they think of the term "Unix". > > It probably does as of the version of the formal specification they met > to be allowed to use the trademark. It is certified as conforming to "UNIX 03", which is so named because the certification program was launched in 2003, although by coincidence the corresponding version of The Single UNIX Specification (SUS) is version 3. There have since been SUSv4 (2008) and SUSv5 (2024) so macOS is two versions behind. (AIX and Solaris are/were certified to SUSv4; there is no certification program yet for SUSv5.) SUSv3/4 included dlopen(), dlsym() and dlclose() but no other requirements related to dynamic linking. SUSv5 adds the ability to build shared libraries and dynamic executables using the c17 utility, but doesn't specify how their loading can be controlled with environment variables. The things Lawrence said don't work on macOS the way people expect UNIX to work are almost certainly all, just like LD_PRELOAD, not specified by SUS. (Otherwise macOS would fail some of the tens of thousands of tests it has to pass in order for each new macOS version to be certified.) -- Geoff Clare <netnews@gclare.org.uk>