xref: /qemu/linux-user/i386/syscallhdr.sh (revision a53b931645183bd0c15dd19ae0708fc3c81ecf1d)
128988117SLaurent Vivier#!/bin/sh
2*06e23296SPhilippe Mathieu-Daudé# SPDX-License-Identifier: GPL-2.0-only
328988117SLaurent Vivier
428988117SLaurent Vivierin="$1"
528988117SLaurent Vivierout="$2"
628988117SLaurent Viviermy_abis=`echo "($3)" | tr ',' '|'`
728988117SLaurent Vivierprefix="$4"
828988117SLaurent Vivieroffset="$5"
928988117SLaurent Vivier
1028988117SLaurent Vivierfileguard=LINUX_USER_I386_`basename "$out" | sed \
1128988117SLaurent Vivier    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
1228988117SLaurent Vivier    -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
1328988117SLaurent Viviergrep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
1428988117SLaurent Vivier    echo "#ifndef ${fileguard}"
1528988117SLaurent Vivier    echo "#define ${fileguard} 1"
1628988117SLaurent Vivier    echo ""
1728988117SLaurent Vivier
1828988117SLaurent Vivier    while read nr abi name entry ; do
1928988117SLaurent Vivier    if [ -z "$offset" ]; then
2028988117SLaurent Vivier        echo "#define TARGET_NR_${prefix}${name} $nr"
2128988117SLaurent Vivier    else
2228988117SLaurent Vivier        echo "#define TARGET_NR_${prefix}${name} ($offset + $nr)"
2328988117SLaurent Vivier        fi
2428988117SLaurent Vivier    done
2528988117SLaurent Vivier
2628988117SLaurent Vivier    echo ""
2728988117SLaurent Vivier    echo "#endif /* ${fileguard} */"
2828988117SLaurent Vivier) > "$out"
29