lkml.org 
[lkml]   [2009]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[Patch 4/5] scripts: add gen_gcov.sh

    Add scripts/gen_gcov.sh which will be used by the later patch.
    It is used to generate .gcov file from .c file.

    Signed-off-by: WANG Cong <amwang@redhat.com>

    ---
    Index: linux-2.6/scripts/gen_gcov.sh
    ===================================================================
    --- /dev/null
    +++ linux-2.6/scripts/gen_gcov.sh
    @@ -0,0 +1,49 @@
    +#!/bin/bash
    +# WANG Cong <xiyou.wangcong@gmail.com>
    +# GPLv2 applies.
    +
    +GCOV_BASE=/sys/kernel/debug/gcov$(readlink /lib/modules/`uname -r`/build)
    +target=""
    +trap "rm -f *.gcov" INT
    +
    +function usage()
    +{
    + echo "$0 [GCOV_BASE_DIR] target_file.c"
    + echo "The default directory is: /sys/kernel/debug/gcov/path/to/compile."
    +}
    +
    +if [ $# -eq 2 ];
    +then
    + GCOV_BASE="$1"
    + target="$2"
    +elif [ $# -eq 1 ];
    +then
    + target="$1"
    + if [ ! -d "$GCOV_BASE" ];
    + then
    + echo "You have to provide the base directory for gcov." >&2
    + exit 1
    + fi
    +else
    + usage
    + exit 1
    +fi
    +
    +if [ ! -f "$target" ];
    +then
    + echo "File $target doesn't exist.\n" 1>&2
    + exit 1
    +fi
    +
    +target_base_name=$(basename "$target")
    +target_dir_name=$(dirname "$target")
    +
    +${GCOV} -o "$GCOV_BASE/$target_dir_name" "$target_base_name"
    +if [ -f "${target_base_name}.gcov" ];
    +then
    + mv *.gcov "$target_dir_name"
    + exit 0
    +else
    + exit 1
    +fi
    +

    \
     
     \ /
      Last update: 2009-09-04 03:31    [W:0.022 / U:60.724 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site