xref: /openbmc/linux/tools/objtool/sync-check.sh (revision 4d65adfcd1196818659d3bd9b42dccab291e1751)
13bd51c5aSJosh Poimboeuf#!/bin/sh
23bd51c5aSJosh Poimboeuf# SPDX-License-Identifier: GPL-2.0
33bd51c5aSJosh Poimboeuf
43bd51c5aSJosh PoimboeufFILES='
53bd51c5aSJosh Poimboeufarch/x86/include/asm/inat_types.h
63bd51c5aSJosh Poimboeufarch/x86/include/asm/orc_types.h
7*4d65adfcSMasami Hiramatsuarch/x86/include/asm/emulate_prefix.h
8d046b725SJosh Poimboeufarch/x86/lib/x86-opcode-map.txt
9d046b725SJosh Poimboeufarch/x86/tools/gen-insn-attr-x86.awk
103bd51c5aSJosh Poimboeuf'
113bd51c5aSJosh Poimboeuf
122ffd84aeSArnaldo Carvalho de Melocheck_2 () {
132ffd84aeSArnaldo Carvalho de Melo  file1=$1
142ffd84aeSArnaldo Carvalho de Melo  file2=$2
153bd51c5aSJosh Poimboeuf
162ffd84aeSArnaldo Carvalho de Melo  shift
172ffd84aeSArnaldo Carvalho de Melo  shift
182ffd84aeSArnaldo Carvalho de Melo
192ffd84aeSArnaldo Carvalho de Melo  cmd="diff $* $file1 $file2 > /dev/null"
202ffd84aeSArnaldo Carvalho de Melo
212ffd84aeSArnaldo Carvalho de Melo  test -f $file2 && {
222ffd84aeSArnaldo Carvalho de Melo    eval $cmd || {
232ffd84aeSArnaldo Carvalho de Melo      echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2
242ffd84aeSArnaldo Carvalho de Melo      echo diff -u $file1 $file2
252ffd84aeSArnaldo Carvalho de Melo    }
262ffd84aeSArnaldo Carvalho de Melo  }
272ffd84aeSArnaldo Carvalho de Melo}
282ffd84aeSArnaldo Carvalho de Melo
292ffd84aeSArnaldo Carvalho de Melocheck () {
302ffd84aeSArnaldo Carvalho de Melo  file=$1
312ffd84aeSArnaldo Carvalho de Melo
322ffd84aeSArnaldo Carvalho de Melo  shift
332ffd84aeSArnaldo Carvalho de Melo
342ffd84aeSArnaldo Carvalho de Melo  check_2 tools/$file $file $*
353bd51c5aSJosh Poimboeuf}
363bd51c5aSJosh Poimboeuf
373bd51c5aSJosh Poimboeufif [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then
383bd51c5aSJosh Poimboeuf	exit 0
393bd51c5aSJosh Poimboeuffi
403bd51c5aSJosh Poimboeuf
412ffd84aeSArnaldo Carvalho de Melocd ../..
422ffd84aeSArnaldo Carvalho de Melo
433bd51c5aSJosh Poimboeuffor i in $FILES; do
443bd51c5aSJosh Poimboeuf  check $i
453bd51c5aSJosh Poimboeufdone
462ffd84aeSArnaldo Carvalho de Melo
47ae31a514SArnaldo Carvalho de Melocheck arch/x86/include/asm/inat.h     '-I "^#include [\"<]\(asm/\)*inat_types.h[\">]"'
48ae31a514SArnaldo Carvalho de Melocheck arch/x86/include/asm/insn.h     '-I "^#include [\"<]\(asm/\)*inat.h[\">]"'
49ae31a514SArnaldo Carvalho de Melocheck arch/x86/lib/inat.c             '-I "^#include [\"<]\(../include/\)*asm/insn.h[\">]"'
50*4d65adfcSMasami Hiramatsucheck arch/x86/lib/insn.c             '-I "^#include [\"<]\(../include/\)*asm/in\(at\|sn\).h[\">]" -I "^#include [\"<]\(../include/\)*asm/emulate_prefix.h[\">]"'
51ae31a514SArnaldo Carvalho de Melo
522ffd84aeSArnaldo Carvalho de Melocd -
53