Generate the syscall numbers from the installed header that has them. Ideally, we'd use FreeBSD's lua infra for this, but that requires that we have those files installed, and they aren't quite the same across supported versions yet, so use this simple, but effective hack. Add to meson build, but unused.
Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Signed-off-by: Warner Losh <[email protected]> --- bsd-user/freebsd/meson.build | 11 ++++++++++- bsd-user/freebsd/scripts/syscallhdr.sh | 9 +++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bsd-user/freebsd/meson.build b/bsd-user/freebsd/meson.build index 8fd6c7cfb8..fd55d84d3b 100644 --- a/bsd-user/freebsd/meson.build +++ b/bsd-user/freebsd/meson.build @@ -1,6 +1,15 @@ +bsd_syscall_nr = custom_target('bsd-syscall-h', + output: '@BASENAME@_nr.h', + input: ['/usr/include/sys/syscall.h'], + command: [sh, meson.current_source_dir() / 'scripts/syscallhdr.sh', '@INPUT@', '@OUTPUT@', 'FREEBSD']) + bsd_user_ss.add(files( 'os-stat.c', 'os-proc.c', 'os-sys.c', 'os-syscall.c', -)) + 'os-thread.c', + 'os-time.c', + 'trace.c'), + bsd_syscall_nr +) diff --git a/bsd-user/freebsd/scripts/syscallhdr.sh b/bsd-user/freebsd/scripts/syscallhdr.sh new file mode 100644 index 0000000000..fa38500775 --- /dev/null +++ b/bsd-user/freebsd/scripts/syscallhdr.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright (c) 2026 Warner Losh <[email protected]> +# SPDX-License-Identifier: GPL-2.0-or-later + +in="$1" +out="$2" +bsd="$3" + +awk -v bsd="$3" '{sub("SYS_", "TARGET_" bsd "_NR_", $0); print;}' < $in > $out -- 2.52.0
