Invoking Gcov-tool (Using the GNU Compiler Collection (GCC))

### 12.2 Invoking `gcov-tool` ¶

    gcov-tool [global-options] SUB_COMMAND [sub_command-options] profile_dir

`gcov-tool` accepts the following options:

`-h`
`--help`

  Display help about using `gcov-tool` (on the standard output), and exit without doing any further processing.

`-v`
`--version`

  Display the `gcov-tool` version number (on the standard output), and exit without doing any further processing.

`merge`

  Merge two profile directories.

  `-o directory`
  `--output directory`

    Set the output profile directory. Default output directory name is merged_profile.

  `-v`
  `--verbose`

    Set the verbose mode.

  `-w w1,w2`
  `--weight w1,w2`

    Set the merge weights of the directory1 and directory2, respectively. The default weights are 1 for both.

`merge-stream`

  Collect profiles with associated filenames from a gcfn and gcda data stream. Read the stream from the file specified by file or from `stdin`. Merge the profiles with associated profiles in the host filesystem. Apply the optional weights while merging profiles.

  For the generation of a gcfn and gcda data stream on the target system, please have a look at the `__gcov_filename_to_gcfn()` and `__gcov_info_to_gcda()` functions declared in `#include <gcov.h>`.

  `-v`
  `--verbose`

    Set the verbose mode.

  `-w w1,w2`
  `--weight w1,w2`

    Set the merge weights of the profiles from the gcfn and gcda data stream and the associated profiles in the host filesystem, respectively. The default weights are 1 for both.

`rewrite`

  Read the specified profile directory and rewrite to a new directory.

  `-n long_long_value`
  `--normalize <long_long_value>`

    Normalize the profile. The specified value is the max counter value in the new profile.

  `-o directory`
  `--output directory`

    Set the output profile directory. Default output name is rewrite_profile.

  `-s float_or_simple-frac_value`
  `--scale float_or_simple-frac_value`

    Scale the profile counters. The specified value can be in floating point value, or simple fraction value form, such 1, 2, 2/3, and 5/3.

  `-v`
  `--verbose`

    Set the verbose mode.

`overlap`

  Compute the overlap score between the two specified profile directories. The overlap score is computed based on the arc profiles. It is defined as the sum of min (p1_counter[i] / p1_sum_all, p2_counter[i] / p2_sum_all), for all arc counter i, where p1_counter[i] and p2_counter[i] are two matched counters and p1_sum_all and p2_sum_all are the sum of counter values in profile 1 and profile 2, respectively.

  `-f`
  `--function`

    Print function level overlap score.

  `-F`
  `--fullname`

    Print full gcda filename.

  `-h`
  `--hotonly`

    Only print info for hot objects/functions.

  `-o`
  `--object`

    Print object level overlap score.

  `-t float`
  `--hot_threshold <float>`

    Set the threshold for hot counter value.

  `-v`
  `--verbose`

    Set the verbose mode.