1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-03 01:17:45 +03:00

meson: drop arch filtering in syscall list

I added the filtering in 752fedbea7 as a way
to reduce the number of items in the tables. I thought it's "obvious", but
it might not be so.

One immediate problem is that the filter is broken, because on arm64,
os.uname().machine returns "aarch64", so we incorrectly filter out the arm
syscalls (there is just one: arm_fadvise64_64). Of course we could fix the
filter, but I think it's better to nuke it altogether. The filter on applies to
1 arm syscall and 5 s390 syscalls, and we have 500+ other syscalls, so this
"optimization" doesn't really matter. OTOH, if we get the filter wrong,
the result is bad. And also, the existence of the filter at all creates
problems for cross-builds.

I wanted to get rid of 'generate-syscall-list.py', but we need to generate a
backslash in the output. https://github.com/mesonbuild/meson/issues/1564 makes
this very very hard, since any attempt to put a backslash an inline argument
results in the backslash being replaces by a forward slash, which doesn't quite
have the same meaning. So let's use a standalone script until
https://github.com/mesonbuild/meson/issues/1564 is resolved.

(cherry picked from commit 58fcc6b013)
(cherry picked from commit ded73e68fc)
(cherry picked from commit d31ac846b2)
(cherry picked from commit f924288794)
(cherry picked from commit b23b2680ff)
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2024-01-25 13:26:21 +01:00 committed by Luca Boccassi
parent 5a5135440d
commit 1a3ee78761

View File

@ -1,14 +1,5 @@
#!/usr/bin/env python3
import sys
import os
s390 = 's390' in os.uname().machine
arm = 'arm' in os.uname().machine
for line in open(sys.argv[1]):
if line.startswith('s390_') and not s390:
continue
if line.startswith('arm_') and not arm:
continue
print('"{}\\0"'.format(line.strip()))