| #!/bin/sh |
| # SPDX-License-Identifier: GPL-2.0 |
| # |
| # Generate system call table for perf |
| # |
| # |
| # Copyright IBM Corp. 2017 |
| # Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> |
| # |
| |
| gcc=$1 |
| input=$2 |
| |
| if ! test -r $input; then |
| echo "Could not read input file" >&2 |
| exit 1 |
| fi |
| |
| create_table() |
| { |
| local max_nr |
| |
| echo 'static const char *syscalltbl_s390_64[] = {' |
| while read sc nr; do |
| printf '\t[%d] = "%s",\n' $nr $sc |
| max_nr=$nr |
| done |
| echo '};' |
| echo "#define SYSCALLTBL_S390_64_MAX_ID $max_nr" |
| } |
| |
| |
| $gcc -m64 -E -dM -x c $input \ |
| |sed -ne 's/^#define __NR_//p' \ |
| |sort -t' ' -k2 -nu \ |
| |create_table |