| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | #!/bin/sh | 
 | 2 | # SPDX-License-Identifier: GPL-2.0 | 
 | 3 |  | 
 | 4 | HEADERS=' | 
 | 5 | include/uapi/drm/drm.h | 
 | 6 | include/uapi/drm/i915_drm.h | 
 | 7 | include/uapi/linux/fcntl.h | 
 | 8 | include/uapi/linux/kcmp.h | 
 | 9 | include/uapi/linux/kvm.h | 
 | 10 | include/uapi/linux/in.h | 
 | 11 | include/uapi/linux/perf_event.h | 
 | 12 | include/uapi/linux/prctl.h | 
 | 13 | include/uapi/linux/sched.h | 
 | 14 | include/uapi/linux/stat.h | 
 | 15 | include/uapi/linux/vhost.h | 
 | 16 | include/uapi/sound/asound.h | 
 | 17 | include/linux/bits.h | 
 | 18 | include/linux/hash.h | 
 | 19 | include/uapi/linux/hw_breakpoint.h | 
 | 20 | arch/x86/include/asm/disabled-features.h | 
 | 21 | arch/x86/include/asm/required-features.h | 
 | 22 | arch/x86/include/asm/cpufeatures.h | 
 | 23 | arch/arm/include/uapi/asm/perf_regs.h | 
 | 24 | arch/arm64/include/uapi/asm/perf_regs.h | 
 | 25 | arch/powerpc/include/uapi/asm/perf_regs.h | 
 | 26 | arch/s390/include/uapi/asm/perf_regs.h | 
 | 27 | arch/x86/include/uapi/asm/perf_regs.h | 
 | 28 | arch/x86/include/uapi/asm/kvm.h | 
 | 29 | arch/x86/include/uapi/asm/kvm_perf.h | 
 | 30 | arch/x86/include/uapi/asm/svm.h | 
 | 31 | arch/x86/include/uapi/asm/unistd.h | 
 | 32 | arch/x86/include/uapi/asm/vmx.h | 
 | 33 | arch/powerpc/include/uapi/asm/kvm.h | 
 | 34 | arch/s390/include/uapi/asm/kvm.h | 
 | 35 | arch/s390/include/uapi/asm/kvm_perf.h | 
 | 36 | arch/s390/include/uapi/asm/ptrace.h | 
 | 37 | arch/s390/include/uapi/asm/sie.h | 
 | 38 | arch/arm/include/uapi/asm/kvm.h | 
 | 39 | arch/arm64/include/uapi/asm/kvm.h | 
 | 40 | arch/arm64/include/uapi/asm/unistd.h | 
 | 41 | arch/alpha/include/uapi/asm/errno.h | 
 | 42 | arch/mips/include/asm/errno.h | 
 | 43 | arch/mips/include/uapi/asm/errno.h | 
 | 44 | arch/parisc/include/uapi/asm/errno.h | 
 | 45 | arch/powerpc/include/uapi/asm/errno.h | 
 | 46 | arch/sparc/include/uapi/asm/errno.h | 
 | 47 | arch/x86/include/uapi/asm/errno.h | 
 | 48 | arch/powerpc/include/uapi/asm/unistd.h | 
 | 49 | include/asm-generic/bitops/arch_hweight.h | 
 | 50 | include/asm-generic/bitops/const_hweight.h | 
 | 51 | include/asm-generic/bitops/__fls.h | 
 | 52 | include/asm-generic/bitops/fls.h | 
 | 53 | include/asm-generic/bitops/fls64.h | 
 | 54 | include/linux/coresight-pmu.h | 
 | 55 | include/uapi/asm-generic/errno.h | 
 | 56 | include/uapi/asm-generic/errno-base.h | 
 | 57 | include/uapi/asm-generic/ioctls.h | 
 | 58 | include/uapi/asm-generic/mman-common.h | 
 | 59 | include/uapi/asm-generic/unistd.h | 
 | 60 | ' | 
 | 61 |  | 
 | 62 | check_2 () { | 
 | 63 |   file1=$1 | 
 | 64 |   file2=$2 | 
 | 65 |  | 
 | 66 |   shift | 
 | 67 |   shift | 
 | 68 |  | 
 | 69 |   cmd="diff $* $file1 $file2 > /dev/null" | 
 | 70 |  | 
 | 71 |   test -f $file2 && { | 
 | 72 |     eval $cmd || { | 
 | 73 |       echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2 | 
 | 74 |       echo diff -u $file1 $file2 | 
 | 75 |     } | 
 | 76 |   } | 
 | 77 | } | 
 | 78 |  | 
 | 79 | check () { | 
 | 80 |   file=$1 | 
 | 81 |  | 
 | 82 |   shift | 
 | 83 |  | 
 | 84 |   check_2 tools/$file $file $* | 
 | 85 | } | 
 | 86 |  | 
 | 87 | # Check if we have the kernel headers (tools/perf/../../include), else | 
 | 88 | # we're probably on a detached tarball, so no point in trying to check | 
 | 89 | # differences. | 
 | 90 | test -d ../../include || exit 0 | 
 | 91 |  | 
 | 92 | cd ../.. | 
 | 93 |  | 
 | 94 | # simple diff check | 
 | 95 | for i in $HEADERS; do | 
 | 96 |   check $i -B | 
 | 97 | done | 
 | 98 |  | 
 | 99 | # diff with extra ignore lines | 
 | 100 | check arch/x86/lib/memcpy_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"' | 
 | 101 | check arch/x86/lib/memset_64.S        '-I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"' | 
 | 102 | check include/uapi/asm-generic/mman.h '-I "^#include <\(uapi/\)*asm-generic/mman-common.h>"' | 
 | 103 | check include/uapi/linux/mman.h       '-I "^#include <\(uapi/\)*asm/mman.h>"' | 
 | 104 |  | 
 | 105 | # diff non-symmetric files | 
 | 106 | check_2 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl | 
 | 107 |  | 
 | 108 | cd tools/perf |