public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: DJ Delorie <dj@redhat.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: carlos@redhat.com, alx@kernel.org, libc-alpha@sourceware.org
Subject: Re: [patch v4] manual: add syscall list
Date: Wed, 22 May 2024 17:26:12 -0400	[thread overview]
Message-ID: <xnttip7d3f.fsf@greed.delorie.com> (raw)
In-Reply-To: <87le41efeg.fsf@oldenburg.str.redhat.com> (message from Florian Weimer on Wed, 22 May 2024 22:54:31 +0200)

Florian Weimer <fweimer@redhat.com> writes:
> @theglibc() should be @theglibc{} (typographical error).

Fixed.

>> +@include syscalls.texi
>
> Should the list be separated by commas?  It's currently space-separated
> only.

The script to generate it would have to be much more complicated to put
commas after every line *except* the last line, and I didn't want to
involve something like perl or python.

> The list still includes getuid, which is most emphatically not a single
> system call in multi-threaded programs, not on Linux and not on Hurd.

As I noted before, I'm all for cleaning up the syscalls.list files, but
this patch is independent of that problem.  setuid is listed as a
wrapped syscall in sysdeps/unix/syscalls.list.  If that's not true,
take it off that list.

>> +Here's the corresponding list of cancellable system calls:
>> +@include syscallsc.texi
>
> Unfortunately, this now gives the impression that the syscall function
> described below implements a cancellable system call when called for
> SYS_read (for example).  But that's not accurate.  System calls invoked
> through the syscall function are never cancellable.

I can add a note about that in the syscall() text.

> Maybe add to the commit message why we are adding this?

We are adding this because the kernel folks don't have authoritative
documentation for their APIs.  The best they have is the man pages
project, which is an independent, volunteer, and cross-OS effort.  Since
glibc is providing wrappers for syscalls, we get blamed for not
documenting *our* APIs (the wrappers).  This "blame" prevents glibc from
being used in certain paperwork-heavy situations.  The only alternative
is to document these functions ourselves, but because of the GFDL we
can't share the man-pages project's efforts.  I'm not sure how to
document that politely ;-)

> Is this an attempt to achieve completeness of the manual by
> referencing the manual page for certain functions we do not document?

No, it's an attempt to achieve completeness by referencing the man pages
for functions we do not *control*.

> Maybe it would be more approriate to add @deftypefn directives for
> those specific functions, with a stub that refers to the corresponding
> man-pages URL?

To do that cleanly, they'd have to be integrated throughout the manual
as each function's purpose deems apropriate.  Plus, the parameters would
still need to be documented or at least enumerated.  Otherwise, it
becomes just a more complex scripting, without real benefit.

> Do we have a rendered version of the current development version that we
> can point people to for review purposes?

I posted a PDF in a separate email.


  parent reply	other threads:[~2024-05-22 21:26 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-15 20:52 manual: add syscall list appendix DJ Delorie
2024-05-16  5:02 ` Florian Weimer
2024-05-16 11:44   ` Carlos O'Donell
2024-05-16 12:06     ` Florian Weimer
2024-05-16 13:37     ` Alejandro Colomar
2024-05-16 14:52       ` Carlos O'Donell
2024-05-16 15:03         ` Alejandro Colomar
2024-05-16 17:57       ` DJ Delorie
2024-05-16 17:55     ` DJ Delorie
2024-05-16 21:08       ` Alejandro Colomar
2024-05-17 13:21       ` Carlos O'Donell
2024-05-17 15:31         ` DJ Delorie
2024-05-17 19:16           ` Carlos O'Donell
2024-05-20 21:43             ` [patch v2] manual: add syscall list DJ Delorie
2024-05-20 22:10               ` Alejandro Colomar
2024-05-21  1:12                 ` DJ Delorie
2024-05-21 10:22                   ` Alejandro Colomar
2024-05-21 17:16                     ` DJ Delorie
2024-05-21 20:04                 ` [patch v3] " DJ Delorie
2024-05-22 19:07                   ` Carlos O'Donell
2024-05-22 19:40                     ` DJ Delorie
2024-05-22 19:41                     ` [patch v4] " DJ Delorie
2024-05-22 19:42                       ` DJ Delorie
2024-05-22 20:54                       ` Florian Weimer
2024-05-22 21:00                         ` Florian Weimer
2024-05-22 21:26                         ` DJ Delorie [this message]
2024-05-23  7:31                           ` Florian Weimer
2024-05-23  8:49                             ` Andreas Schwab
2024-05-22 22:45                       ` DJ Delorie
2024-05-22 23:12                       ` Alejandro Colomar
2024-05-23 16:59                       ` Zack Weinberg
2024-05-23 19:38                         ` DJ Delorie
2024-05-23 19:41                           ` Zack Weinberg
2024-05-23 19:46                             ` DJ Delorie
2024-05-23 19:51                             ` Joseph Myers
2024-05-23 21:18                         ` Alejandro Colomar
2024-05-16 17:37   ` manual: add syscall list appendix DJ Delorie
2024-05-16 17:55     ` Joe Simmons-Talbott

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=xnttip7d3f.fsf@greed.delorie.com \
    --to=dj@redhat.com \
    --cc=alx@kernel.org \
    --cc=carlos@redhat.com \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).