x86/insn: Add a __ignore_sync_check__ marker

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
This commit is contained in:
Borislav Petkov 2021-02-22 13:34:40 +01:00
parent 508ef28674
commit d30c7b820b
10 changed files with 36 additions and 20 deletions

View File

@ -6,7 +6,7 @@
* *
* Written by Masami Hiramatsu <mhiramat@redhat.com> * Written by Masami Hiramatsu <mhiramat@redhat.com>
*/ */
#include <asm/inat_types.h> #include <asm/inat_types.h> /* __ignore_sync_check__ */
/* /*
* Internal bits. Don't use bitmasks directly, because these bits are * Internal bits. Don't use bitmasks directly, because these bits are

View File

@ -9,7 +9,7 @@
#include <asm/byteorder.h> #include <asm/byteorder.h>
/* insn_attr_t is defined in inat.h */ /* insn_attr_t is defined in inat.h */
#include <asm/inat.h> #include <asm/inat.h> /* __ignore_sync_check__ */
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)

View File

@ -4,7 +4,7 @@
* *
* Written by Masami Hiramatsu <mhiramat@redhat.com> * Written by Masami Hiramatsu <mhiramat@redhat.com>
*/ */
#include <asm/insn.h> #include <asm/insn.h> /* __ignore_sync_check__ */
/* Attribute tables are generated from opcode map */ /* Attribute tables are generated from opcode map */
#include "inat-tables.c" #include "inat-tables.c"

View File

@ -11,10 +11,10 @@
#else #else
#include <string.h> #include <string.h>
#endif #endif
#include <asm/inat.h> #include <asm/inat.h> /*__ignore_sync_check__ */
#include <asm/insn.h> #include <asm/insn.h> /* __ignore_sync_check__ */
#include <asm/emulate_prefix.h> #include <asm/emulate_prefix.h> /* __ignore_sync_check__ */
#define leXX_to_cpu(t, r) \ #define leXX_to_cpu(t, r) \
({ \ ({ \

View File

@ -6,7 +6,7 @@
* *
* Written by Masami Hiramatsu <mhiramat@redhat.com> * Written by Masami Hiramatsu <mhiramat@redhat.com>
*/ */
#include "inat_types.h" #include "inat_types.h" /* __ignore_sync_check__ */
/* /*
* Internal bits. Don't use bitmasks directly, because these bits are * Internal bits. Don't use bitmasks directly, because these bits are

View File

@ -9,7 +9,7 @@
#include <asm/byteorder.h> #include <asm/byteorder.h>
/* insn_attr_t is defined in inat.h */ /* insn_attr_t is defined in inat.h */
#include "inat.h" #include "inat.h" /* __ignore_sync_check__ */
#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)

View File

@ -4,7 +4,7 @@
* *
* Written by Masami Hiramatsu <mhiramat@redhat.com> * Written by Masami Hiramatsu <mhiramat@redhat.com>
*/ */
#include "../include/asm/insn.h" #include "../include/asm/insn.h" /* __ignore_sync_check__ */
/* Attribute tables are generated from opcode map */ /* Attribute tables are generated from opcode map */
#include "inat-tables.c" #include "inat-tables.c"

View File

@ -11,10 +11,10 @@
#else #else
#include <string.h> #include <string.h>
#endif #endif
#include "../include/asm/inat.h" #include "../include/asm/inat.h" /* __ignore_sync_check__ */
#include "../include/asm/insn.h" #include "../include/asm/insn.h" /* __ignore_sync_check__ */
#include "../include/asm/emulate_prefix.h" #include "../include/asm/emulate_prefix.h" /* __ignore_sync_check__ */
#define leXX_to_cpu(t, r) \ #define leXX_to_cpu(t, r) \
({ \ ({ \

View File

@ -16,11 +16,14 @@ arch/x86/include/asm/emulate_prefix.h
arch/x86/lib/x86-opcode-map.txt arch/x86/lib/x86-opcode-map.txt
arch/x86/tools/gen-insn-attr-x86.awk arch/x86/tools/gen-insn-attr-x86.awk
include/linux/static_call_types.h include/linux/static_call_types.h
arch/x86/include/asm/inat.h -I '^#include [\"<]\(asm/\)*inat_types.h[\">]'
arch/x86/include/asm/insn.h -I '^#include [\"<]\(asm/\)*inat.h[\">]'
arch/x86/lib/inat.c -I '^#include [\"<]\(../include/\)*asm/insn.h[\">]'
arch/x86/lib/insn.c -I '^#include [\"<]\(../include/\)*asm/in\(at\|sn\).h[\">]' -I '^#include [\"<]\(../include/\)*asm/emulate_prefix.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 fi
check_2 () { check_2 () {
@ -63,3 +66,9 @@ while read -r file_entry; do
done <<EOF done <<EOF
$FILES $FILES
EOF EOF
if [ "$SRCARCH" = "x86" ]; then
for i in $SYNC_CHECK_FILES; do
check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"'
done
fi

View File

@ -75,6 +75,13 @@ include/uapi/asm-generic/mman-common.h
include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.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
'
# These copies are under tools/perf/trace/beauty/ as they are not used to in # These copies are under tools/perf/trace/beauty/ as they are not used to in
# building object files only by scripts in tools/perf/trace/beauty/ to generate # building object files only by scripts in tools/perf/trace/beauty/ to generate
# tables that then gets included in .c files for things like id->string syscall # tables that then gets included in .c files for things like id->string syscall
@ -129,6 +136,10 @@ for i in $FILES; do
check $i -B check $i -B
done done
for i in $SYNC_CHECK_FILES; do
check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"'
done
# diff with extra ignore lines # diff with extra ignore lines
check arch/x86/lib/memcpy_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memcpy_\(erms\|orig\))"' check arch/x86/lib/memcpy_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memcpy_\(erms\|orig\))"'
check arch/x86/lib/memset_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memset_\(erms\|orig\))"' check arch/x86/lib/memset_64.S '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>" -I"^SYM_FUNC_START\(_LOCAL\)*(memset_\(erms\|orig\))"'
@ -137,10 +148,6 @@ check include/uapi/linux/mman.h '-I "^#include <\(uapi/\)*asm/mman.h>"'
check include/linux/build_bug.h '-I "^#\(ifndef\|endif\)\( \/\/\)* static_assert$"' check include/linux/build_bug.h '-I "^#\(ifndef\|endif\)\( \/\/\)* static_assert$"'
check include/linux/ctype.h '-I "isdigit("' check include/linux/ctype.h '-I "isdigit("'
check lib/ctype.c '-I "^EXPORT_SYMBOL" -I "^#include <linux/export.h>" -B' check lib/ctype.c '-I "^EXPORT_SYMBOL" -I "^#include <linux/export.h>" -B'
check arch/x86/include/asm/inat.h '-I "^#include [\"<]\(asm/\)*inat_types.h[\">]"'
check arch/x86/include/asm/insn.h '-I "^#include [\"<]\(asm/\)*inat.h[\">]"'
check arch/x86/lib/inat.c '-I "^#include [\"<]\(../include/\)*asm/insn.h[\">]"'
check arch/x86/lib/insn.c '-I "^#include [\"<]\(../include/\)*asm/in\(at\|sn\).h[\">]" -I "^#include [\"<]\(../include/\)*asm/emulate_prefix.h[\">]"'
# diff non-symmetric files # diff non-symmetric files
check_2 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl check_2 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl