diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-01-02 10:18:10 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-01-02 10:18:10 +0100 |
commit | 4cf0d223052dabb9caed29e1e91e1d61933e14fb (patch) | |
tree | 67679008431b6bc21bb6f7a5efd5f2071f9a76f1 /sysdeps/unix/sysv/linux/tst-mman-consts.py | |
parent | 5f72f9800b250410cad3abfeeb09469ef12b2438 (diff) | |
download | glibc-4cf0d223052dabb9caed29e1e91e1d61933e14fb.tar.gz glibc-4cf0d223052dabb9caed29e1e91e1d61933e14fb.tar.xz glibc-4cf0d223052dabb9caed29e1e91e1d61933e14fb.zip |
Linux: Add tables with system call numbers
The new tables are currently only used for consistency checks with the installed kernel headers and the architecture-independent system call names table. They are based on Linux 5.4. The goal is to use these architecture-specific tables to ensure that system call wrappers are available irrespective of the version of the installed kernel headers. The tables are formatted in the form of C header files so that they can be used directly in an #include directive, without external preprocessing. (External preprocessing of a plain table file would introduce cross-subdirectory dependency issues.) However, the intent is that they can still be treated as tables and can be processed by simple tools. The irregular system call names on 32-bit arm add a complication. The <fixup-asm-unistd.h> header is introduced to work around that, and the system calls are listed under regular names in the <arch-syscall.h> file. A make target, update-syscalls-list, is added to patch the glibc sources with data from the current kernel headers. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Diffstat (limited to 'sysdeps/unix/sysv/linux/tst-mman-consts.py')
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-mman-consts.py | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py index 422d42a21e..bffad4ec09 100644 --- a/sysdeps/unix/sysv/linux/tst-mman-consts.py +++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py @@ -21,15 +21,7 @@ import argparse import sys import glibcextract - - -def linux_kernel_version(cc): - """Return the (major, minor) version of the Linux kernel headers.""" - sym_data = ['#include <linux/version.h>', 'START', - ('LINUX_VERSION_CODE', 'LINUX_VERSION_CODE')] - val = glibcextract.compute_c_consts(sym_data, cc)['LINUX_VERSION_CODE'] - val = int(val) - return ((val & 0xff0000) >> 16, (val & 0xff00) >> 8) +import glibcsyscalls def main(): @@ -40,7 +32,7 @@ def main(): parser.add_argument('--cc', metavar='CC', help='C compiler (including options) to use') args = parser.parse_args() - linux_version_headers = linux_kernel_version(args.cc) + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) linux_version_glibc = (5, 4) sys.exit(glibcextract.compare_macro_consts( '#define _GNU_SOURCE 1\n' |