Date: Thu, 24 Nov 2022 20:57:02 +0200 From: Stefan Puiu <stefan.puiu@...il.com> To: Alejandro Colomar <alx.manpages@...il.com> Cc: Guillem Jover <guillem@...rons.org>, Andrew Clayton <andrew@...ital-domain.net>, linux-man@...r.kernel.org, Michael Kerrisk <mtk.manpages@...il.com>, Alejandro Colomar <alx@...nel.org>, Brian Inglis <Brian.Inglis@...tematicsw.ab.ca>, Rich Felker <dalias@...c.org>, musl@...ts.openwall.com Subject: Re: [PATCH] memmem.3: Added list of known systems where this is available Hi, On Wed, Nov 23, 2022 at 3:16 PM Alejandro Colomar <alx.manpages@...il.com> wrote: > > Hi all! > [... snipped ...] > > > > Not sure if it's the job of Linux man-pages to document when other > > OSes started supporting certain APIs. That info has to be maintained, > > updated etc. People can always read the man pages of other systems, > > right? Maybe it's worth only pointing out when an interface is > > Linux-only, or the Linux implementation diverges significantly. > > The good thing is that in most cases, it's either something in POSIX (for which > I gon't care at all if Apple Libc or another-weirdo-libc decide to not support > it), or it's a Linux-only function. > > So, there are few functions or syscalls that are generally available but are not > in POSIX, and it might be interesting to document that they're effectively as > portable as anything POSIX. Maybe even POSIX editors read this and decide to > add it. > > In those cases, we still need to decide what we care about or not. Aah OK, so memmem is non-standard, there is no standard to point to. Do other OSes provide this kind of info? I don't see anything about portability in the OpenBSD man page (https://man.openbsd.org/memmem), only "memmem() is a GNU extension". The FreeBSD man page (https://www.freebsd.org/cgi/man.cgi?query=memmem&manpath=FreeBSD+13.1-RELEASE+and+Ports) does mention Linux, but only to mention that memmem was broken in old versions of Linux libc (nothing about current Linux); it also has the 'GNU extension' mention. Interestingly, I don't see the mention of the function being a GNU extension in the Linux version. Have you checked, are there many such functions? Do you plan to add this info for all of them? > > Musl libc is definitely a first-class citizen these days in Linux distributions. > I would start documenting them in the project at large if someone from musl > provides patches (I discussed this some time ago, but can't remember with who). > Rich, if you would like to discuss about this, we can have some chat. > > > > > For musl and other libcs, I think the man pages already document some > > instances where their behavior diverges from glibc. > > As said, for musl, I'd document them officially, if there's anyone interested > enough to send patches. > > For other libcs, we have to decide if they're important enough, and probably > decide on a case-by-case basis. > > Michael tried to have some decent coverage of non-GNU/Linux systems, both in the > man-pages and in his TLPI book. It's a useful thing. So much that sometimes > you don't even need to read other systems' pages at all to know how portable is > a GNU/Linux function. I know. But not sure how much Linux docs should cover about other OSes, which are also constantly changing (and have their own fine docs). As always, just my 2c, Stefan. > > So, I'd like to get opinions on interest about documenting details about: > > - newlib (I never heard about it before; is it a widespread thing? do you think > it's useful?) > - Apple Libc (I still don't like it, but I must admit that it's relevant, and > being open source, it's more palatable) > - bionic (does anyone know if that's useful at all for anyone at all?) > > Support for those wouldn't go as far as musl or glibc. For now it would only be > for memmem(3). > > > Cheers, > > Alex > > -- > <http://www.alejandro-colomar.es/>
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.