[LTP] [PATCH 0/4] Automatically generate syscalls.h
Jan Stancek
jstancek@redhat.com
Wed Sep 25 22:01:21 CEST 2024
On Tue, Sep 24, 2024 at 3:24 PM Andrea Cervesato
<andrea.cervesato@suse.com> wrote:
>
>
> On 9/24/24 15:16, Jan Stancek wrote:
> > On Tue, Sep 24, 2024 at 10:46 AM Andrea Cervesato via ltp
> > <ltp@lists.linux.it> wrote:
> >> Hi!
> >>
> >> Please consider this patchset as a draft open for discussion.
> > Have you compared old and new defines? Are there any differences
> > (other than additions)?
> >
> Only additions, but this is a draft work and I'm searching for
> alternative ideas as well.
> For example, the limitation of this approach is that syscalls.h has to
> be generated anyway.
I guess it wouldn't be too difficult to change script to generate .in
files instead, right?
>
> At the same time, we have projects like
> https://github.com/hrw/syscalls-table (that inspired my script)
> providing python bindings and *maybe* it could be used to create a
> python script which generate .in files when they need to be updated.
python feels like an extra step, since we could do it in existing shell script.
Maybe store a copy of update-tables.sh in LTP repo, and add some wrapper
to provide create_tables_for_LTP() function and a check to print warning if
original github project changes update-tables.sh.
create_tables_for_LTP() would generate .in files and rest can stay as it is.
>
> Etc..
>
> >> Andrea
> >>
> >> On 9/24/24 10:06, Andrea Cervesato wrote:
> >>> The problem we have at the moment is that all syscalls input files must
> >>> be changed by hand each time we need to test a new syscall. The idea is
> >>> to simplify this process, providing a script that is able to read from
> >>> kernel sources and to generate all syscalls files we need.
> >>>
> >>> This is done by the generate_syscalls.sh script that can be used as
> >>> following:
> >>>
> >>> ./generate_syscalls.sh path/to/kernel/source path/to/syscalls.h
> >>>
> >>> This approach requires a certain type of attention, due to the fact that
> >>> we need to generate syscalls.h at each kernel version, or when new
> >>> syscalls have been added in the kernel.
> >>>
> >>> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> >>> ---
> >>> Andrea Cervesato (4):
> >>> Rename syscalls order file to supported-arch.txt
> >>> Add script to generate syscalls.h
> >>> Deprecate old syscalls input files
> >>> Save syscalls.h inside repo
> >>>
> >>> include/lapi/.gitignore | 1 -
> >>> include/lapi/syscalls.h | 34272 +++++++++++++++++++
> >>> include/lapi/syscalls/aarch64.in | 306 -
> >>> include/lapi/syscalls/arc.in | 325 -
> >>> include/lapi/syscalls/arm.in | 404 -
> >>> include/lapi/syscalls/blacklist-syscalls.txt | 6 +
> >>> include/lapi/syscalls/generate_syscalls.sh | 292 +
> >>> include/lapi/syscalls/hppa.in | 52 -
> >>> include/lapi/syscalls/i386.in | 439 -
> >>> include/lapi/syscalls/ia64.in | 956 +-
> >>> include/lapi/syscalls/loongarch.in | 310 -
> >>> include/lapi/syscalls/mips_n32.in | 379 -
> >>> include/lapi/syscalls/mips_n64.in | 355 -
> >>> include/lapi/syscalls/mips_o32.in | 425 -
> >>> include/lapi/syscalls/powerpc.in | 432 -
> >>> include/lapi/syscalls/powerpc64.in | 432 -
> >>> include/lapi/syscalls/regen.sh | 129 -
> >>> include/lapi/syscalls/s390.in | 419 -
> >>> include/lapi/syscalls/s390x.in | 367 -
> >>> include/lapi/syscalls/sh.in | 413 -
> >>> include/lapi/syscalls/sparc.in | 418 -
> >>> include/lapi/syscalls/sparc64.in | 383 -
> >>> include/lapi/syscalls/strip_syscall.awk | 19 -
> >>> .../lapi/syscalls/{order => supported-arch.txt} | 1 -
> >>> include/lapi/syscalls/x86_64.in | 396 -
> >>> 25 files changed, 35174 insertions(+), 6757 deletions(-)
> >>> ---
> >>> base-commit: 968e6245d93bc91723e72086a71e6bc50f495d0b
> >>> change-id: 20240923-generate_syscalls-780dc2227bdb
> >>>
> >>> Best regards,
> >> --
> >> Mailing list info: https://lists.linux.it/listinfo/ltp
> >>
>
More information about the ltp
mailing list