public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
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/

  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