From: "Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
To: Eugene Syromyatnikov <evgsyr@gmail.com>
Cc: Michael Kerrisk-manpages <mtk.manpages@gmail.com>,
linux-man <linux-man@vger.kernel.org>
Subject: Re: [PATCH 00/45] Add LIBRARY section (based on FreeBSD manual pages)
Date: Sun, 12 Sep 2021 00:37:33 +0200 [thread overview]
Message-ID: <4a0d93af-0f3b-b981-3f85-2fbc8276ccba@gmail.com> (raw)
In-Reply-To: <CACGkJdsu27LOpAE+xJAP_hWw=GnMmw6BpU6cfePx1bitQuFq5A@mail.gmail.com>
Hi, Eugene!
On 9/12/21 12:24 AM, Eugene Syromyatnikov wrote:
> On Sat, Sep 11, 2021 at 8:40 PM Alejandro Colomar (man-pages)
> <alx.manpages@gmail.com> wrote:
>>
>> Hi Eugene,
>>
>> On 9/11/21 8:29 PM, Eugene Syromyatnikov wrote:
>>> On Sat, Sep 11, 2021 at 6:01 PM Alejandro Colomar
>>> <alx.manpages@gmail.com> wrote:
>>>> Alejandro Colomar (45):
>>>> _exit.2: Add LIBRARY section
>>>> keyctl.2: Add LIBRARY section
>> ...
>>>> socketcall.2: Add LIBRARY section
>>>> sigwaitinfo.2: Add LIBRARY section
>>>
>>> I'm not sure about these, my understanding is that the primary purpose
>>> of section 2 is syscalls, userspace-kernel interface, and not their
>>> libc wrappers. Even intro(2) states that it is Linux-specific:
>>> “Section 2 of the manual describes the Linux system calls. A system
>>> call is an entry point into the Linux kernel.” Tying it to libc feels
>>> like a bit of a stretch, even though it is the exceedingly common
>>> interface for invoking them.
>>>
>>
>> Thanks for pointing that out. I had some doubts about this in the
>> beginning. I started writing something like "Linux kernel - GNU C
>> library" meaning that it's not only a thing of glibc but also the
>> kernel. But no one replied my RFCs... :/
>
> Apologies on my part—I read the list only occasionally.
No need to apologize. We're doing this for free :)
>
>> In the end I simplified it to Standard C library (as FreeBSD does),
>
> The issue here is that FreeBSD has a bit of a different approach,
> where libc and kernel are parts of the whole operating systems and
> quite tied together, so there's no (assumption about) multiple libc
> implementations like in Linux (it is possible, but meaningless—libc is
> a part of OS already, after all), so calling syscalls without libc is
> much more unusual than in Linux (where it is sometimes even required,
> for example, to do weird stuff on x32, for which libc, and even its
> syscall() implementation, could stand in the way).
Yes, that was my first thought...
>
>> because I wasn't convinced of the syntax I had used. And also, since a
>> man page being in section 2 already implies that it is implemented in
>> the kernel, I didn't want to be repetitive, and just point what the user
>> has to link to to make a program work.
>>
>> There are some system calls that are wrapped by other libraries, such as
>> keyctl(2) by libkeyutils, and those get a different LIBRARY (you can
>> check patch 02/45).
>>
>> But if you think there's a better way to express this, please propose it.
>
> After some thinking, I think it's okay; I re-read some “C
> library/kernel differences”, and those are clearly written with the
> assumption that the described call is invoked via its libc wrapper;
> notes about the absence of a glibc wrapper for some other syscalls
> hint at the same expectation.
but as you say, man-pages already assume use of the glibc (or other
libraries') wrappers almost everywhere; and I think doing otherwise
would overcomplicate it.
Thanks for reviewing my patches!!
Cheers,
Alex
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
next prev parent reply other threads:[~2021-09-11 22:37 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-11 16:00 [PATCH 00/45] Add LIBRARY section (based on FreeBSD manual pages) Alejandro Colomar
2021-09-11 16:00 ` [PATCH 01/45] _exit.2: Add LIBRARY section Alejandro Colomar
2021-09-11 16:00 ` [PATCH 02/45] keyctl.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 03/45] gamma.3: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 04/45] request_key.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 05/45] write.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 06/45] wait4.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 07/45] wait.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 08/45] vmsplice.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 09/45] vm86.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 10/45] vhangup.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 11/45] vfork.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 12/45] utimensat.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 13/45] utime.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 14/45] ustat.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 15/45] userfaultfd.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 16/45] unshare.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 17/45] uname.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 18/45] umount.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 19/45] tkill.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 21/45] unlink.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 22/45] umask.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 23/45] truncate.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 24/45] timer_getoverrun.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 25/45] timerfd_create.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 26/45] timer_delete.2: " Alejandro Colomar
2021-09-11 16:00 ` [PATCH 27/45] timer_create.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 28/45] time.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 29/45] tee.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 30/45] syslog.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 31/45] sysinfo.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 32/45] syscall.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 33/45] sync_file_range.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 34/45] sync.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 35/45] symlink.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 36/45] swapon.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 37/45] subpage_prot.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 38/45] statx.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 39/45] stat.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 40/45] spu_run.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 41/45] spu_create.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 42/45] splice.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 43/45] socketpair.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 44/45] socketcall.2: " Alejandro Colomar
2021-09-11 16:01 ` [PATCH 45/45] sigwaitinfo.2: " Alejandro Colomar
2021-09-11 18:29 ` [PATCH 00/45] Add LIBRARY section (based on FreeBSD manual pages) Eugene Syromyatnikov
2021-09-11 18:40 ` Alejandro Colomar (man-pages)
2021-09-11 22:24 ` Eugene Syromyatnikov
2021-09-11 22:37 ` Alejandro Colomar (man-pages) [this message]
2021-09-13 18:42 ` Stefan Puiu
2021-09-14 8:30 ` Eugene Syromyatnikov
2021-09-14 8:32 ` Eugene Syromyatnikov
2021-09-15 20:20 ` Alejandro Colomar (man-pages)
2021-09-17 8:12 ` Stefan Puiu
2021-09-17 8:21 ` Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4a0d93af-0f3b-b981-3f85-2fbc8276ccba@gmail.com \
--to=alx.manpages@gmail.com \
--cc=evgsyr@gmail.com \
--cc=linux-man@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox