13bd51c5aSJosh Poimboeuf#!/bin/sh 23bd51c5aSJosh Poimboeuf# SPDX-License-Identifier: GPL-2.0 33bd51c5aSJosh Poimboeuf 4bb090fdbSJulien Thierryif [ -z "$SRCARCH" ]; then 5bb090fdbSJulien Thierry echo 'sync-check.sh: error: missing $SRCARCH environment variable' >&2 6bb090fdbSJulien Thierry exit 1 7bb090fdbSJulien Thierryfi 8bb090fdbSJulien Thierry 9*ee819aedSJulien ThierryFILES="include/linux/objtool.h" 10*ee819aedSJulien Thierry 11bb090fdbSJulien Thierryif [ "$SRCARCH" = "x86" ]; then 12*ee819aedSJulien ThierryFILES="$FILES 133bd51c5aSJosh Poimboeufarch/x86/include/asm/inat_types.h 143bd51c5aSJosh Poimboeufarch/x86/include/asm/orc_types.h 154d65adfcSMasami Hiramatsuarch/x86/include/asm/emulate_prefix.h 16d046b725SJosh Poimboeufarch/x86/lib/x86-opcode-map.txt 17d046b725SJosh Poimboeufarch/x86/tools/gen-insn-attr-x86.awk 181e7e4788SJosh Poimboeufinclude/linux/static_call_types.h 193890b8d9SJulien Thierryarch/x86/include/asm/inat.h -I '^#include [\"<]\(asm/\)*inat_types.h[\">]' 203890b8d9SJulien Thierryarch/x86/include/asm/insn.h -I '^#include [\"<]\(asm/\)*inat.h[\">]' 213890b8d9SJulien Thierryarch/x86/lib/inat.c -I '^#include [\"<]\(../include/\)*asm/insn.h[\">]' 223890b8d9SJulien Thierryarch/x86/lib/insn.c -I '^#include [\"<]\(../include/\)*asm/in\(at\|sn\).h[\">]' -I '^#include [\"<]\(../include/\)*asm/emulate_prefix.h[\">]' 233890b8d9SJulien Thierry" 24bb090fdbSJulien Thierryfi 253bd51c5aSJosh Poimboeuf 262ffd84aeSArnaldo Carvalho de Melocheck_2 () { 272ffd84aeSArnaldo Carvalho de Melo file1=$1 282ffd84aeSArnaldo Carvalho de Melo file2=$2 293bd51c5aSJosh Poimboeuf 302ffd84aeSArnaldo Carvalho de Melo shift 312ffd84aeSArnaldo Carvalho de Melo shift 322ffd84aeSArnaldo Carvalho de Melo 332ffd84aeSArnaldo Carvalho de Melo cmd="diff $* $file1 $file2 > /dev/null" 342ffd84aeSArnaldo Carvalho de Melo 352ffd84aeSArnaldo Carvalho de Melo test -f $file2 && { 362ffd84aeSArnaldo Carvalho de Melo eval $cmd || { 372ffd84aeSArnaldo Carvalho de Melo echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2 382ffd84aeSArnaldo Carvalho de Melo echo diff -u $file1 $file2 392ffd84aeSArnaldo Carvalho de Melo } 402ffd84aeSArnaldo Carvalho de Melo } 412ffd84aeSArnaldo Carvalho de Melo} 422ffd84aeSArnaldo Carvalho de Melo 432ffd84aeSArnaldo Carvalho de Melocheck () { 442ffd84aeSArnaldo Carvalho de Melo file=$1 452ffd84aeSArnaldo Carvalho de Melo 462ffd84aeSArnaldo Carvalho de Melo shift 472ffd84aeSArnaldo Carvalho de Melo 482ffd84aeSArnaldo Carvalho de Melo check_2 tools/$file $file $* 493bd51c5aSJosh Poimboeuf} 503bd51c5aSJosh Poimboeuf 513bd51c5aSJosh Poimboeufif [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then 523bd51c5aSJosh Poimboeuf exit 0 533bd51c5aSJosh Poimboeuffi 543bd51c5aSJosh Poimboeuf 552ffd84aeSArnaldo Carvalho de Melocd ../.. 562ffd84aeSArnaldo Carvalho de Melo 573890b8d9SJulien Thierrywhile read -r file_entry; do 583890b8d9SJulien Thierry if [ -z "$file_entry" ]; then 593890b8d9SJulien Thierry continue 603890b8d9SJulien Thierry fi 612ffd84aeSArnaldo Carvalho de Melo 623890b8d9SJulien Thierry check $file_entry 633890b8d9SJulien Thierrydone <<EOF 643890b8d9SJulien Thierry$FILES 653890b8d9SJulien ThierryEOF 66