mirror of
https://github.com/torvalds/linux
synced 2024-10-15 07:47:34 +00:00
d30c7b820b
Add an explicit __ignore_sync_check__ marker which will be used to mark lines which are supposed to be ignored by file synchronization check scripts, its advantage being that it explicitly denotes such lines in the code. Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Link: https://lkml.kernel.org/r/20210304174237.31945-4-bp@alien8.de
75 lines
1.2 KiB
Bash
Executable file
75 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
if [ -z "$SRCARCH" ]; then
|
|
echo 'sync-check.sh: error: missing $SRCARCH environment variable' >&2
|
|
exit 1
|
|
fi
|
|
|
|
FILES="include/linux/objtool.h"
|
|
|
|
if [ "$SRCARCH" = "x86" ]; then
|
|
FILES="$FILES
|
|
arch/x86/include/asm/inat_types.h
|
|
arch/x86/include/asm/orc_types.h
|
|
arch/x86/include/asm/emulate_prefix.h
|
|
arch/x86/lib/x86-opcode-map.txt
|
|
arch/x86/tools/gen-insn-attr-x86.awk
|
|
include/linux/static_call_types.h
|
|
"
|
|
|
|
SYNC_CHECK_FILES='
|
|
arch/x86/include/asm/inat.h
|
|
arch/x86/include/asm/insn.h
|
|
arch/x86/lib/inat.c
|
|
arch/x86/lib/insn.c
|
|
'
|
|
fi
|
|
|
|
check_2 () {
|
|
file1=$1
|
|
file2=$2
|
|
|
|
shift
|
|
shift
|
|
|
|
cmd="diff $* $file1 $file2 > /dev/null"
|
|
|
|
test -f $file2 && {
|
|
eval $cmd || {
|
|
echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2
|
|
echo diff -u $file1 $file2
|
|
}
|
|
}
|
|
}
|
|
|
|
check () {
|
|
file=$1
|
|
|
|
shift
|
|
|
|
check_2 tools/$file $file $*
|
|
}
|
|
|
|
if [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then
|
|
exit 0
|
|
fi
|
|
|
|
cd ../..
|
|
|
|
while read -r file_entry; do
|
|
if [ -z "$file_entry" ]; then
|
|
continue
|
|
fi
|
|
|
|
check $file_entry
|
|
done <<EOF
|
|
$FILES
|
|
EOF
|
|
|
|
if [ "$SRCARCH" = "x86" ]; then
|
|
for i in $SYNC_CHECK_FILES; do
|
|
check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"'
|
|
done
|
|
fi
|