[LTP] [PATCH v8 4/4] Add documentation about syscalls.h generator
Petr Vorel
pvorel@suse.cz
Fri Nov 1 08:56:44 CET 2024
HI Andrea, Cyril,
> > +++ b/doc/developers/test_case_tutorial.rst
> > @@ -302,24 +302,25 @@ for a distribution's C library version to be older than its kernel or it may use
> > cut down C library in comparison to the GNU one. So we must call ``statx()``
> > using the general ``syscall()`` interface.
> > -The LTP contains a library for dealing with the ``syscall`` interface, which is
> > +LTP contains a library for dealing with the ``syscall`` interface, which is
> > located in :master:`include/lapi`. System call numbers are listed against the relevant
> > call in the ``*.in`` files (e.g. ``x86_64.in``) which are used to generate
> > -``syscalls.h``, which is the header you should include. On rare occasions you
> > -may find the system call number is missing from the ``*.in`` files and will need
> > -to add it (see :master:`include/lapi/syscalls/strip_syscall.awk`).
> > +``syscalls.h``, the header you should include.
> > -System call numbers vary between architectures, hence there are multiple
> > -``*.in`` files for each architecture.
> I would keep this sentence in there, probably as a last sentence in the
> upper paragraph.
+1
> > - You can find the various values for the
> > -``statx`` system call across a number of ``unistd.h`` files in the Linux kernel.
> > +On rare occasions, you may find that system call number is missing from ``*.in``
> > +files. In these cases, they will need to be updated using
> > +`include/lapi/syscalls/generate_arch.sh` script as following:
> ^
> Just `generate_arch.sh` here, we list the full path in the code
> block, no need to repeat it here as well.
+1. BTW it should be either ``generate_arch.sh`` (double `` is used for
other commands, e.g. ``make check`` or ``./configure``) or it could be a link to
a source:
:master:`include/lapi/syscalls/generate_arch.sh` script as following:
I like links, because reader can see the script content. Also it can help to
verify whether the script is still at the repository (was not moved/deleted).
> > -Note that we don't use the system-call-identifier value available in
> > -``/usr/include/linux/uinstd.h`` because the kernel might be much newer than the
> > -user land development packages.
> > +.. code-block:: bash
> > +
> > + $ include/lapi/syscalls/generate_arch.sh /path/of/linux/sources
> ^
> to
very nit: "path/to/Linux/kernel/sources" (upper "L", which you use later, also
it's used in the script).
> > +The script will generate all the needed ``*.in`` files according to the Linux
> ^
> accordingly
+1
> > +source code which has been used. Make sure that your Linux source code has
> > +been updated to the latest version.
> > -For ``statx`` we had to add ``statx 332`` to :master:`include/lapi/syscalls/x86_64.in`,
> > -``statx 383`` to :master:`include/lapi/syscalls/powerpc.in`, etc. Now lets look at
> > -the code, which I will explain in more detail further down.
> > +Once the new syscalls files have been updated, to rebuild our ``syscalls.h``
> > +file, please use ``./configure`` command.
> ^ ^
> re-run script
+1
Otherwise LGTM, thanks a lot for bothering with the docs.
Kind regards,
Petr
More information about the ltp
mailing list