]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - tools/objtool/sync-check.sh
objtool,x86: Replace alternatives with .retpoline_sites
[mirror_ubuntu-jammy-kernel.git] / tools / objtool / sync-check.sh
CommitLineData
3bd51c5a
JP
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3
bb090fdb
JT
4if [ -z "$SRCARCH" ]; then
5 echo 'sync-check.sh: error: missing $SRCARCH environment variable' >&2
6 exit 1
7fi
8
ee819aed
JT
9FILES="include/linux/objtool.h"
10
bb090fdb 11if [ "$SRCARCH" = "x86" ]; then
ee819aed 12FILES="$FILES
301cddc2 13arch/x86/include/asm/nops.h
3bd51c5a
JP
14arch/x86/include/asm/inat_types.h
15arch/x86/include/asm/orc_types.h
4d65adfc 16arch/x86/include/asm/emulate_prefix.h
d046b725
JP
17arch/x86/lib/x86-opcode-map.txt
18arch/x86/tools/gen-insn-attr-x86.awk
1e7e4788 19include/linux/static_call_types.h
3890b8d9 20"
d30c7b82
BP
21
22SYNC_CHECK_FILES='
23arch/x86/include/asm/inat.h
24arch/x86/include/asm/insn.h
25arch/x86/lib/inat.c
26arch/x86/lib/insn.c
27'
bb090fdb 28fi
3bd51c5a 29
2ffd84ae
ACM
30check_2 () {
31 file1=$1
32 file2=$2
3bd51c5a 33
2ffd84ae
ACM
34 shift
35 shift
36
37 cmd="diff $* $file1 $file2 > /dev/null"
38
39 test -f $file2 && {
40 eval $cmd || {
41 echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2
42 echo diff -u $file1 $file2
43 }
44 }
45}
46
47check () {
48 file=$1
49
50 shift
51
52 check_2 tools/$file $file $*
3bd51c5a
JP
53}
54
55if [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then
56 exit 0
57fi
58
2ffd84ae
ACM
59cd ../..
60
3890b8d9
JT
61while read -r file_entry; do
62 if [ -z "$file_entry" ]; then
63 continue
64 fi
2ffd84ae 65
3890b8d9
JT
66 check $file_entry
67done <<EOF
68$FILES
69EOF
d30c7b82
BP
70
71if [ "$SRCARCH" = "x86" ]; then
72 for i in $SYNC_CHECK_FILES; do
73 check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"'
74 done
75fi