162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ciin="$1" 462306a36Sopenharmony_ciout="$2" 562306a36Sopenharmony_cialign=1 662306a36Sopenharmony_ci 762306a36Sopenharmony_cifileguard=_ASM_ARM_`basename "$out" | sed \ 862306a36Sopenharmony_ci -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 962306a36Sopenharmony_ci -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cigrep -E "^[0-9A-Fa-fXx]+[[:space:]]+" "$in" | sort -n | tail -n1 | ( 1262306a36Sopenharmony_ci echo "#ifndef ${fileguard} 1362306a36Sopenharmony_ci#define ${fileguard} 1 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci/* 1662306a36Sopenharmony_ci * This needs to be greater than __NR_last_syscall+1 in order to account 1762306a36Sopenharmony_ci * for the padding in the syscall table. 1862306a36Sopenharmony_ci */ 1962306a36Sopenharmony_ci" 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci while read nr abi name entry; do 2262306a36Sopenharmony_ci nr=$(($nr + 1)) 2362306a36Sopenharmony_ci while [ "$(($nr / (256 * $align) ))" -gt 0 ]; do 2462306a36Sopenharmony_ci align=$(( $align * 4 )) 2562306a36Sopenharmony_ci done 2662306a36Sopenharmony_ci nr=$(( ($nr + $align - 1) & ~($align - 1) )) 2762306a36Sopenharmony_ci echo "/* aligned to $align */" 2862306a36Sopenharmony_ci echo "#define __NR_syscalls $nr" 2962306a36Sopenharmony_ci done 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci echo "" 3262306a36Sopenharmony_ci echo "#endif /* ${fileguard} */" 3362306a36Sopenharmony_ci) > "$out" 34