Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/src/kernels/5.14.0-570.el9.x86_64/scripts/ |
Upload File : |
#!/usr/bin/sh # SPDX-License-Identifier: GPL-2.0-only # # Generate a syscall table header. # # Each line of the syscall table should have the following format: # # NR ABI NAME [NATIVE] [COMPAT] # # NR syscall number # ABI ABI name # NAME syscall name # NATIVE native entry point (optional) # COMPAT compat entry point (optional) set -e usage() { echo >&2 "usage: $0 [--abis ABIS] INFILE OUTFILE" >&2 echo >&2 echo >&2 " INFILE input syscall table" echo >&2 " OUTFILE output header file" echo >&2 echo >&2 "options:" echo >&2 " --abis ABIS ABI(s) to handle (By default, all lines are handled)" exit 1 } # default unless specified by options abis= while [ $# -gt 0 ] do case $1 in --abis) abis=$(echo "($2)" | tr ',' '|') shift 2;; -*) echo "$1: unknown option" >&2 usage;; *) break;; esac done if [ $# -ne 2 ]; then usage fi infile="$1" outfile="$2" nxt=0 grep -E "^[0-9]+[[:space:]]+$abis" "$infile" | { while read nr abi name native compat ; do if [ $nxt -gt $nr ]; then echo "error: $infile: syscall table is not sorted or duplicates the same syscall number" >&2 exit 1 fi while [ $nxt -lt $nr ]; do echo "__SYSCALL($nxt, sys_ni_syscall)" nxt=$((nxt + 1)) done if [ -n "$compat" ]; then echo "__SYSCALL_WITH_COMPAT($nr, $native, $compat)" elif [ -n "$native" ]; then echo "__SYSCALL($nr, $native)" else echo "__SYSCALL($nr, sys_ni_syscall)" fi nxt=$((nr + 1)) done } > "$outfile"