xref: /openbmc/linux/tools/objtool/sync-check.sh (revision 2ffd84ae973b5ad16be96840574bb1142fda268a)
13bd51c5aSJosh Poimboeuf#!/bin/sh
23bd51c5aSJosh Poimboeuf# SPDX-License-Identifier: GPL-2.0
33bd51c5aSJosh Poimboeuf
43bd51c5aSJosh PoimboeufFILES='
53bd51c5aSJosh Poimboeufarch/x86/include/asm/inat.h
63bd51c5aSJosh Poimboeufarch/x86/include/asm/inat_types.h
7d046b725SJosh Poimboeufarch/x86/include/asm/insn.h
83bd51c5aSJosh Poimboeufarch/x86/include/asm/orc_types.h
9d046b725SJosh Poimboeufarch/x86/lib/inat.c
10d046b725SJosh Poimboeufarch/x86/lib/insn.c
11d046b725SJosh Poimboeufarch/x86/lib/x86-opcode-map.txt
12d046b725SJosh Poimboeufarch/x86/tools/gen-insn-attr-x86.awk
133bd51c5aSJosh Poimboeuf'
143bd51c5aSJosh Poimboeuf
15*2ffd84aeSArnaldo Carvalho de Melocheck_2 () {
16*2ffd84aeSArnaldo Carvalho de Melo  file1=$1
17*2ffd84aeSArnaldo Carvalho de Melo  file2=$2
183bd51c5aSJosh Poimboeuf
19*2ffd84aeSArnaldo Carvalho de Melo  shift
20*2ffd84aeSArnaldo Carvalho de Melo  shift
21*2ffd84aeSArnaldo Carvalho de Melo
22*2ffd84aeSArnaldo Carvalho de Melo  cmd="diff $* $file1 $file2 > /dev/null"
23*2ffd84aeSArnaldo Carvalho de Melo
24*2ffd84aeSArnaldo Carvalho de Melo  test -f $file2 && {
25*2ffd84aeSArnaldo Carvalho de Melo    eval $cmd || {
26*2ffd84aeSArnaldo Carvalho de Melo      echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2
27*2ffd84aeSArnaldo Carvalho de Melo      echo diff -u $file1 $file2
28*2ffd84aeSArnaldo Carvalho de Melo    }
29*2ffd84aeSArnaldo Carvalho de Melo  }
30*2ffd84aeSArnaldo Carvalho de Melo}
31*2ffd84aeSArnaldo Carvalho de Melo
32*2ffd84aeSArnaldo Carvalho de Melocheck () {
33*2ffd84aeSArnaldo Carvalho de Melo  file=$1
34*2ffd84aeSArnaldo Carvalho de Melo
35*2ffd84aeSArnaldo Carvalho de Melo  shift
36*2ffd84aeSArnaldo Carvalho de Melo
37*2ffd84aeSArnaldo Carvalho de Melo  check_2 tools/$file $file $*
383bd51c5aSJosh Poimboeuf}
393bd51c5aSJosh Poimboeuf
403bd51c5aSJosh Poimboeufif [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then
413bd51c5aSJosh Poimboeuf	exit 0
423bd51c5aSJosh Poimboeuffi
433bd51c5aSJosh Poimboeuf
44*2ffd84aeSArnaldo Carvalho de Melocd ../..
45*2ffd84aeSArnaldo Carvalho de Melo
463bd51c5aSJosh Poimboeuffor i in $FILES; do
473bd51c5aSJosh Poimboeuf  check $i
483bd51c5aSJosh Poimboeufdone
49*2ffd84aeSArnaldo Carvalho de Melo
50*2ffd84aeSArnaldo Carvalho de Melocd -
51