lkml.org 
[lkml]   [2018]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/29] perf tools: Move headers check into bash script
    Date
    From: Jiri Olsa <jolsa@kernel.org>

    commit aeafd623f866c429307e3a4a39998f5f06b4f00e upstream.

    To make it nicer and easily maintainable.

    Also moving the check into fixdep sub make, so its output is not
    scattered around the build output.

    Removing extra $$ from mman*.h checks.

    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1481030331-31944-5-git-send-email-jolsa@kernel.org
    [ Use /bin/sh, and 'function check() {' -> 'check () {' to make it work with busybox, in Alpine Linux, for instance ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    tools/perf/Makefile.perf | 94 +------------------------------------
    tools/perf/check-headers.sh | 59 +++++++++++++++++++++++
    2 files changed, 60 insertions(+), 93 deletions(-)
    create mode 100644 tools/perf/check-headers.sh

    diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
    index 7dde2618d677..ad3726c5754d 100644
    --- a/tools/perf/Makefile.perf
    +++ b/tools/perf/Makefile.perf
    @@ -202,6 +202,7 @@ goals := $(filter-out all sub-make, $(MAKECMDGOALS))
    $(goals) all: sub-make

    sub-make: fixdep
    + @./check-headers.sh
    $(Q)$(MAKE) FIXDEP=1 -f Makefile.perf $(goals)

    else # force_fixdep
    @@ -387,99 +388,6 @@ export JEVENTS
    build := -f $(srctree)/tools/build/Makefile.build dir=. obj

    $(PERF_IN): prepare FORCE
    - @(test -f ../../include/uapi/linux/perf_event.h && ( \
    - (diff -B ../include/uapi/linux/perf_event.h ../../include/uapi/linux/perf_event.h >/dev/null) \
    - || echo "Warning: tools/include/uapi/linux/perf_event.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/linux/hash.h && ( \
    - (diff -B ../include/linux/hash.h ../../include/linux/hash.h >/dev/null) \
    - || echo "Warning: tools/include/linux/hash.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/uapi/linux/hw_breakpoint.h && ( \
    - (diff -B ../include/uapi/linux/hw_breakpoint.h ../../include/uapi/linux/hw_breakpoint.h >/dev/null) \
    - || echo "Warning: tools/include/uapi/linux/hw_breakpoint.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/asm/disabled-features.h && ( \
    - (diff -B ../arch/x86/include/asm/disabled-features.h ../../arch/x86/include/asm/disabled-features.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/asm/disabled-features.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/asm/required-features.h && ( \
    - (diff -B ../arch/x86/include/asm/required-features.h ../../arch/x86/include/asm/required-features.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/asm/required-features.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/asm/cpufeatures.h && ( \
    - (diff -B ../arch/x86/include/asm/cpufeatures.h ../../arch/x86/include/asm/cpufeatures.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/asm/cpufeatures.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/lib/memcpy_64.S && ( \
    - (diff -B ../arch/x86/lib/memcpy_64.S ../../arch/x86/lib/memcpy_64.S >/dev/null) \
    - || echo "Warning: tools/arch/x86/lib/memcpy_64.S differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/lib/memset_64.S && ( \
    - (diff -B ../arch/x86/lib/memset_64.S ../../arch/x86/lib/memset_64.S >/dev/null) \
    - || echo "Warning: tools/arch/x86/lib/memset_64.S differs from kernel" >&2 )) || true
    - @(test -f ../../arch/arm/include/uapi/asm/perf_regs.h && ( \
    - (diff -B ../arch/arm/include/uapi/asm/perf_regs.h ../../arch/arm/include/uapi/asm/perf_regs.h >/dev/null) \
    - || echo "Warning: tools/arch/arm/include/uapi/asm/perf_regs.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/arm64/include/uapi/asm/perf_regs.h && ( \
    - (diff -B ../arch/arm64/include/uapi/asm/perf_regs.h ../../arch/arm64/include/uapi/asm/perf_regs.h >/dev/null) \
    - || echo "Warning: tools/arch/arm64/include/uapi/asm/perf_regs.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/powerpc/include/uapi/asm/perf_regs.h && ( \
    - (diff -B ../arch/powerpc/include/uapi/asm/perf_regs.h ../../arch/powerpc/include/uapi/asm/perf_regs.h >/dev/null) \
    - || echo "Warning: tools/arch/powerpc/include/uapi/asm/perf_regs.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/uapi/asm/perf_regs.h && ( \
    - (diff -B ../arch/x86/include/uapi/asm/perf_regs.h ../../arch/x86/include/uapi/asm/perf_regs.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/uapi/asm/perf_regs.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/uapi/asm/kvm.h && ( \
    - (diff -B ../arch/x86/include/uapi/asm/kvm.h ../../arch/x86/include/uapi/asm/kvm.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/uapi/asm/kvm.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/uapi/asm/kvm_perf.h && ( \
    - (diff -B ../arch/x86/include/uapi/asm/kvm_perf.h ../../arch/x86/include/uapi/asm/kvm_perf.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/uapi/asm/kvm_perf.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/uapi/asm/svm.h && ( \
    - (diff -B ../arch/x86/include/uapi/asm/svm.h ../../arch/x86/include/uapi/asm/svm.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/uapi/asm/svm.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/x86/include/uapi/asm/vmx.h && ( \
    - (diff -B ../arch/x86/include/uapi/asm/vmx.h ../../arch/x86/include/uapi/asm/vmx.h >/dev/null) \
    - || echo "Warning: tools/arch/x86/include/uapi/asm/vmx.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/powerpc/include/uapi/asm/kvm.h && ( \
    - (diff -B ../arch/powerpc/include/uapi/asm/kvm.h ../../arch/powerpc/include/uapi/asm/kvm.h >/dev/null) \
    - || echo "Warning: tools/arch/powerpc/include/uapi/asm/kvm.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/s390/include/uapi/asm/kvm.h && ( \
    - (diff -B ../arch/s390/include/uapi/asm/kvm.h ../../arch/s390/include/uapi/asm/kvm.h >/dev/null) \
    - || echo "Warning: tools/arch/s390/include/uapi/asm/kvm.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/s390/include/uapi/asm/kvm_perf.h && ( \
    - (diff -B ../arch/s390/include/uapi/asm/kvm_perf.h ../../arch/s390/include/uapi/asm/kvm_perf.h >/dev/null) \
    - || echo "Warning: tools/arch/s390/include/uapi/asm/kvm_perf.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/s390/include/uapi/asm/sie.h && ( \
    - (diff -B ../arch/s390/include/uapi/asm/sie.h ../../arch/s390/include/uapi/asm/sie.h >/dev/null) \
    - || echo "Warning: tools/arch/s390/include/uapi/asm/sie.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/arm/include/uapi/asm/kvm.h && ( \
    - (diff -B ../arch/arm/include/uapi/asm/kvm.h ../../arch/arm/include/uapi/asm/kvm.h >/dev/null) \
    - || echo "Warning: tools/arch/arm/include/uapi/asm/kvm.h differs from kernel" >&2 )) || true
    - @(test -f ../../arch/arm64/include/uapi/asm/kvm.h && ( \
    - (diff -B ../arch/arm64/include/uapi/asm/kvm.h ../../arch/arm64/include/uapi/asm/kvm.h >/dev/null) \
    - || echo "Warning: tools/arch/arm64/include/uapi/asm/kvm.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/asm-generic/bitops/arch_hweight.h && ( \
    - (diff -B ../include/asm-generic/bitops/arch_hweight.h ../../include/asm-generic/bitops/arch_hweight.h >/dev/null) \
    - || echo "Warning: tools/include/asm-generic/bitops/arch_hweight.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/asm-generic/bitops/const_hweight.h && ( \
    - (diff -B ../include/asm-generic/bitops/const_hweight.h ../../include/asm-generic/bitops/const_hweight.h >/dev/null) \
    - || echo "Warning: tools/include/asm-generic/bitops/const_hweight.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/asm-generic/bitops/__fls.h && ( \
    - (diff -B ../include/asm-generic/bitops/__fls.h ../../include/asm-generic/bitops/__fls.h >/dev/null) \
    - || echo "Warning: tools/include/asm-generic/bitops/__fls.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/asm-generic/bitops/fls.h && ( \
    - (diff -B ../include/asm-generic/bitops/fls.h ../../include/asm-generic/bitops/fls.h >/dev/null) \
    - || echo "Warning: tools/include/asm-generic/bitops/fls.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/asm-generic/bitops/fls64.h && ( \
    - (diff -B ../include/asm-generic/bitops/fls64.h ../../include/asm-generic/bitops/fls64.h >/dev/null) \
    - || echo "Warning: tools/include/asm-generic/bitops/fls64.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/linux/coresight-pmu.h && ( \
    - (diff -B ../include/linux/coresight-pmu.h ../../include/linux/coresight-pmu.h >/dev/null) \
    - || echo "Warning: tools/include/linux/coresight-pmu.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/uapi/asm-generic/mman-common.h && ( \
    - (diff -B ../include/uapi/asm-generic/mman-common.h ../../include/uapi/asm-generic/mman-common.h >/dev/null) \
    - || echo "Warning: tools/include/uapi/asm-generic/mman-common.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/uapi/asm-generic/mman.h && ( \
    - (diff -B -I "^#include <\(uapi/\)*asm-generic/mman-common.h>$$" ../include/uapi/asm-generic/mman.h ../../include/uapi/asm-generic/mman.h >/dev/null) \
    - || echo "Warning: tools/include/uapi/asm-generic/mman.h differs from kernel" >&2 )) || true
    - @(test -f ../../include/uapi/linux/mman.h && ( \
    - (diff -B -I "^#include <\(uapi/\)*asm/mman.h>$$" ../include/uapi/linux/mman.h ../../include/uapi/linux/mman.h >/dev/null) \
    - || echo "Warning: tools/include/uapi/linux/mman.h differs from kernel" >&2 )) || true
    $(Q)$(MAKE) $(build)=perf

    $(JEVENTS_IN): FORCE
    diff --git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh
    new file mode 100644
    index 000000000000..c747bfd7f14d
    --- /dev/null
    +++ b/tools/perf/check-headers.sh
    @@ -0,0 +1,59 @@
    +#!/bin/sh
    +
    +HEADERS='
    +include/uapi/linux/perf_event.h
    +include/linux/hash.h
    +include/uapi/linux/hw_breakpoint.h
    +arch/x86/include/asm/disabled-features.h
    +arch/x86/include/asm/required-features.h
    +arch/x86/include/asm/cpufeatures.h
    +arch/arm/include/uapi/asm/perf_regs.h
    +arch/arm64/include/uapi/asm/perf_regs.h
    +arch/powerpc/include/uapi/asm/perf_regs.h
    +arch/x86/include/uapi/asm/perf_regs.h
    +arch/x86/include/uapi/asm/kvm.h
    +arch/x86/include/uapi/asm/kvm_perf.h
    +arch/x86/include/uapi/asm/svm.h
    +arch/x86/include/uapi/asm/vmx.h
    +arch/powerpc/include/uapi/asm/kvm.h
    +arch/s390/include/uapi/asm/kvm.h
    +arch/s390/include/uapi/asm/kvm_perf.h
    +arch/s390/include/uapi/asm/sie.h
    +arch/arm/include/uapi/asm/kvm.h
    +arch/arm64/include/uapi/asm/kvm.h
    +include/asm-generic/bitops/arch_hweight.h
    +include/asm-generic/bitops/const_hweight.h
    +include/asm-generic/bitops/__fls.h
    +include/asm-generic/bitops/fls.h
    +include/asm-generic/bitops/fls64.h
    +include/linux/coresight-pmu.h
    +include/uapi/asm-generic/mman-common.h
    +'
    +
    +check () {
    + file=$1
    + opts=
    +
    + shift
    + while [ -n "$*" ]; do
    + opts="$opts \"$1\""
    + shift
    + done
    +
    + cmd="diff $opts ../$file ../../$file > /dev/null"
    +
    + test -f ../../$file &&
    + eval $cmd || echo "Warning: $file differs from kernel" >&2
    +}
    +
    +
    +# simple diff check
    +for i in $HEADERS; do
    + check $i -B
    +done
    +
    +# diff with extra ignore lines
    +check arch/x86/lib/memcpy_64.S -B -I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"
    +check arch/x86/lib/memset_64.S -B -I "^EXPORT_SYMBOL" -I "^#include <asm/export.h>"
    +check include/uapi/asm-generic/mman.h -B -I "^#include <\(uapi/\)*asm-generic/mman-common.h>"
    +check include/uapi/linux/mman.h -B -I "^#include <\(uapi/\)*asm/mman.h>"
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-06-03 14:33    [W:4.425 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site