mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 11:49:32 +00:00
![Josh Poimboeuf](/assets/img/avatar_default.png)
Reduce the amount of header sync churn by splitting the shared objtool.h types into a new file. Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/dec622720851210ceafa12d4f4c5f9e73c832152.1677683419.git.jpoimboe@kernel.org
75 lines
1.3 KiB
Bash
Executable file
75 lines
1.3 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_types.h"
|
|
|
|
if [ "$SRCARCH" = "x86" ]; then
|
|
FILES="$FILES
|
|
arch/x86/include/asm/nops.h
|
|
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
|