#!/bin/bash export PATH=/proj/coverity/cov-analysis/bin/:$PATH export CROSS_COMPILE=/opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- export KERNEL_PATH=`pwd` export KERNEL_OUTPUT_PATH="$KERNEL_PATH/../kernel_output/" export COVERITY_OUTPUT_PATH="$KERNEL_PATH/../coverity_output/" export COVERITY_HTML_PATH="$KERNEL_PATH/../coverity_html/" if [ -n "$1" ]; then if [ -d "$KERNEL_PATH/$1" ]; then echo "scan path: $1" else echo "you should input a right module path" exit 1 fi fi echo "kernel distclean" make ARCH=arm64 O="$KERNEL_OUTPUT_PATH" distclean rm -rf "$COVERITY_HTML_PATH" make ARCH=arm64 O="$KERNEL_OUTPUT_PATH" meson64_defconfig cov-build --dir $COVERITY_OUTPUT_PATH make ARCH=arm64 O="$KERNEL_OUTPUT_PATH" -j8 Image UIMAGE_LOADADDR=0x1080000 || echo "Compile Image Fail !!" if [ -n "$1" ]; then cov-analyze --dir "$COVERITY_OUTPUT_PATH" --strip-path "$KERNEL_PATH" --tu-pattern "file(\"$1\")" --all else cov-analyze --dir "$COVERITY_OUTPUT_PATH" --strip-path "$KERNEL_PATH" --all fi cov-format-errors --dir "$COVERITY_OUTPUT_PATH" --strip-path "$KERNEL_PATH" --html-output "$COVERITY_HTML_PATH" --filesort -x rm -rf "$COVERITY_HTML_PATH/emit"