commit 79595562392671d4a30afbc1100033a8b27dc1c7 (HEAD -> master, origin/master, origin/HEAD)
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jan 7 17:11:27 2025 -0500

    typos.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ecec956b52d4c989f47cb7149f0ff6729487aaca
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Tue Jan 7 19:11:46 2025 +0100

    Add missing direct Perl dependency `TimeDate` for command `genhtml` (#375)
    
    * README: Fix list indentation that changed halfway in the list
    
    * README: Add missing Perl dependency TimeDate for Date::Parse for command genhtml.  Not to be mixed up with DateTime, which is also needed (but already documented).
    
    * run_test_suite.yml: Treat CPAN TimeDate as a direct dependency
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 8b310520ff5d9ae7f300a50141003584f93cc0de
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Mon Jan 6 15:15:36 2025 -0500

    Remove explicit JSON dependency in favor of ordered preference list. (#374)
    
    Addresses #372
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 3cd2210b01b7723c66a91dd7a8459645df263d9d
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Sun Jan 5 07:12:15 2025 -0500

    Common test utility, test portability (#371)
    
    * Test updates:  portability, common utility, fix typo
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 0a33c548d0349205bf6cdac0f84503c8b6b8bfe7
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Wed Dec 25 08:33:38 2024 -0500

    Update README
    
    Clarification + fix typos
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>
    
    Signed-off-by: Henry Cox <68852529+henry2cox@users.noreply.github.com>

commit 5024a98427ec9264adf160698e846ed423929d57
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Tue Dec 24 14:43:15 2024 +0100

    run_test_suite.yml: Use a variety of versions of GCC (#366)
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 3b6caeb9bc12b1e3fc7da07117cdb3f4a84aacdc
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Mon Dec 23 07:56:18 2024 -0500

    Typo. (#369)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit b34c84431a97b49e55785286fa05e9a95b873920
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Dec 21 06:40:53 2024 -0500

    regexp typo (error in perl/5.32)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 58e45814792fc31eacb07e0e6e596e66aa5c99ae (tag: v2.3-beta, origin/v2.3-beta)
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Fri Dec 20 18:08:06 2024 -0500

    Do not remove '/usr/bin/env ...' paths in scripts. (#365)
    
    If user explicitly asks to use a particular verion (...by having it in her environment):  use it.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ffd1c1c2a2fc74925ced4b0f90debabbf29845a3
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Fri Dec 20 17:54:30 2024 -0500

    Port tests to run under git, perforce, or independently (from installation).
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5bdf2f50a4e10e220afd8431d2cfc4783636dc9f
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 11:16:48 2024 -0500

    'genhtml --date-labels string[,string...]' option - to specify label for corresponding 'date' table entries in HTML report. (#363)
    
    
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5f3bd920cd0961b8ba27273acace648a9279167d
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 11:16:01 2024 -0500

    'lcov --capture' interface change:  apply 'region' and 'branch_region' default filters only if '--filter ...' option was not used. (#362)
    
    Error if both '--filter' and '--no-markers' are specified (or or the other - not both).
    Action is unchanged (filter out excluded regions) if no filter options are specified.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit b231a5eea5afc06e6657580f3e3aa3190966ad80
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 11:15:40 2024 -0500

    Add '--filter mcdc' option - to remove MC/DC coverpoints which are (#361)
    
    identical to the corresponding branch:  reduce verbosity/noise.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 06f907a5af617937e4ab95760c6612b81fdf2356
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 11:15:15 2024 -0500

    Improved location and context for certain messages:  more actionable. (#360)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d881ef95bfeb7f8ed56047cb0da938be5c9267e8
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 11:14:51 2024 -0500

    Don't emit gcov warning in tool that doesn't use gcov. (#359)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 193cc76af7b5f417c8fd8d5f350a7ed9e2cc55bb
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Thu Dec 19 08:00:41 2024 -0500

    Python Coverage.py version differences. (#358)
    
    GitHub regression fixes. #343, #348
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ae8e5173d855bb54a3968b99a7600cea17816bf1
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Thu Dec 19 00:23:17 2024 +0100

    Make GitHub Actions upload the test log as an artifact (#357)
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 716f14f42157376dee317b9196f18fcd637763ec
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Thu Dec 19 00:00:50 2024 +0100

    `py2lcov` and `xml2lcov`: Fix command injection from `subprocess.run([..], shell=True, [..])` (fixes #350) (#356)
    
    * xml2lcovutil.py: Extract variable lcov
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * xml2lcov: Stop allowing command injection via xml2lcovutil.py
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * py2lcov: Stop allowing command injection
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    ---------
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit cea2ab80b3b05460a9ed4a879d58fd154ed07223
Author: Henry Cox <68852529+henry2cox@users.noreply.github.com>
Date:   Wed Dec 18 17:13:32 2024 -0500

    Handle spaces in path/filename - see #350 (#355)
    
    Handle spaces in path/filename.  See #350.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit c8ab40840a2c35195c905503c4fcb78c793ad0f8
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 18 14:40:14 2024 -0500

    Portability issues in 'simple' testcase.  See #343.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b70a9f2ba07dc0a119272b2854acab71e88cf139
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 18 11:05:37 2024 -0500

    Another typo
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 0dec934024bf7c6d6e4e8fd28ed9a833083a0822
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 18 11:05:19 2024 -0500

    Bug in 'gitversion' script.
    See #343.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5ea278067d85a45894020b3e95c21e46d5d7c612
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 18 11:03:16 2024 -0500

    Add 'py2lcov --cmd exe ..' option, so user can specify the name of their Coverage.py execuable.
    Default is retrieved from 'COVERAGE_COMMAND' environment variable, or is set to 'coverage' otherwise.
    See #347
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 77d1a9b8a8271c4c86f0bd037fc2de2cc550d715
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 18 10:58:12 2024 -0500

    Missed files in initial commit - see #343
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e4b3129745f7e1434f26697bbc4c7027b96dd070
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 17:23:37 2024 +0100

    Add simple CI based on GitHub Actions: run the test suite + ensure clean `make uninstall` + protect against introduction of new spelling errors (#349)
    
    * Make GitHub Actions cover "make check" and "make uninstall"
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * Make GitHub Dependabot keep our GitHub Actions up to date
    
    .. by sending us pull requests
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * Fix more typos
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * Make GitHub Actions enforce codespell-error clean code
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    ---------
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 74342ef6801d0e6ef915f166eb81d9a1528f7c86
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 17:06:21 2024 +0100

    lib/lcovutil.pm: Fix ->filename access in _deriveFunctionEndLines (#352)
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 869e167c06b5b8f87c079824bf31fde4782aaa4d
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 12:40:57 2024 +0100

    xml2lcovutil.py: Add missing raw string prefix (#346)
    
    Symptom was:
    > bin/xml2lcovutil.py:262: SyntaxWarning: invalid escape sequence '\s'
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 07efdef797829ff20c91036e15d4037f6c6399bd
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 12:40:02 2024 +0100

    Tests: Fix for non-Bash `/bin/sh` (#345)
    
    * tests: Fix Bashism in POSIX shell script testContext.sh
    
    Symptom was:
    > # /bin/dash ./tests/lcov/extract/testContext.sh
    > ./tests/lcov/extract/testContext.sh: 3: [: die: unexpected operator
    > [..]
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
    
    * tests: Add missing portable Bash shebang line to script mcdc.sh
    
    Symptom was:
    > ./mcdc.sh: 61: [[: not found
    > ./mcdc.sh: 70: Syntax error: "(" unexpected (expecting "then")
    
    ---------
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 7034a934fb81353b8eba7fd28d86aaf66043f2d2
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 12:38:55 2024 +0100

    Makefile: Fix "make uninstall" (#344)
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 1829ae8ded5b8e3343f57bad292ce6a24671b7b6
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Wed Dec 18 12:37:42 2024 +0100

    Fix typos (#342)
    
    Most of them found and fixed by codespell
    (https://github.com/codespell-project/codespell).
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 34f05f5b1ebd046b5431a0593b2ce58db5b0a275
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Mon Dec 16 18:59:07 2024 +0100

    tests: Fix stray ")" in test script py2lcov.sh (#340)
    
    Symptom was:
    > # sudo make install PREFIX=/usr CFG_DIR=/etc
    > [..]
    > ./py2lcov.sh: line 100: --version-script ${SCRIPT_DIR}/gitversion${MD5_OPT)}: bad substitution
    > [..]                                                                      ^
    
    Regression from commit 747a891ce66cf19c6fe7cf4832738beeeb584ec9
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 12d58575dcf51578eaac2c93ffc25837c8fbb2fa
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Mon Dec 16 18:58:32 2024 +0100

    tests: Make test script mcdc.sh executable (#339)
    
    Symptom was:
    > # sudo make install PREFIX=/usr CFG_DIR=/etc
    > [..]
    > make[3]: ./mcdc.sh: Permission denied
    > [..]
    
    Signed-off-by: Sebastian Pipping <sebastian@pipping.org>

commit 201467d30afcce6324689932e3ca93f348a11433
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 11 11:04:55 2024 -0500

    Update default version ID.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 69a2b356ba47635f79b21b29734ad64419cd6204
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 13 16:24:00 2024 -0500

    Add test for version callback in llvm2lcov
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 97abf1909c6688736261ac44ff23218db50e82f6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 13 16:23:11 2024 -0500

    Handle added files in perforce
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 36cc06400df614bf97fd120856733d25466428a0
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 13 11:54:45 2024 -0500

    Consistent handling of invalid line numbers.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 3eb59e3c508ca4ac49fb08c18e824e3530c4a222
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 11 11:03:30 2024 -0500

    Bugfix:  MC/DC filtering.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 398d2a017c3f0c84aa6e54447ce5a537f99dded9
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Dec 10 15:18:44 2024 -0500

    Clarify genhtml table compression effects (add footnote to table when
    rows are elided).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0c3afeab83cf773bbc4ae9314d8bc0f34283bd38
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Dec 9 13:19:53 2024 -0500

    Improved error/warning message for function end line derivation
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 1155feb6d4bb779965ae802f35a90e7c8aab5b42
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Dec 9 13:17:59 2024 -0500

    Bugfix: pass '--msg-log' param to geninfo
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 75a42b852bf0bdce463b55b0029c8b3cfd550c83
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 11 11:04:34 2024 -0500

    Cleaner 'lcov --list' implementation.
    Make testcase insensitive to compiler output differences.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8261ed895bcb3d497f2f9af63a3a1715fac2d853
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Dec 10 07:32:24 2024 -0500

    Fix 'lcov --list' feature - see issue #335.
    Also add MC/DC data to the report.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b672a74d85ced33e134feff05b0e20aec572e4ee
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Dec 5 09:29:24 2024 -0500

    Add option to set tool name used in messages.
    Reduce confusion when 'geninfo' errors reported when user invoked 'lcov --capture ...'.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 146a4ed9fe020a2c637a6f20da13e98fe2dfb6c2
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Nov 30 11:55:07 2024 -0500

    More consistency checking for function decls, usage.
    Suppress warnings for functions which will be dropped.
    See #327
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 3f505260559772a1acf45adf5686620da00e6218
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Nov 27 09:09:00 2024 -0500

    Fix typos, minor doc updates.
    
    Signed-off-by:  Henry cox <henry.cox@mediatek.com>

commit 401e15b331525590bc32c65025fe97d37db6d903
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Nov 27 09:07:02 2024 -0500

    Fix access violation when function coverage is disabled.  See #311
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 2de737ac37c798a2eee71838f5a8e2dab7832db1
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Nov 22 15:41:46 2024 -0500

    Suppress branch and MC/DC columns and tables/table entries if there are no corresponding coverpoints.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit aaf066a76c640ae80252b6386de7d793056577d8
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Nov 21 06:41:47 2024 -0500

    llvm2lcov:  translate from 'llvm-cov' JSON to LCOV format.
    Primary use is to support MC/DC - which is not currently supported by
    'llvm-cov export -format=lcov' or 'llvm-cov gcov'.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2d450cd01c040c9529e2ebb20da49511f1ec1fb5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Nov 18 11:26:25 2024 -0500

    Better category for DB format error messages.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c1b16a675dbba5f6ca4467ed6f20630a27aba488
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 12 06:46:10 2024 -0500

    Fix function data merge bug - see #327.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8f4d7839abee67701126cba024a94b87fa9b6543
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 12 06:45:01 2024 -0500

    Support MC/DC metrics.  See '--mcdc-coverage' section of various man pages.
    Note that this version has been tested with gcc/14.2.0 (only).
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f1589ab3c50f0139ca5006ee14e7741999b6763d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Nov 7 07:43:43 2024 -0500

    Portability:  some compiler versions don't put coverpoints on the std::initializer block

commit 3af5431a88657dcb50ea244bd379eee6b8019cdc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Nov 7 07:40:55 2024 -0500

    Remove deprecated 'lcov --diff ...' feature.
    At best:  the result was misleading.
    This usecase is better supported via differential reporting.

commit 2d9ec858a32857c971b16b1940fd7180f9b71e5a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Oct 7 11:56:50 2024 -0400

    Minor simplifications: remove unused variables, unused functions,
    redundant code, fix typo,
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4aff20db813f30295b55c6df2c376ae78460323b
Author: ud2 <sjx233@qq.com>
Date:   Wed Nov 13 05:48:53 2024 +0800

    Fix language detection (#328)
    
    A previous change to `is_language` resulted in all files being assumed
    to be C code, which is fixed by this patch.
    
    Signed-off-by: ud2 <sjx233@qq.com>

commit b7ebec032b84d89b1bc6e200a764ec1a73bea144 (tag: v2.2-beta, tag: v2.2)
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Oct 4 13:01:28 2024 -0400

    Fix 'exclude region' overlap error message.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d1f9d856945fe9961c3920c1ae5dd0059e18c035
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 3 11:29:28 2024 -0400

    Add '--msg-log [filename]' option - to save error and warning
    messages to another location - to simplify debugging.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 9a4d674f05bd3e4f62bba9e64d20ec66912703bc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Oct 1 15:20:19 2024 -0400

    Additional gcda/gcno file existence checking - better
    diagnostic for broken links or missing files.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8124d12b377a6598d28d5edffb4fa0bfcef3e578
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Sep 30 07:41:35 2024 -0400

    Indicate function begin/end when generating source view for missing
    files.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5e57505138ae9ece2a92cc0412573b8c6b1d5732
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Sep 27 13:11:00 2024 -0400

    Improved message when source file is empty or unreadable.  See #321.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 278ac870f2040fe6170b8512a5ef84aea4d2874d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 12 17:29:25 2024 -0400

    Implement '--expect-message-count' flag/expect_message_count config option.
    
    Provide some additional safety when messages are ignored or suppressed,
    to warn if the number of messages is different from expectation.
    (Inspired by yacc 'expect' feature - for similar reasons.)
    
    See man genhtml(1) and lcovrc(5) for more details.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 4543c3688da5bbe8f16c04375c209338960cd276
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Sep 7 16:21:47 2024 -0400

    Check coverage data consistency:
      - function should have non-zero hit count only if at least one
        contained line has a non-zero hit count - and vice versa.
      - for line with non-zero hit count, at least one branch expression
        should be evaluated - and vice versa.
    Also add option to skip the consistency check (e.g., for legacy data).
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 0843577c4384fac3b59efcebe1ce81ad69bc183d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 5 12:54:23 2024 -0400

    Unchanged files also need to use prefix.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c85b855c282634b8980ee9a76c865a1f106763e3
Author: John McFarlane <github@john.mcfarlane.name>
Date:   Mon Sep 30 12:44:35 2024 +0100

    Escape function aliases, which may be templates (#323)
    
    Signed-off-by: John McFarlane <git@john.mcfarlane.name>
    Co-authored-by: John McFarlane <git@john.mcfarlane.name>

commit e7f617667a0f2ff491dcc127be13fc2ac875392b
Author: Abdulgafar Yusuf <gaftofi@gmail.com>
Date:   Fri Sep 27 20:23:27 2024 +0300

    corected some typos and word spellings (#322)
    
    Signed-off-by: Abdulgafar Yusuf yusufabdulgafar123@gmail.com

commit 6ab84fd42e00d623a478b4c507e92580b9136e3f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 4 11:56:01 2024 -0400

    Fix overcount of certain filters.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 03a463e39a86df899d0b81214e51d400a47d7aff
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Aug 31 16:16:22 2024 -0400

    Add 'genhhtml --validate ..' option - to check for broken hyperlinks in HTML report.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 99382ed7d2bfe8a1e9ceac55a6c5708aa59bf67c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 28 10:01:11 2024 -0400

    Simplify HTML report:  don't generate sorted views if there is only one element (nothing to sort)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 204137390733061992d9db57ca460ac49a006661
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Aug 27 15:09:01 2024 -0400

    Add prefix to saved file names - avoid overwrite when same name is used
    in both baseline and current.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d202cc83209a3ed91686f955a6a0d32a54bb6bca
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 26 14:59:01 2024 -0400

    Add hyperlink to profile data to HTML report.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit a6849bd5fb0420f49a3fb6ec2e1c5f2e7e3f92d7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 22 17:12:53 2024 -0400

    Keep largest function end line if DBs are inconsistent and the corresponding error is ignored.
    See #316.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 80bde0c1233bdd479c8e6a46f46b9986f66c7ecc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 22 17:15:39 2024 -0400

    Compact layout for 'date' and 'owner' summary tables.
    Option is enabled by default - but can be disabled to generate the
    original format.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 84715965fad4df7ac1d597871150f674bab62b15
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 21 11:15:45 2024 -0400

    Add lcovrc options 'truncate_owner_table' and 'owner_table_entries' to
    truncate header table when number of authors is large.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 1453a3e6e6fc8f4b3edfb11a298106187188da66
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 19 16:36:36 2024 -0400

    Add "genhtml --no-html ..." option to suppress the HTML report - and just
    execute the various side effects - serialized DB, criteria check, text
    summary, etc.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 9105349d8379bdbf53e8ea90aad050f83467f966
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 19 16:35:06 2024 -0400

    By default, emit only first 'unmapped' error in each file.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 09cb6466cb509854e70a0c290a2585163c6a4539
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 19 16:34:37 2024 -0400

    Deprecate 'lcov --diff' feature.
    The generated result is misleading at best and almost certainly incorrect.
    "Differential coverage" is a better approach.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 03b34d8131709f7f4f47e3ecb866e47d165aeafc
Author: Ned Batchelder <ned@nedbatchelder.com>
Date:   Wed Sep 11 13:58:52 2024 -0400

    Correct some typos in geninfo.1 (#320)
    
    * Correct some typos in geninfo.1
    * Update man/geninfo.1
    
    Signed-off-by: Ned Batchelder <ned@nedbatchelder.com>

commit 528c97b1438948799566eee8ea274de5a43e7069
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 14 16:58:33 2024 -0400

    Check for consistency between baseline coverage DB, current coverage
    DB, and 'diff' file data:
    If file is present in both baseline and current coverage data:
      - if version is not the same:  expect to find file in 'diff' data.
      - if version is the same:  expect to NOT find in 'diff' data.
    
    If file is not in 'current' DB: then it is no longer part of the project -
    so we dont' care about differences.
    If file is not present in 'baseline':  then it was recently added to the
    project - so we are not looking at differences.
    
    Checks motivated by report in issue #315.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 08c7b2f43c46147d716e2d0a33594b5e19e47ec0
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Aug 9 12:42:47 2024 -0400

    Improved support for coverpoint filtering in genhtml; filters are
    applied to both baseline and current data.
    See #314
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c062292816e75a667a2650f8ea0c4b4a42628a5d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 12 15:06:34 2024 -0400

    Enhance 'function' filter to be persistent (stored in .info file).
    This causes a change to the .info file format.
    The change is forward compatible but not backward compatible:  newer lcov vesions can read data generated by older versions but old versions likely cannot read data generated by the new version.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8800a12a2e45ef1b793e51c1e9d72366bc75149d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 7 09:32:36 2024 -0400

    Add '--context-script ..' callback.
    Enable user to keep track of environment and other settings - to aid in
    infrastructure debugging and tracking.
    See man genhtml(1) for details (but note the callback is implemented by
    lcov, geninfo, genhtml).
    Collected data is written into '--profile' JSON output file, under key
    'context'.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 87d01f3f18a613a9e41557c482a679e8d2d5738a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Aug 9 12:41:44 2024 -0400

    Use better title if there are multiple input files
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 944cb8b3c5af8c3c22cef82755de1dd834e6ee81
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 8 14:31:56 2024 -0400

    'diff-file' entries do not need to be absolute path.
    See #314
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a1ec327b48cec58c762f4d8e8d280d3b718be19b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 7 09:30:19 2024 -0400

    Enforce callback destructor order.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ba1b19e7566adbf99183ced4574fd11890f94c49
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 7 09:08:44 2024 -0400

    Add '--filter initializer' option - to filter out bogus line coverpoints
    related to std::initializer_list constructor calls.
    See issue #122.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5499e5bac94f1514382095e6425e8e5807056952
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 1 12:32:41 2024 -0400

    Profile and spreadsheet generation fix.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 747a891ce66cf19c6fe7cf4832738beeeb584ec9
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jul 31 12:50:24 2024 -0400

    Improved callback performance via caching revision control result - to
    avoid going to network.
    For example, in larger examples, genhtml execution time is dominated by
    git/perforce annotation and/or version callback.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit eb971dca4afae4e9690d32af05d2c5224b56326a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Aug 3 05:19:35 2024 -0400

    Bugfix:  version script might be perl module
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d465f73117ac3b66e9f6d172346ae18fcfaf0f69
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jul 31 12:51:51 2024 -0400

    Accidentally overlooked testcase file - see ae397466.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit da3837b0d7a4b1adf5e9304b9665aa831bad3f12
Author: Peter Marheine <taricorp@gmail.com>
Date:   Thu Aug 1 02:42:14 2024 +1000

    tests: use $CC and $CXX, not hard-coded gcc/g++ (#313)
    
    Cross-compiling may need to use a different compiler, so don't hard code
    references to plain `gcc` and instead determine the compiler to use from
    the environment.
    
    When building for ChromeOS for example, invoking plain gcc or g++ is
    turned into a fatal error as a safety measure to ensure that everything
    which should be cross-compiled actually is; ignoring CC and CXX in the
    environment causes the tests to break `make install`, since the test
    scripts run unprefixed `gcc` to probe the compiler version in use even
    when run as part of `make clean` invocations during `make install`.
    
    Signed-off-by: Peter Marheine <pmarheine@chromium.org>

commit cc55134130588c37979a2cc9ccf568946c6c9618
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 26 13:03:50 2024 -0400

    Adjust formatting
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ae3974669501bb377c11ff8ce4523cfe7e2e0a34
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 26 13:02:53 2024 -0400

    Generate consistent line coverpoint (hit/not hit) from (inconsistent) branch data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 38980351644b77f7985ba27a9b0671fd6a732b3a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 12 14:13:03 2024 -0400

    Add 'gitdiff -b ..' and 'p4udiff -b ...' option - to ignore whitespace.
    Avoid some report noise in reformatted code.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 2efc0fb97dcdbb7b2bd5546859f8ecc6f2ad1b8d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 5 18:45:43 2024 -0400

    Resolve soft links in 'geninfo --directory ..' as "internal" - see @305.
    Clarify '--no-external' capture behaviour.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 13155bf60e59d3a5fd3da15b7df6113b5057503a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 5 13:50:34 2024 -0400

    Add out-of-bounds check to 'getLine' access method.  See #309
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 4d02de1851cfcef2497b7cc91f8c9c4b9570e934
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 26 17:27:55 2024 -0400

    Add configuration file options for various genhtml command line options.
    Clarify config file documentation.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit eeba88a5d1efc9a1865aab84f7f4965ab42df4a5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 12 09:40:38 2024 -0400

    Improved handling of deprecated options.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f5c94070f4ed1b3f9acb32b2fd225f58d613be8d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 3 13:17:22 2024 -0400

    Generalize interface to lcov/genhtml/geninfo:
     - '--fail-under-lines'
     - '--fail-under-branches' (new)
     - '--criteria-script'
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6578485a99bd3e6b5fdfb5ad3b8560a2ac609b3a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 5 13:47:48 2024 -0400

    Handle case insensitivity with '--no-external' option.
    Add --no-external testcase
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 13795395779a99f079fb65493d20b04e7bcf20dc
Author: Max Nurzia <7797957+mnurzia@users.noreply.github.com>
Date:   Tue Jul 9 08:18:12 2024 -0400

    Bugfix: typo in geninfo.1 (#312)
    
    This commit fixes a very small typo in the geninfo(1) manpage.
    
    Signed-off-by: Max Nurzia <7797957+mnurzia@users.noreply.github.com>

commit d73281a1577c6ddfbdaef14e00280b733c21fd80
Author: Julien Cortial <101571984+jcortial-safran@users.noreply.github.com>
Date:   Fri Jul 5 14:40:22 2024 +0200

    Fix identification of internal directories (#308)
    
    Not mentioned above, but this fixes #311.
    (I added the testcase from the issue description to the lcov regression suite; will push that eventually)
    
    Thanks for your contribution!.
    Henry

commit 829d19421301d5ed53ae07b9710fc247718e1693
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jun 21 13:40:45 2024 -0400

    BUGFIX: geninfo_external RC setting always interpreted to enable 'external'
    files - i.e., to include them.  See bug #307.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2eb20362985cd8a5922d05afd9a4f13233d01ee6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 20 15:00:06 2024 -0400

    Do not assume that shell expansion works - see bug #304.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 100c892b90ca93d56b55e35ebb0d2d55fd35a4f2
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 12 10:13:12 2024 -0400

    Filter descriptions in wrong section of man page.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit eb5bd65591924ed8cfca29b03b0257fac789e8cd
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 20 15:01:58 2024 -0400

    BUGFIX:  branch accounting when removing exception branches - see bug
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 53004e0a5102a2488dd7aef472357c562a768eac
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 17 11:36:27 2024 -0400

    Force 'linux' build type in RPM. See #301
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d1fd3d5b3076f51f40594f3be093d19134188ae3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 23 16:09:34 2024 -0400

    Add 'genhtml --build-directory ...' option - to follow symlinks to
    revision-controlled sources - to support 'linked build' use model.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e10f1f043c0d22ccece5835b29c337c57430c124
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue May 28 08:32:37 2024 -0400

    Skip Devel::Cover types that we do not use - #297.
    Use ignorable_error rather than die if something unexpected happens.
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit 3abff7c68391c5f92ba3b36a242b4e501a85646f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 15 11:04:28 2024 -0400

    Add some debug/diagnostic features - with goal of improving post-facto debug
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5f97fb4493a5f83b874fdc59d6e57a0bde31dde2
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 15 17:18:44 2024 -0400

    Improved runtime peformance:
      - memory footprint: don't store redundant data
      - automate retry if child process killed due to out-of-memory
      - segmented HTML generation
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6f8c8f2e8ff908fac0bdd6ca621bb4daf5408176
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 18 13:44:17 2024 -0400

    Fix recursive 'clean' target
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 51bd9f11bf76db381d22967f661f35e938c8e0de
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 18 13:43:40 2024 -0400

    Don't specify filter index value - enable easier additions without causing git conflicts.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e5e6355ccc42d48200f58adcce1feee7949dd988
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 8 17:32:09 2024 -0400

    Distinguish 'exception' and 'orphan' filters.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d6c961e74ce504fa98c70b0a29fbb039e40e410a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 17 20:02:57 2024 -0400

    Add '--filter missing' option - to remove source files which cannot be
    found from the report.
    Request and use case in #285.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 6b2ecd8cd8ce4b208c56baded411f009ae68903e
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 24 13:47:17 2024 -0400

    Post v2.1 release:  update default version
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6141622d7152b504b4e4c328ab331876f03c5442 (tag: v2.1)
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 10 17:16:18 2024 -0400

    Bugfix:  per-testcase categorization of branch coverpoints.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 17899814dc453498949a340b0ad3b59333c7f777
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 10 17:15:41 2024 -0400

    Fix #283: callback parameters should be either single comma-separated string or list of individual arguments.
    See
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 00b16548197ad3d8e07cbe181dfc3d208cf9a0b5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 8 17:31:18 2024 -0400

    Bugfix #282: geninfo_gcov_tool RC file setting ignored.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 685efdf23d94a2b5915e49fc78ec9f1c773f1792 (tag: v2.1-beta2)
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 4 13:22:32 2024 -0400

    More informative error message.
    
    Signed-off-by:  Henry Cox <henry.cox@meditek.com>

commit 4aec5abcd1adc9267a22da92321ede601da27c60
Author: Rostyslav Skrypnyk <rostyslav.skrypnyk@gmail.com>
Date:   Thu Apr 4 15:51:52 2024 +0200

    Update README: installation instructions (#281)
    
    The readme installation instructions contain a command that does not work for some of the packages lcov depends on.
    For instance, trying to install `Scalar::Util` as per current suggested command (perl -MCPAN -e "install Scalar::Util") will result in:
    Can't locate object method "install" via package "Scalar::Util" at -e line 1.
    
    Signed-off-by: Rostyslav Skrypnyk <rostyslav.skrypnyk@gmail.com>

commit 8e7c73119c72807f65709767190b4bfbd3133588
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 4 07:31:19 2024 -0400

    Bugfix:  typos.  Perils of multilanguage confusion.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 70a44f841bd99826d6f9e6df89897d2a6b9b2fe0
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 1 10:01:38 2024 -0400

    Exception filter bug fix - see #279
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6414c2b5a6be9fc8163b8b7a890194969eae14a4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 26 11:52:12 2024 -0400

    Combine function end line derivation with filtering.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f18d34d45a0d3eadf06a63ee0783341713aa0bdf
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Mar 21 15:48:35 2024 -0400

    Add 'xml2lcov' utility - to convert XML coverage data - e.g.,
    produced by Cobertura - to lcov format.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit b36f2ee1c6fa35d601b6d233782d1345460f2ab1
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 20 17:57:35 2024 -0400

    Modify testcase script to collect code coverage.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 405b02ad516588cf59584a5267e4eb6e5ae81c2d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 20 13:23:22 2024 -0400

    Add testcase using SOURCE_DATE_EPOCH - and generate associated error.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2ec983b095d199f59776e8abbd43258a3d6b154e
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 20 13:21:15 2024 -0400

    Add check for case when branch filter is enabled but branch
    coverage is not enabled.
    Result is not likely to be what user expected.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 63c3dc915b065756395cfeb3d17e472958814cb2
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 20 13:19:08 2024 -0400

    Add 'treat_warning_as_error' support.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 55e826c34292b651d805181f3dc9d53d88cd9e9d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 19 15:26:29 2024 -0400

    If directory found anywhere that tracefile is expected, then find
    all the tracefiles in the indicated subdirectory (aggregating them).
    This feature makes it much easier to find and reuse baseline and/or
    current coverage data which was is held in a per-testsuite DB.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c85db9d91708fb0e33ccb4e5543e17157f2b998b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Mar 25 12:02:02 2024 -0400

    Git blame log for some llvm files contains empty user name.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 08fe4b52572708919d6b5f6f982cdce84133149a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 19 15:21:29 2024 -0400

    Re-enable llvm/11 ('llvm-cov gcov ...')
    
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit dc685d0cf74e393b4feae386748ac422426eb795
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 12 16:33:14 2024 -0400

    Remove unused/unreachable code.
    Add corresponding error message tests.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d1e601b251d935a23e6b651b8051534ccfcf3b8c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Mar 25 12:00:25 2024 -0400

    Fix plural suffix.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e62ee4fff7c33ddadd6a8c22b024bd89236320fa
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 12 16:33:02 2024 -0400

    Reduce message volume/verbosity.
    Only emit explantory text on the first message.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit bc814f2aa664aa4b3210d00dbd8519423f239ead
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Mar 25 12:01:19 2024 -0400

    Tests should run under both git and p4
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6dc0bbacf26ba40038a07dbfba4f332f057a219b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Mar 8 14:36:39 2024 -0500

    Additional error checking: callback scripts, data inconsistency
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d9b3c6b964c551d0917f78516e7b7ccbf20cd58a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Mar 8 14:33:48 2024 -0500

    Enable comma-separated callback parameters as well ass gcov-tool spec.
    Can simplify user's Jenkins scripts.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 417448c32de4d6d4ef945df9392a2e3a93aed262 (tag: v2.1-beta)
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Mar 8 14:30:36 2024 -0500

    Change message category to 'internal' - for certain errors which
    can happen only if there is an implementation bug (not a user
    error or data inconsistency)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 3b15bf528ff3fcc56170fef0a5bc452a3e3bb1c3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Mar 5 14:03:54 2024 -0500

    Look for system config file in $LCOV_HOME/etc/lcovrc.
    That is:  use environment variable rather than hard-coded '/etc'
    or '/usr/local/etc'.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 22e52b24d18b2b3344590c3dc7c6b9ca8d57c250
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Mar 1 14:36:30 2024 -0500

    Add tests for various error conditions.
    Fix issues exposed by those tests.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 6614e46e5bc3f1bc9c6949aa00ee6173a750d211
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Mar 22 05:51:41 2024 -0400

    Fix release/rpm targets
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1162c01569e9a2840fe8976303e9c5c228b4ea66
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Feb 24 06:58:00 2024 -0500

    Improved 'other language' support.
    Enable exclusions and substitutions in perl2lcov.
    Warn if coverage DB is empty.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 9973d3cdd3260d6b7a96480a8e1bc8f3cdf2d4fc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Feb 22 08:09:03 2024 -0500

    Better diagnostics if 'fork()' fails - e.g., due to lack of memory.
    Add infrastructure to control retries.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ea9d0e7dc03808352c655d57fa9f6e5e526ce8df
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Feb 22 08:07:39 2024 -0500

    Check for invalid or unknown options passed via "--rc key=value"
    User expected to have some effect - or would not have passed the option.
    Without this check, user may see some unexpected results that look a lot
    like tool bugs (...we ignored some option).
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit abdd369505cc28b1dff97f25cc2a532c63eb1130
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Feb 21 13:49:19 2024 -0500

    Add option to filter blank lines 'aggressively':  ignore them regardless
    of whether their 'hit' count is zero or not.
    This may be useful in LLVM-generated coverage data which tends to
    contain large number of these - distorting statistics.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 39dc203991bbdc8f2e893977a18adea928c9d37f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Feb 21 11:03:40 2024 -0500

    Filter coverpoints on lines that look like compiler directives in C/C++.
    llvm-cov seems to generate them when translating from profile to lcov
    format.
    The same effect can be achieved via '--omit-lines' - but filter option
    is easier for users, especially as this is a common case.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ae2dbb4d16707423b96a64c10026885abb12b1ff
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 20 12:31:33 2024 -0500

    Add 'spreadsheet.py' to coverage report.
    Enable coverage collection for more tests/more test types.
    Feature to force parallel execution - even if there is only one
    task - to improve testability.
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit afb05653607be8031bed3206507b92ffd598fd6a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Feb 16 09:46:42 2024 -0500

    Clarify '--substitute' feature:  how are substitutions computed, when are
    hey applied.
    Reformat/clarify report format man page.
    Fix typo in warning message.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit aa03ec10cdde981a6ec8933a5a2fb00086787dd6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Feb 16 09:45:20 2024 -0500

    Enable 'genhtml --show-details' in '--flat' and '--hierarchical' modes.
    Fix bug that caused per-testcase summary to not be generated.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8446f29ccc1547e50b427a78204fa3fbbaf2244c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 13 16:56:46 2024 -0500

    Remove obsolete/unused/untested code for GCC versions before gcc/4.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 49608c474b8fe7369ad96dff5935b4746a406c09
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 13 13:12:36 2024 -0500

    Use environment variable to force parallel execution - to enable more thorough testing.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c21c05faad3323d0ab995ece3009a74930aacafc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 13 13:11:16 2024 -0500

    Portability: fixes for gcc/4.8
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit b1cbb6d6193b4498c863dffc70ca039cf07152d7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Feb 9 06:19:42 2024 -0500

    Feature to select lines contained in [list of] SHAs/changelists.
    See 'genhtml --select-script ...'
    Add file name and line number to 'select' callback.
    Clarify '--select-script' documentation.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ef26ead2b774b075dd4d4521c0b5871331779873
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Feb 9 06:16:37 2024 -0500

    Bugfix:  propagate function exclusion count from child process, fix link to first TLA line in 'file table' flat view.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f9b15615506ce28a7f7acd3e07cc1e46f75a3e89
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jan 31 09:29:04 2024 -0500

    'geninfo --capture --all' feature:
      If --all flag is specified, then capture from both runtime (.gcda) and
      bare compile-time (.gcno) files - i.e., include unused .gcno files
      which have no corresponding runtime data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 98fedcc0d8ee10308937bab43fb11eaf25e8a3e4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 6 08:36:29 2024 -0500

    Add README description of a suggested approach to filing a new lcov bug or enhancement request.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ac8f9c6c984ddb0439ea5c7a6afd3b8d170014e9
Author: nega <nega0@users.noreply.github.com>
Date:   Tue Feb 13 14:14:57 2024 -0500

    minor fix up for `make checkstyle` (#271)
    
    * Fixes shell expression in checkstyle target
    
    An incorrect shell expression was preventing the `make checkstyle
    UPDATE=1` from applying the perltidy fixes.
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    * add *.orig (and *.rej) to the gitignore
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: nega <nega0@users.noreply.github.com>

commit ec7038bef1bdcd4d84854c3eb12c7adc79c60f8f
Author: nega <nega0@users.noreply.github.com>
Date:   Tue Feb 13 14:14:01 2024 -0500

    minor fixups for `make check` (#270)
    
    * fix numeric compare
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    * rename sub-test makefile
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    * add test artifact to "clean"
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    * add test artifacts to gitignore
    
    Signed-off-by: nega <nega0@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: nega <nega0@users.noreply.github.com>

commit bfb0a50ad10b212dbbc5de0d3756ea75f4cf646d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jan 29 06:30:55 2024 -0500

    Improved support for Python, Perl, Java.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1171b6681045e4d719301a6878796d447e9e9227
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jan 31 09:33:33 2024 -0500

    Update comment to reflect current state of implementation.
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit 59ba5d6e469072adcf4b71ca01af828bb04b6db4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Feb 7 08:36:47 2024 -0500

    Log '--no-external' exclusions:  clarify tool action to (hopefully)
    reduce confusion.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e3f73953cbbc0d5d0be1a6064f4e4a6602545e4d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Feb 6 08:24:14 2024 -0500

    Bugfix:  don't try to access data from line which does not exist,
     'interesting region' select filter sort order.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d4a127ea64462ba2d5b1dd56e9e3d873024acaa8
Author: Vinícius Pacheco <vinicpac@gmail.com>
Date:   Wed Feb 7 10:42:06 2024 -0300

    Fix bug in genhtml when identifying new code in functions (#265)
    
    In this portion of code, $line is referring to the line in the current code (i.e. $linemap->NEW). Therefore, when using $linemap->lookup, we should indicate this instead.
    
    Signed-off-by: Vinícius Pacheco <vinicpac@gmail.com>

commit d981242b50d945c0846721efd4ab9a698f08fa95
Author: Richard Russon <rich@flatcap.org>
Date:   Tue Jan 23 11:26:47 2024 +0000

    fix typos (#260)
    
    Signed-off-by: Richard Russon <rich@flatcap.org>

commit c8bc9742fd78200450d17b3b5e3ae05e9375d756
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jan 17 14:49:30 2024 -0500

    Add checksum support to py2lcov, perl2lcov
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 21685cc1764f04f8c7ce2507a9d3750a6631d198
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jan 16 12:35:53 2024 -0500

    Simplify extracted function name for Python code:  ignore params.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ecfe22c378af429dae84709664bd5bbe32cac738
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jan 9 14:57:47 2024 -0500

    Report timestamp error at most once per file.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 8250550810ba762ab36ff0c1004468c043a2d81f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jan 8 14:05:50 2024 -0500

    Refactor 'py2lcov' translator:
    
      - Simplify use model: support 'direct' translation
        from Coverage.py '.dat' file to LCOV format -
        without requiring explicit XML conversion step by user.
    
      - Translate multiple .dat and/or .xml files in single
        execution.
    
      - Add 'py2lcov --version-script ...' parameter -
        to enable version checking in Python coverage data.
    
      - Derive function coverpoints.
    
    See 'py2lcov --help' for more information.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 28df644aa056cd8d16ff59f7f642c2422a2974bf
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jan 8 10:16:35 2024 -0500

    Move 'py2lcov' utility to 'bin' directory (from
    'share/lcov/support-scripts') - to make it consistent with the perl2lcov
    utility.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 7bbc2b80b6d85e4c0edd7e2a405ab3225d338eec
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jan 4 17:25:35 2024 -0500

    Add 'perl2lcov' script - to translate Perl Devel::Cover data into lcov
    format.
    See 'perl2lcov --help' and the Devel::Cover documentation, for usage.
    
    Enhance lcov regression to produce a genhml-generated coverage report
    for the various binaries and scripts.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit dd286c60ac235720a548e890bd92bd147392c118
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Dec 21 06:08:14 2023 -0500

    Functionality:  implement 'genhtml --select-script ..' callback to
    select subset of coverpoints to show in HTML report.
    The expected use case is code review, when we want to show only
    the changes caused by a particular commit or set of commits - say, to
    show the new code as well as any coverage gains or losses outside of
    the code change.  See the '--select-script' section of the genhtml man
    page, as well as the 'review' section in the 'example' directory.
    
    Also modify report generation to indicate regions where baseline code
    has been deleted.  These are show with grey background entries in the
    'line number' column of the source detail window.  If the mouse hovers
    over the grey area, a tooltip will appear to summarize the extent
    of the deletion.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 950771ee234fdabae3fe75281dd7b2d636e47e07
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Dec 13 07:57:54 2023 -0500

    Ignore coverpoints on line numbers <= 0; remove from DB if error message
    is ignored.
    There clearly are no such lines in any file.
    These happen for certain branches generated by Coverage.py.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit c2fd3ab016ef288b8eb9147ae7c0a0f5de060f30
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Nov 27 13:51:55 2023 -0500

    Bugfix:  ignore lambdas during function end line derivation -
    they would need to be found syntactically.
    Recommend user to upgrade to newer compiler.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit cbe14e85b9ac7a06a1d7b28faf78c0218130b5ea
Author: Peter Eisentraut <peter@eisentraut.org>
Date:   Wed Dec 27 14:27:35 2023 +0100

    Fix typo (#257)
    
    Signed-off-by: Peter Eisentraut <peter@eisentraut.org>

commit dcceb6df81a8e920140d610eb0d0ce20f9210b96
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Dec 21 05:30:40 2023 -0500

    Fix RPM specification
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 79e574b2bbf4320eb34ab7ebdaad5ea522882fef
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Dec 12 10:36:32 2023 -0500

    Fix broken makefile.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d97b0ee9e1c35ec95d9f01d8ee531cba408ad259
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Dec 11 17:54:59 2023 -0500

    Bugfox: do not push --base-directory onto source-dir list multiple times
    (issue #254)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0801aa81bfb6f2637d7e4c05e779e8f4ed9bca62
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Dec 11 16:58:40 2023 -0500

    Bugfix:  typo - issue #255
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b80c147ff2ccba11187ae925137f646d14a4b587
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Dec 11 10:17:00 2023 -0500

    Bugfix:  fix #253 - broken geninfo_adjust_src_path RC option.
    Also deprecate the option in favor of 'substitute = ....' - which is
    more general and does better error checking.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 54a6d9702e96a33427810aa1652df61581e11382
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 1 17:01:47 2023 -0500

    Bugfix:  ERROR_COUNT message
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 41f63c3efb3b87c8948b1d950ae85c274aa1630d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 1 14:37:59 2023 -0500

    Improved error message wording (singular/plural)
    
    Signed-of-by:  Henry Cox <henry.cox@mediatek.com>

commit 606967b39428ffda502d531033ebadb427bbb80c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Dec 1 14:36:20 2023 -0500

    Remove explicit man page names from Makefile - we may have some
    non-public doc that we don't want to name.
    Revert some Makefile changes to fix rpm target.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 116b5d03d3910ff907e954edb1949b9092a9ac4b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 28 07:55:55 2023 -0500

    Fix man page formatting.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 77f3c59fab66db160bcb56ec151f2511421fb702
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Nov 27 13:53:53 2023 -0500

    Documentation:  clarify filtering association with source language.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ab7d9b4784367b5873c6aa5f3e4ec6bb4c7cba4c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Nov 16 12:53:17 2023 -0500

    Add compute_file_version option to insert source file version
    post-facto - e.g., if some tool did not support versioning.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d4acacbbfc7fa65a12ab6388f3bab7d2501336e6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Nov 15 12:29:02 2023 -0500

    Improve debug/diagnostic experience: add context information
    if callback fails.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit dd2eb33a771904d023c74b8c98ce623b14281a03
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 14 17:01:33 2023 -0500

    Add '--abbrev regexp' option to gitblame.pm
    This enables easy author grouping - say, for those inside vs
    outside the company.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d3634211a2fa83d46d432ab4a2cc46bee0d887ef
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 14 16:58:37 2023 -0500

    Bring README/doc up to date.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 4ac3504c1ad3f292efc18ebffc2d0c12a6ed8850
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 14 16:55:53 2023 -0500

    Show full path (including prefix) in directory/file table tooltip.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 125f122ee74dd3af17d14e3b9835bcb9a9cd562c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Nov 8 18:00:11 2023 -0500

    FUNCTIONALITY:  add message type 'missing' to handle case that
    some .info file is missing.
    Goal is to enable mechanism for user's job to continue in the
    presence of errors.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b602c0e1f583fe2bff81e1e94156c514d47e7f98
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Nov 7 14:08:45 2023 -0500

    Bugfix:  trace_data may be undef if no GCDA files found.  Missing
    return value.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit bf135caf5f626e02191c42bd2773e08a0bb9b7e5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Nov 6 16:11:06 2023 -0500

    Bugfix:  'genhtml --prefix' fails if prefix directory contains source
    files.  See #245
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b90c76d9f2ccf79cafb145489f0e80ffde90dd9b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 26 09:38:26 2023 -0400

    More uniform handling of invalid 'hit' counts.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit fea35bc9b0eabf37ebaecd20a3e475a5dfb28591
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Oct 24 15:43:58 2023 -0400

    Refactor callback implementation to use Perl modules, if available.
    The module may be faster than an external callback and enables reuse
    while providing some additional flexibility.
    
    Refactor source layout to move scripts to 'scripts' directory.
    This makes the layout cleaner and enables a place to put non-public
    interfaces which have not be opensourced (yet) - without naming them
    in public Makefiles or elsewhere.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a29220912ec69d561b2d0500f2e44e3e4d4b1735
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 05:08:38 2023 -0400

    Add 'memory_percentage' config file option to enable user to specify
    threshold for memory throttling as a proportion of total system memory.
    (Easier to handle disparate compute farm.)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 3f2e8b113c98d10d187bdb25f319f421985b974a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 05:04:27 2023 -0400

    Simplify/future proof parameter overrides - easier to add new options in future.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e828c9fcc10f1b3e050002860b3f3230d0981556
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Oct 30 14:27:03 2023 -0400

    Bugfix:  --keep-going flag.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d1fbd77b2a2aa674338cd72dc111a7c7a139f692
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 26 09:33:12 2023 -0400

    Bugfix:  use unique key in profile
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e3db8bcc07986c6ea75414eb59e5741591003616
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 05:01:47 2023 -0400

    Performance:  don't compute MD5 unless we need it.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 78fb59a20a6984df0204f6bffd5c5c7e9c4cf6bb
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 05:05:33 2023 -0400

    clarify message
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 657a04aee19310147e2ba6dcecd0f9be46477b74
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 26 09:31:11 2023 -0400

    Man page correction - see PR #243
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 96880190a12c2c438bff6ca39207c511ae7f1d76
Author: ayaye <33896940+ayaye@users.noreply.github.com>
Date:   Tue Oct 31 18:29:20 2023 +0300

    bin/geninfo - fix: ingnorable_warning  -> ignorable_warning (#244)
    
    Signed-off-by: ayaye <33896940+ayaye@users.noreply.github.com>

commit fcf07aebd4818ad22c730b1e96194314ca165c34
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 04:59:52 2023 -0400

    Fix test portability issues for old compiler versions.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 4bd5094b1be26f6b28179a6b1514b82b85876c38
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 04:58:46 2023 -0400

    Improved handling/reporting of child process exit reason.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 663f0bca97a14095e93b1947d00a70b687d508bd
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Oct 7 12:11:06 2023 -0400

    Add --resolve-script callback - to handle cases where file path
    munging is more complicated than simple regexp substituion can
    easily handle.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 59f24d0023f550fe56106d8753e27307b1628193
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 5 11:22:32 2023 -0400

    Return non-zero exit code if error(s) detected when --keep-going
    flag is set.
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit a8fdeca91d9261d476957d0ea64dcab542192104
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Oct 19 08:18:37 2023 -0400

    Accidental inclusion.  Deleted.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1b5a6ff845a1e67ec0aa816a7822cd3e1e38eb9b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Oct 4 17:24:00 2023 -0400

    Add config file option to enable/disable file existence check
    before version-script or annotation-script callback.
    Add option to deal with missing files to sample version-scripts.
    
    This option is necessary as files may not be locally present
    and instead be found in a remote repository - or somewhere else.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d24ddc1a1533cb4d75346254b949cd5e7a789e78
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Oct 3 16:16:57 2023 -0400

    Refactor to use single parallelism idiom everwhere.
    Simplify error handling to make it easier to add or change message types.
    Add message count summary.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ed424bcf523ada4df03fc44aa8e451cda5052c4d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Sep 29 10:40:11 2023 -0400

    Use --source-directory list option to search for relative file paths.
    Check that --source-directory and --build-directory patterns are applied
    at least once.
    Add corresponding RC entries 'source_directory = ..' and
    'build_directory = ...'
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 22101a1c2880e404acd23e5089c2e577c6c15b74
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Sep 29 07:41:24 2023 -0400

    Add profile data.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 9056f12c03e73864e54c8d864b18c180050098f0
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 28 12:34:56 2023 -0400

    Use common message infrastructure.
    Print explanatory text for first message only.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 23d166a1742e4e4d87449252cbac01cc39f5ef8a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 27 08:29:33 2023 -0400

    bugfix:  <cr> handling
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 9be204b4882b99e3b41f593683e3ce06757b2bc8
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Sep 26 10:51:14 2023 -0400

    Don't build data for skipped file if it appears multiple times.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 98f1779db01ee458932523b8c677bc78b16507e7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Sep 19 05:40:10 2023 -0400

    Add tests to installed release.  They are potentially useful examples,
    despite being written to test functionality rather than to serve as
    tutorial eamples.
    Enable coverage data collection for the LCOV implementation -
    for both developer and module user.
    
    To run them from the release:
      $ cp -r $LCOV_HOME/share/lcov/tests path/to/my/tests
      $ cd path/to/my/tests
      $ make [COVERAGE=1]
    If eabled, point your browser to path/to/my/tests/cover_db/coverage.html
    to view coverage result.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ccd760875a1112ad60cfe48270d15c164ebd7475
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Sep 25 15:20:18 2023 -0400

    Add message type 'usage' to report tool usage/parameter issues
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 0653f1e717c930175ba96a660594edbcad9aebd3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Sep 23 03:57:53 2023 -0400

    Use message type 'utility' to report error code from tool called by lcov - for example, 'find' discovers and unreadable directory
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6f48bf214a06fe09c9708b130a233280c691a7a0
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 20 16:43:07 2023 -0400

    More consistent message handling.
    Clean up warn/die text.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit fe5b464d17770d25219a0d3f6e13116e0f4f7d63
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 20 13:03:24 2023 -0400

    Avoid duplicate messages in execution log:
      - Add config file option to print certain warnings once
        per file - rather than on every occurrence.
        Default is once only.
      - Use deferred warnings to avoid reporting duplicate
        messages from parallel children.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 494a5149b419e8f596df6d44e37bf8b6cc90b70e
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Sep 23 07:39:17 2023 -0400

    Enable annotation tooltip to show the full author name (as opposed to
    the abbreviated name).
    This is useful for opensource components which have a lot of
    contributors, for example.
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit 832c3caf1bda757896d2cf6c82facdbbaecab77b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Sep 19 05:46:25 2023 -0400

    More verbosity for user configuration debugging.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 6120f3e436f910e7160ba2a0c5a82cb10c59c93e
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Sep 19 05:45:40 2023 -0400

    Use new error type 'range' to report out-of-range coverpoints.
    Thus, user can either use "--filter range" to remove the offending data,
    or "--ignore-error range" to turn the error to warning and keep the data.
    Generate fake source text in the source detail view for out-of-range lines.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 3d49d1d1c034f5ed955d9628431e3b2266d6bc68
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Sep 19 05:42:18 2023 -0400

    Bugfix:  routine is in lcovutil module.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d1e85ec706a71c73375bbe67a4de3152527cec3f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Sep 15 16:47:59 2023 -0400

    Correct some man page errors.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f2a5518472db9219e67997671f540d90e41c1647
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 14 16:54:52 2023 -0400

    Add 'genhtml_frames' to lcovrc config file - corresponds to
    'genhtml --frames'
    Clarify implications of chrome/firefox bug when using 'frames'.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1aed8e1a499ac6a738183b8f6300c9d549a494c7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 14 15:04:28 2023 -0400

    Use different background color to distinguish directory vs file
    summary table entries, in 'genhtml --hierarchical' output.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 6bccf686fcbfa41ab34ca3fd8f7ca7571f02daf7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 13 14:17:01 2023 -0400

    Modify 'example' to show differential coverage report via
    a moderately realistic use model.
    Add example to install - in $PREFIX/share/lcov/example.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit a9090f1a52ab2c7ee02795d7f680db4e802bddfd
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Sep 11 16:18:53 2023 -0400

    Apply substitutions to genhtml --diff-file data.
    Additional error checking during diff-file parsing + ability
    to ignore errors in diff file.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 07a1127c2b4390abf4a516e9763fb28a956a9ce4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Sep 7 12:28:48 2023 -0400

    typo

commit c9b83cf69681b5bca46bde213d2c8e2196395349
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Sep 6 15:35:22 2023 -0400

    install PREFIX should be absolute path (make it so).
    Remove some unused variables.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f12fd403b53a53b4f8fe940a4ecda5865af9b40c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Sep 4 19:24:17 2023 -0400

    Check that file version matches before applying filters.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 9157e964794cc046fbad81c3ab3df93f528eebd4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Sep 4 13:54:39 2023 -0400

    Bugfix:  use unique ID for filter chunk: we may filter more than one tracefile.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5b3390adeac60e1b16ccaf6987c07d1861cfc6ea
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Sep 2 08:40:26 2023 -0400

    Debug logging.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2b9f538a00fe00ae2c2e78967419b2424993f080
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Sep 1 07:59:53 2023 -0400

    Support case where user specifies diff file but no baseline.
    In that case, assume that baseline coverage was zero (nothing hit).
    This case is useful if we have the baseline code (or git SHA or P4
    CL) but no easy way to go back to generate baseline coverage data -
    however, we want to check that all of our new code and changes are
    covered.
    Note that this yields a similar result as a date bin cutpoint at
    the corresponding time - except that code will be categorized as
    GNC/UNC/GIC/UIC rather than HIT/MIS in a particular bin.
    Overall coverage result is identical - but user's environment
    might cope better with one or the other.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 470b4740ea5d1512d4d0eee93b28826aa5369813
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 28 12:50:11 2023 -0400

    Fix typo, add additional 'branch expression' clarification.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 106e0a6e90a02a83aa981794538e6721167d4f19
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 23 15:23:52 2023 -0400

    BUGFIX:  handle case that there is no 'geninfo' data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5a9f950f6c7fe29c2cda1ab0757b6495fc484a97
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 23 15:23:08 2023 -0400

    Improved summary table column labeling, add tooltip popups.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit fd9d408daa1851c89e75c94f707965967a89d476
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Aug 18 09:08:11 2023 -0400

    Add 'install' support for local (non-exported) man pages - e.g., for features which have not been upstreamed.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit ded2e949a54be2381ec20b3a509db767ba7f3eb3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sat Sep 2 08:39:47 2023 -0400

    bugfix:  misaligned return list
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 3decc12ab1e7b34d2860393e2f40f0e1057d5c16
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Aug 15 14:02:26 2023 -0400

    Portability: don't use 'floor' - which is not exported by some old Perl versions
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit e4d786f4514a3e5384522e9cdc890cc7244100e6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Aug 15 14:00:32 2023 -0400

    Additional eror checking:
      - diagnostics for serialization/parallelization failures and
        version mismatch.
      - more careful checking of return codes for pipe and file
        operations.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2ad478a7265ba33f074c4e95a1d0b6f0c6146b84
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Aug 15 13:59:01 2023 -0400

    Send 'git blame' percentage complete updates to /dev/null.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 7b1a6a3b5bf8c1066b13ee9426708142d8d92abb
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Aug 15 13:58:10 2023 -0400

    Support set operations (intersect, difference, union) on lcov data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 78b467a2638aa50e588dab6267d145dcdae9fd21
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 7 16:09:35 2023 -0400

    Keep track of child error counts - to avoid redundant messages.
    Note that child messages may not be suppressed if children are
    running in parallel (and were started before any matching messages
    were reported).
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c1b9e3ad2b557d96c1327cf271d08e65d606907d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Aug 7 10:25:23 2023 -0400

    Show number of source files in text summary.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 9ed62fde613e163eb0b0edce2bc8a7871af0d85b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Aug 16 10:34:46 2023 -0400

    Keep track of operations which have been applied - so we don't
    apply them again.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 02ece21d54ccd16255d74f8b00f8875b6c15653a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 3 15:59:20 2023 -0400

    BUGFIX: incorrectly duplicated path segment for relative path (typo).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f440ab4c3584fd640e406c3c91e4d27ebbe7f346
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Aug 3 09:47:40 2023 -0400

    Show basseline count for LBC and ECB lines and branches.
    We know that the current count is zero (LCB) or undefined (ECB).
    Having the baseline count is useful, especially in the context of random
    tests as it can tell us if we lost a low probability event (baseline
    count was "small") or we did something bad and no longer reach what had
    been a high probability event.
    For line coverpoints:  show baseline count in parens in source detail pane.
    For branch coverpoints:  include baseline count in tooltip popup.
    
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit f12aff5a320f792b1263ed6c68796ac76111d60a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 31 14:33:05 2023 -0400

    Clarify top-level summary table colorization
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 35cedb7ab9b32117f7b7806186954daba1e14e77
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 31 14:32:26 2023 -0400

    Windows portability
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 5c788308a993bd869e705e6bdc98960f4cf5cd75
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 31 14:26:26 2023 -0400

    Parallelize 'filter' operation - reduces fitler time by about 50% for large examples.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 0251c02777a7196484c5f0b6723db6afc9a43c28
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 31 14:22:00 2023 -0400

    Git callback enhancements:
      - Don't include modify date when comparing MD5 signature;
        this enables easier handling of generated files which are
        not in the repo but not changed between builds.
      - Add support for '--prefix' to git repo; this enables
        easier handling of nonlocal builds.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 2694692d420fa258cc32c574dccd7e3943d3a910
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 24 17:39:12 2023 -0400

    BUGFIX:  show value in directory file table + fix tooltip
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 75499159238c49985340cee6b5c9961112e9f2a9
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 24 09:15:24 2023 -0400

    '--comment' feature:  store comments in .info file
    
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 8b1aa600b3ed94cad6ed4f15a300ceac8849793f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 21 15:16:46 2023 -0400

    Minor enhancements to --version-script examples.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 40f4b046fe23eedc0ad4c20c24345dce2be5c0df
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jul 18 12:56:01 2023 -0400

    geninfo performance enhancement:  process GDCA files in chunks - to
    trade off parallelism with queue overhead.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 8ac179accde71bd4b10bc6a0e016d2259bdd8f6d
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jul 18 13:00:34 2023 -0400

    Add environment variable LCOV_SHOW_LOCATION to leave file/line info in error and warning messages - to make it easier to debug issues without needing to turn on verbose --debug messages.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e5adc44f045b220aab63800328ad206b348ec32a
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jul 18 12:57:22 2023 -0400

    BUGFIX:  reversed sense of warning message suffix suppression
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit bad6da5a1b8931f0aab358eca3f2e93446b60936
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jul 18 06:10:12 2023 -0400

    Fix broken change (bad merge)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d006ca0d65e4cc26a95056f1ff8ac031d0d6e30f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jul 13 13:24:22 2023 -0400

    Fix geninfo performance issue:  don't free parent trace data in child.
    This turns out to be significant bottleneck when database gets large -
    and there is no need to free the data, in any case.
    Add more timing data to interval print message (helpful for future
    performance debugging)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 380e007fd2772884489c2a1a8f546ca4e5694f86
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sun Jul 16 06:54:10 2023 -0400

    Bugfix:  missed changes.

commit fe6cbb8840948c6a1eb45c772babc6be01f4057b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jul 12 11:53:15 2023 -0400

    BUGFIX:  pass maxMemory to geninfo
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 88526c89ebb5cba203ccd900892efbd1cbe2006b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 10 08:40:56 2023 -0400

    More doc clarification - derive_function_end_line
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit bd331b8b6e579d76708f25e5b8f49e62fea187e7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jul 7 16:11:43 2023 -0400

    BUGFIX:  recategorization when there is no baseline data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0f99869e59a3728fe1dbbc6bf77139e77f6d49cc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jul 10 18:36:58 2023 -0400

    Use full git SHA
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 938c8c753aa61e87300f8e5f74447066d185829e
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jul 6 07:01:33 2023 -0400

    Add 'gitversion' script for use with 'genhtml --version-script'
    callback.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 11fb792b7b706ed17f2d97f43e47f5d33285f641
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 28 12:41:04 2023 -0400

    Support multiple '--baseline-file' parameters to genhtml - to more
    easily support case of separate .info files for multiple test suites.
    Do not force user to merge an aggregate result in order to generate
    differential report.
    
    Both 'baseline file' and 'trace file' parameters are treated as glob
    match patterns.  This simplifies the case where our testsuite data is
    held in a (unique) directory per successful build.  We can produce a
    differential report, combing all the suites via:
    
      $ $LCOV_HOME/share/lcov/support-scripts/gitdiff yesterday/SHA \
           today/SHA > udiff.txt
      $ genhtml -o aggregate --baseline-file 'yesterday/*.info' \
            --diff udiff.txt today/*.info
    
    or a suite-by-suite report via:
    
      $  genhtml -o suite0 --baseline-file 'last_release/suite0*.info' \
           --diff udiff.txt today/suite0*.info
    
    ... and so on (note quotes to protect glob pattern from shell expansion).
    
    Refactor to share parallelized Tracefile merge operation - for use
    by both lcov and genhtml.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e10faf0f6ead108219489a3ab488dd9b57fa6a36
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 28 12:39:50 2023 -0400

    DOCUMENTATION:  clarify that branch coverage is disabled by default -
    must be explicitly enabled by command line option or config file entry.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 24cff2f8b4df0f12cc223ad74ce692c33ac37f07
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 26 11:08:23 2023 -0400

    Refactor various classes to simplify implemenation/future-proof for
    other metrics.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d0dbd8c5e0e231ce833e3d865fad186fc98ad1d4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 22 10:41:17 2023 -0400

    Show tooltip popup containing changelist/sha data when mouse hovers over
    associated source line.  (Enables easier issue debugging and culprit
    assignment.)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a662b324ac014862126937e5c9f742a0ad9dc0d9
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jun 16 09:05:30 2023 -0400

    More directory separator fixes - mainly for windows portability.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 521e31949b5571d9093e9e85462cb137dded05b4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Jun 16 09:04:42 2023 -0400

    DOCUMENTATION:  fix/clarifify BRDA record format description.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 7cc3c05acf594cb98032175270e3e464c05f6961
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 15 10:53:18 2023 -0400

    Correct description of BRDA record format.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 11f49e77f6d093a00c72de23219fef3117a020e4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Jun 13 12:14:59 2023 -0400

    Emit error from genhtml unless annotation script is successful for at
    least one source file.
    Add flock to p4annotate script to avoid interleaving/overwrite from
    parallel children.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit c93f41d7a5a616da2df22254f26e5cc04c9e0787
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 14 06:36:28 2023 -0400

    Keep track of used/unused include/exclude/subst patterns from child
    processes.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 09a3b7ede3f058ec29ac504d7ff55f861125381c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 12 15:32:57 2023 -0400

    Bugfix:  handle pattern containing spaces.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit eb8d0b18d6410799c7494d483206455bd5a96287
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Sun Jun 11 06:56:36 2023 -0400

    Refactor:  simplify branch accounting
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4ecd004b12c9f82fadfd382e3d82338a1595981c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 8 10:30:04 2023 -0400

    When aggregating data, do not merge branch blocks unless the branch
    count is the same and branch expressions are identical.
    Attempt to retain distinct blocks in input data - even if they might
    match blocks in merged data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 33e06215f6619b25f1149fca55c099c6a21f85c4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 5 07:49:59 2023 -0400

    Suppress 'summary' title unless category is enabled.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 463a76b9603670931bee5af90480b0ff79baa839
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Jun 5 07:49:00 2023 -0400

    CLEANUP:  remove unused decls, clean up README spacing.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b73440cb70514c036fdc7a1e2f0c4283eed725b7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 1 09:29:56 2023 -0400

    BUGFIX:  consistent treatment of branch/block counts
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a07d66d15d4701084d4a1198fc0e1756c366a5ac
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 31 13:06:07 2023 -0400

    DOCUMENTATION:  clarify use of '--omit-lines' vs '--rc
    lcov_excl_line=...'
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit cab8aa7671cd889befc4e3bb3e3ffa098d76538f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 31 13:04:58 2023 -0400

    Increment default version (user local installs will be a bit more
    obvious in error reporting).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d01b8f5abe227012eafee743f32ad52f8bd46a11
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 31 16:20:43 2023 +0200

    man: Formatting changes
    
    Fix some man page formatting inconsistencies and typos.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit aab697f558a7dd8dbe6ee14168c2a54843ef19c7
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 31 13:39:18 2023 +0200

    man: Fix lcovrc warnings
    
    Fix these warnings that occur when formatting the lcovrc man page:
    
      troff: lcovrc.5:85: cannot use character '/' as a starting delimiter
      troff: lcovrc.5:85: cannot use character '*' as a starting delimiter
      troff: lcovrc.5:85: cannot use character '*' as a starting delimiter
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 9113a1f4ecb13408df41e62a5c5103df798d78c7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 25 05:59:01 2023 -0400

    More path separator generalization for *nix/windows.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 31b95298b1cfdd20092f5ed99578f837c8fb864f (tag: v2.0)
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu May 25 15:25:35 2023 +0200

    lcov: Finalize release 2.0
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 53a48960cdcefa480724295715f3b0142d292291
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 25 07:18:37 2023 -0400

    Use ignorable error for inconsistent function end line assignment.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 82310ca9b7f5248fb06f5dc34a07198f2b56d5f7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 25 06:46:24 2023 -0400

    Modify function end line assignment flow to avoid premature checking.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f1f5cfdad395ceec706c10de42dc0d002beb701c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 24 12:28:55 2023 -0400

    Fix various issues which occur with older gcc versions which don't
    natively support function end line reporting.
    Tested with gcc 4.8.5, 5.2.0, 6.2.0, 10.2.0
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 16e48924a49b1f2686764251b7f0afdbd08a3d38
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 24 06:07:56 2023 -0400

    Add more location information to error message.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e6aeedb3ce803ec0a56d2a4a285e65e1aa17f724
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 24 11:08:27 2023 +0200

    genhtml: Fix warning
    
    Fix a warning that occurs e.g. when building the example output:
    
      genhtml: WARNING: splice() offset past end of array at ../bin/genhtml line 7465.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit d25174aafa6a4e2915a5531393d8eb55d9cbf20f
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 19:01:48 2023 +0200

    lcov.spec: Make RPMs more compatible
    
    Enforce the use of older payload compression and digest algorithms to
    allow RPMs to be installed on older OS levels.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 5c6df44d07b8602130d6114b2ad4629320cecbef
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 18:41:22 2023 +0200

    lcov: Fix --rc precedence for deprecated options
    
    Configuration option overrides specified via --rc take precedence over
    values specified in configuration files. This is currently not true for
    deprecated options due to an incorrect override check. As an example
    option --rc lcov_branch_coverage=1 will be overriden by config file
    option branch_coverage=0.
    
    Fix this by adjusting the override check to also consider the
    replacement version of deprecated options.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 14a488e691c8c1a5b29e84298952872245420d3c
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 14:16:43 2023 +0200

    genhtml: Rename file table coverage subheading
    
    The current file table contains redundant wording for the Coverage Rate
    column, e.g. Line Coverage > Coverage. Make this more consumable by
    renaming the subheading to "Rate".
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 1161379f8f823b321c8bee1dc7e45301d28d3acb
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 14:12:36 2023 +0200

    lcov.spec: Do not export lcov Perl modules
    
    lcov Perl modules are intended for internal use by the lcov tools and
    their API is not guaranteed to be stable in any form. Therefore remove
    them from the list of exported modules.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit a45a79c8ae62b8d18c08b2dcb72428fa93a044a2
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 11:02:48 2023 +0200

    Makefile: Fix grep warning
    
    Newer versions of grep complain about the extra \ before the #
    search pattern when running 'make checkstyle':
    
      grep: warning: stray \ before #
    
    Remove the slash character to fix the warning.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e180a6e97bb93e467f5c6e72eaa8e05e6701c986
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 10:53:53 2023 +0200

    tests: Fix test fails due to warning message changes
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 4a29f93e2ea78ff55df3c5365b161c79e8de0d61
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 10:48:59 2023 +0200

    lcov: Make warning messages more consistent
    
    Enfore consistent WARNING: message prefix for warning messages.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 064f83c96ca8df2ea9930e347f7c847665573ac5
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 23 10:43:23 2023 +0200

    geninfo: Fix 'no data generated' warning
    
    With commit
    
      03a816f13431 ("Clean up 'not single merged output file' case. Don't bother to dump or restore child data.")
    
    geninfo always emits a 'no data generated' warning when no --output-file
    option is specified. Fix this by introducing an output file counter
    variable.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 9fe03890e379dd15c01ca862b67f5b59bfbb3d42
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon May 22 15:04:28 2023 -0400

    Use W3CDTF module if available - fall back to local implementation if
    not there.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 03a816f13431dea53fb0a12c987856bf2d407ad4
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon May 22 15:02:49 2023 -0400

    Clean up 'not single merged output file' case.
    Don't bother to dump or restore child data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f37dfaa5af44ca889eeb736350cf1226107eaf4a
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon May 22 18:33:59 2023 +0200

    genhtml: Remove use of W3CDTF module
    
    The W3CDTF parsing module is not available in all target environments.
    Replace it with a naive implementation of the corresponding format
    specification.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 7e9b2ebf0e437613c118c6de26594a6a2686903b
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon May 22 11:53:03 2023 +0200

    geninfo: Handle child process errors consistently
    
    There may be situations where a child process does not generate result
    data, e.g. when making use of --ignore-errors. Currently geninfo reports
    this case as a parallel-processing error even though this may not be
    related to parallel processing.
    
    Make handling of such situations more consistent with the non-parallel
    case by not aborting, but instead reporting all child-generated warning
    messages.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit ba96a652a5a1434decb09e9e11541ef2c49385b6
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon May 22 11:17:36 2023 +0200

    geninfo: Fix warning
    
    Fix the following warning that occurs when running geninfo with
    option --ignore-errors empty:
    
      geninfo: Use of uninitialized value in addition (+)
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 5c05f217e4abbcd64c8572265f8124957f0af007
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon May 22 10:48:17 2023 +0200

    geninfo: Revert geninfo default behavior
    
    When called without --output-filename, geninfo previously created one
    .info file per input .gcda or .gcno file. This behavior was accidentally
    changed to write all output to the standard output stream by commit:
    
      5fd02c809859 ("FUNCTIONALITY:  use binary intermediate form for geninfo 'extract' - to improve CPU performance and to eliminate copy-paste/redundant code. Side effect is to make 'checksum' a generic feature of geninfo/lcov/genhtml.")
    
    There may be users relying on the original behavior, therefore revert
    the behavior when running geninfo without --output-filename to creating
    individual output files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 9924a7abb97367997423533f9c3ae5c15810918f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 19 16:51:18 2023 -0400

    Use stable HTML tag order in table header (issue #216)
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit b8914f627b9af7af5c48986c47a7332af779e2d8
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 19 18:06:44 2023 +0200

    geninfo: Remove leftover die statement
    
    Remove leftover die() statement that should have been removed with
    
    8ec2a29b6a21 ("geninfo: Fix extension mismatch error message")
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 8ec2a29b6a213b907d16c5d2c92cef7a4c248832
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 19 18:00:35 2023 +0200

    geninfo: Fix extension mismatch error message
    
    When specifying a filename with mismatched extension geninfo produces an
    incorrect error message:
    
      geninfo: ERROR: unexpected extention '.gcda': should be .gcda
    
    Fix the incorrect extension text and typo.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 2e4c15041b48eef978c6e230b18ffe2282c88b7e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 19 17:34:08 2023 +0200

    geninfo: Fix intermediate gcov format handling
    
    geninfo produces relative source paths in output tracefiles when used
    with versions of gcov that produce text intermediate output format such
    as GCC 8.5. This causes side-effects such as duplicate path components
    in the output report (e.g. example/methods/methods/gauss.c in the lcov
    example).
    
    This is due to a relative path being used for processing instead of the
    resolved path. The bug was introduced by
    
    e18964a2f14d ("Fix initial capture bug - case that we have compile time data (.gcno file) but no runtime data (no .gcda files).")
    
    Fix this problem by using the resolved path for intermediate output
    processing instead.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 8cfafc0d3833f5e733a5e6ed2457eb7d6e27b9a2
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:26:09 2023 -0400

    FUNCTIONALITY:  option to allow user to set split character
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit c8f83860927e966bc49ff708b7178def268b8696
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Feb 8 06:49:13 2023 -0500

    Modify 'cpp_demangle' callback options to use "-Xlinker' list append
    behaviour - to make consistent with other callback arguments.
    "--demangle-cpp" parameter is optional, and defaults to "c++filt" if not
    specified.
    
    Note that this _does_ affect tool behaviour in uses such as:
    
       genhtml -o html_dir --demangele-cpp myData.info
       # genhtml will complain that tool 'myData.info' does not exist
       # or cannot be called, and that no tracefile has been specified.
    
    If this happens, change the command line to:
    
       genhtml -o html_dir --demangle-cpp -- myData.info
    
    Deprecate RC file parameters 'genthml_demangle_cpp_tool' and
    'genhtml_demangle_cpp_params'.
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit b0d143a641560b95f5c888e388bbbb8e131517b3
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 17 17:07:57 2023 +0200

    genhtml: Remove coverage results from description page
    
    genhtml incorrectly shows coverage date/owner bin results in the
    testcase description page header.
    
    Fix this by removing all coverage-related header data from that page.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit bafd092684ffaca933c049b1f9439e0bf909b861
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed May 17 10:54:03 2023 -0400

    MERGE:  merge PR #67.
    Original commit message:
    
    Universal diffs as generated by git (for example) have some compatibility problems regarding what lcov --diff expects. This pull request fixes a few of those problems to make it easier to use git diffs. In particular:
    
     - Start-of-block lines are now allowed to have comments after the
       ending @@. Git sometimes uses this to give hints about the diff
       block location, like the function name.
     - The diff reader has been changed to track more state and to be
       a bit more flexible, due to git printing more info lines in between
       files and in the header, like when using git show.
    
    Committed by:  Henry Cox (henry.cox@mediatek.com) on behalf of Ricardo Garcia (rgarcia@igalia.com)
    
    Signed-off-by:  Ricardo Garcia <rgarcia@lgalia.com>

commit 2ffb6c4a8db04ad49e1dfba824297ceee731e87d
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 17 16:33:06 2023 +0200

    genhtml: Fix file view TLA link style
    
    genhtml generates nested <a id><a href> sequences that are not supported
    by HTML 4.01 transitional. As a result the background style for the
    nested link in TLA-classified branches is not always visible.
    
    Fix this by using an enclosing <span> tag for defining line anchors.
    Also use a defined foreground color for TLA-classified links to ensure a
    working level of contrast between text and background.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit f1d7df399e7d09c76e09c84d66ecc4d4122c071c
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 17 15:47:08 2023 +0200

    genhtml: Various invalid HTML fixes
    
    Fix various invalid HTML elements generated by genhtml. Also fix file
    table width calculation.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 867c2f545dee5ca82a0ca741ee90da2de0021357
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 17 14:27:16 2023 +0200

    genhtml: Fix anchor IDs
    
    HTML 4.01 transitional requires [1] that anchor IDs start with a letter,
    and may only contain characters of a restricted set. genhtml uses
    numbers as IDs for line and date bin anchors, and might use IDs with
    unsupported characters for user name and test name anchors.
    
    Fix this by prefixing anchor IDs with a letter depending in the type of
    anchor, and by replacing unsupported characters in user and test names.
    
    The following anchro prefixes are introduced:
    
      - L for line anchors
      - B for date bin anchors
      - N for owner bin anchors
      - T for test name anchors
    
    [1] https://www.w3.org/TR/html401/types.html#type-name
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 0d8d2ad83b3bb438d6b91d6238654d7a38c134a5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue May 16 13:14:05 2023 -0400

    Add 'callback' error category.
    (Rerunning 'checksytle' also changed formating)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e7cc583ccecf675c85024bf1cb1665f6a70dbda0
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 16 17:03:06 2023 +0200

    genhtml: Fix css errors
    
    Fix some invalid values and comments in gcov.css.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit a64d3f9c73eb037298d269f02a49028a872d4fbe
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 16 14:00:22 2023 +0200

    genhtml: Fix TLA header background
    
    Make header table headline easier to read by expanding the background
    color to the full table cell instead of only spanning the label text.
    
    Also increase font size for Coverage/Total/Hit columns for better
    readability.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 45bb20719d1fbbf515cb6060fa073d36ab9de062
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 16 13:05:17 2023 +0200

    genhtml: Improve differential coverage TLA text
    
    Improve usability of differential coverage TLAs by adding the textual
    description of each class' meaning and the symbolic shorthand notation
    to the HTML report hover-over text.
    
    Also make man page class text for GIC and GNC classes consistent with
    wording in genhtml.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 398fa7ead0eaffe8e33461f99c4168b4585489f5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 12 14:20:56 2023 -0400

    Change code which is problematic on Windows.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ccfba3be52e0c658e8af4e36b11fb2351ea0e3ae
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon May 15 17:23:01 2023 +0200

    man: Improve geninfo man page
    
    Improve introduction text for geninfo man page to include a description
    of file types referenced throughout the man page.
    
    Also implement miscellaneous improvements:
      - Improve formatting
      - Fix --verification-script reference
      - Improve title
      - Move positional parameter to end of synopsis
      - Add --forget-test-names description
      - Add script sample paths
      - Remove unneded braces around --parallel option
      - Consistent file name extension reference
      - Fix syntax errors in man page
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 48ffcf926a9760f4502a8376cf1f3c3b96007510
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 12 14:12:23 2023 -0400

    Portability:  different compiler may put coverpoint on close brace.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit b74944471bc4fee66aaf3ae22cbb1ee775226ed5
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 18:29:47 2023 +0200

    spreadsheet.py: Fix typo
    
    Running spreadsheet.py on data created using lcov/geninfo/genhtml's
    --profile option terminates with the following error message:
    
      Traceback (most recent call last):
        File "bin/spreadsheet.py", line 623, in <module>
          GenerateSpreadsheet(args.out, args.files)
        File "bin/spreadsheet.py", line 527, in __init__
          visitScope(f, dirnamt)
                      ^^^^^^^
      NameError: name 'dirnamt' is not defined. Did you mean: 'dirname'?
    
    Fix typo to resolve this issue.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 16522dafe05e3512d1ee124c3c2392378248200c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 12 10:59:17 2023 -0400

    Enable RC override of source code exclusion markers.
    See PR #140 for some motivation.
    (Reimplemented after major code restructure.)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 180d61bc60d10d18040f60747db6759453a52736
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 12 10:56:57 2023 -0400

    auto-reformat of fix.pl script (mixed with other commits)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1ba3e16c9fdbc6c78df7617812ea77a6ad40c3e8
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 12 10:55:24 2023 -0400

    Clarify order-of-processing nondeterminism for --prune-tests option.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a4456f45b8bfddfd73ff51b48a6394b215bd0ba5
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 16:22:03 2023 +0200

    genhtml: Add usage text for --new-file-as-baseline
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 86d54a599545d295170e74a847ec185e899f5546
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 16:13:02 2023 +0200

    lcov: Add missing options to usage text
    
    Some options and option variations were missing in usage texts. Add them
    for completenes.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit a25eab1083cc9bf3e3ccec27c8daee8bd4f9c661
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 15:33:59 2023 +0200

    lcov: Usage text fixes and rewording
    
    Apply various usage text fixes and improvements:
    
       - Vertically align sort and long options
       - Remove -v shortcut for --version to make tools consistent
       - Rename INFOFILE/.info file to TRACEFILE to be consistent with
         man page naming
       - Some rewording to make information easier to consume
       - Replace outdated ERRORS and FILTER lists with man page references
       - Use uppercase argument names
       - Use uppercase when starting a description line
       - Fix typos and repeated words
       - Distinguish between (wildcard) patterns and regexps
       - Fix mandatory --memory argument
       - Remove dots at end of option description line
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit c65aa4e83924568cff20c5f069e864014aa50a7b
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 14:35:49 2023 +0200

    lcov: Move project URL reference to man page
    
    For command line help, man pages provide more detailed information than
    the LCOV project page. Therefore refer from help text to man page, and
    add a project URL reference to each man page.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 97f67cb3e30c18cb1e34bc996e7bc647ee64015b
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 12 14:09:04 2023 +0200

    lcov: Reorder options in usage text
    
    Add common option groups and reorder options in usage text to make
    tool specific options easier to find. Also reorder genhtml options
    relating to HTML output into the corresponding section.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit d03b459962063afc5383b08f79cb37710fdaa8ba
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue May 9 15:25:21 2023 -0400

    Add 'trivial function' filter:  remove function which has empty body.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 8939bda5dfd2b37026c8d6364be8087c6cf3e948
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu May 11 20:26:41 2023 +0200

    man: Improve lcov --map-functions description
    
    Rework description of --map-functions to make it easier to understand.
    Also fix minor typo in --prune-tests description.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 91904a85b953a234c5caaf507e8f4442a6cdd9ce
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 11 13:52:55 2023 -0400

    Documentation fixes: description of '--hierarchical', various typos.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 51bdff6a69ab9dc8684d41c74959086859fc7f6a
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu May 11 19:49:36 2023 +0200

    man: Improve lcov --prune-tests description
    
    Describe the effect of --prune-tests in more detail.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 4448f518d351fe4c55a1799ab3a65f190db19b7c
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu May 11 17:24:18 2023 +0200

    lcov: Make error message handling more consistent
    
    Ensure that error messages are printed to stderr. Also enforce a
    consistent ERROR: message prefix.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 03570ae09de0dbd046bf2084a1990dba045672f6
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 10 11:36:49 2023 +0200

    fix.pl: Update script install locations in man pages
    
    During installation, update sample script installation paths in man
    pages during installation.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 7846a9c1f1076d7f57bec85006a9fc0b2b17c493
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu May 11 16:11:08 2023 +0200

    man: Rework genhtml man page
    
    Rework genhtml man page to provide an easier introduction into new
    topics such as differential coverage analysis and date/owner binning.
    
    Also implement miscellaneous improvements:
      - Consistently list sample scripts and their file system location
      - Reword coverage classification description
      - Reword --flat and --hierarchical option description
      - Reword script options
      - Document script calling convention
      - Improve script interface documentation (command line and output
        format)
      - Use consistent formatting:
          - Option and tool references: bold
          - Argument references: italic
      - Shorten some argument names
      - Improve list formatting
      - Remove duplicate words and fix typos
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 0b63e93326af7bcde52f29f35bfbd9c63cdbd8eb
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 5 11:09:03 2023 +0200

    man: Consolidate version script text
    
    Consolidate text describing the script used with genhtml/lcov/geninfo
    --version-script. Also reformat it for improved readability.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 27a807609f7d8dfecbebcdbd1c137b43a5fc515c
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue May 9 15:24:21 2023 -0400

    Enable more sophisticated coverage criteria callbacks.
    Add config file options to retrict criteria callback to user-specified
    level and to pass date and/or owner bin data to callback.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 9a7096bff016d8f227fc7a04a53150a32f151eb4
Author: Jake Leventhal <jakeleventhal@me.com>
Date:   Tue May 9 13:17:15 2023 -0400

    component: Fixed incorrect genhtml man description. (#213)
    
    Updated genhtml docs to correctly show branch coverage is disabled by default.
    
    Signed-off-by: Jake Leventhal <jakeleventhal@me.com>

commit 7d2457a43fa6158a342ae78965106a10e4997893
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri May 5 06:09:58 2023 -0400

    Refactor to move common RC and command line processing to library
    routine.
    This makes it easier to add or remove options uniformly in future.
    Rename some common RC options which are used by all the lcov tools
    and add a 'deprecated' warning if obsoleted options are detected.
    
    Signed-off-by:  Henry Cox <henry.cox>

commit e0e80d2f2417db3fc7707fc52c84655a51ea9f28
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 5 10:46:58 2023 +0200

    man: Reformat negative count reference
    
    Reformat reference to bugzilla regarding negative counts in coverage
    data to make it more readable.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 6c713a02ea7ad8d05bc5af785c282db174744ab7
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 5 10:39:09 2023 +0200

    man: Cleanup of some errors
    
    Fix man page errors:
    
     - typos
     - duplicated words
     - indentation errors
     - formatting issues
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit dfee6ecf23c964d2a3166026968c00a4ce9c83cb
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 4 13:59:24 2023 -0400

    Fix bug in 'info' print
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5d028b9e56ff5f1692942205def92d82ccdd1cbc
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu May 4 09:44:54 2023 -0400

    Use more precompiled regexps to improve runtime performance.
    Any trick worth doing, is worth doing twice.
    
    Signed-off-by:  Henry Cox <henry.cox@meditek.com>

commit a233868aaac6b1b8336166d467ee7117046d084e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed May 3 14:28:35 2023 +0200

    lcov: Improve data collection performance
    
    Reduce data collection runtime by precompiling regular expressions that
    are matched multiple times against each source code line. In some tests
    this results in runtime reduction of up to 30%.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit caf149dbdc9eb1e5ea89ffb36e9fd56c259b00bb
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 28 17:06:42 2023 -0400

    More diagnostics if "can't happen" parallelism errors occur.
    Try to exit (more) cleanly in case of fatal error.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4e3132cd5c6066faf5aac29c628a677373b4a318
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue May 2 10:10:37 2023 +0200

    geninfo: Fix external source file handling
    
    When geninfo is called with '--no-external --directory ./' for source
    files that are compiled with a toolchain that reports relative source
    code path in gcov files, all source files will erroneously be marked as
    external, resulting in output as follows:
    
      Excluded data for 1 file due to include/exclude options
      geninfo: WARNING:  no data generated
    
    Affected are all toolchains that report relative source file paths in
    gcov output (such as LLVM up to at least v16).
    
    This error is due to geninfo external path matching sometimes looking
    for 2 consecutive slashes in source code paths when the list of source
    code base paths contain './' or '/'. Fix this by adjusting the matching
    to require all base paths to contain a trailing slash. Also fix relative
    path resolution failing for the '/' path.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e9d36782c1a71b7cb0d93715788271984db5f9a6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 28 09:11:26 2023 -0400

    Add test for close brace filtering
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 2bfaf3da897bd8c97acbaa94bb5038fa4692c3f5
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 17 08:47:58 2023 -0400

    FUNCTIONALITY:  derive function end line if not reported by gcov tool -
    with RC option to disable the derivation (in case something goes wrong).
    End lines make function exclusion more useful.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 51054bac73e2418ca5fe88fba4288f2a36fe9479
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 28 10:16:21 2023 -0400

    Cleanup:  fix spacing, remove accidentally duplicated code, etc
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 41704f652eb3232d3011f77b0df4de401f2c8703
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 27 16:30:47 2023 -0400

    Better message for annotation callback failures.
    Add annotation callback failure tests.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 6838f80449e8aac781ee5dbb92487f91f2a93431
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 27 17:52:47 2023 -0400

    PORTABILITY:  MacOS 'install' needs '-m' before filenames
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit cc551ec29d49363efd39bb4fc673bd43294b6b4f
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Apr 27 10:33:48 2023 +0200

    lcov: Unclutter error and warn messages
    
    Perl adds an 'at <sourcefile> line <linenumber>' suffix to all die/warn
    messages that are not newline-terminated, making these messages harder
    to read. As this type of information is irrelevant to most users and only
    useful in the context of debugging problems within lcov, hide this
    suffix unless --debug was specified.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 9e544ef347115da0bb6c277dca0176ccdb17f8ee
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Apr 26 16:52:40 2023 +0200

    geninfo: Enable relative paths for --gcov-tool
    
    Enable the use of relative paths with option --gcov-tool. Also print a
    meaningfull error message if the specified tool is not accessible.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit fa5dd61c1ac57a1994b81aad6b2f3190a6058dfa
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Apr 26 16:28:58 2023 +0200

    geninfo: Replace use of 'which' tool
    
    The 'which' tool is typically shipped as part of a separate package that
    might not be available on all targets. Replace its invocation with a
    manual PATH lookup.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit f762e5e22adebd427651ed53eb119b2bdb614c9c
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Apr 26 10:48:59 2023 +0200

    Makefile: Implement consistent pretty-printing
    
    Use abbreviated output for all main Makefile targets in a consistent
    manner. Full output can be retrieved by specifying V=1 as make
    parameter.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 8f59baafa98805f334a3edcbb5d016bcad4f3394
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 16:34:05 2023 +0200

    tests: Improve tests
    
    Some tests report failure due to missing prerequisites. Change these
    failures into skip messages. Also fix a problem with residual .gcda
    files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit ce21b6ce605a05a0ebc114101f07e0ab18e4fa0e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 15:53:53 2023 +0200

    editorconfig: Fix tab setting for .mak files
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 69474a21486d713e2a3c26cff8881fa606c34a96
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 14:43:58 2023 +0200

    Makefile: Improve make clean/test output
    
    Suppress "entering directory" messages to make output cleaner and more
    consistent.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit a1f887044d92b40d7f8bf414507a75f49b983077
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 14:38:58 2023 +0200

    updateversion.pl: Rename to fix.pl
    
    Rename updateversion.pl script to fix.pl to better reflect its function.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit f9a932197750792d9c16bc956ef5df7304415886
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 14:23:36 2023 +0200

    updateversion.pl: Rework post-install fixup
    
    Some references such as the version number or date of last change are
    automatically updated when LCOV tools and man pages are installed. This
    update process is currently incomplete and unnecessarily complex. Fix
    this by reworking the associated updateversion.pl script with the
    following changes:
    
      * add explicit tool options for each function performed to make the
        processing more transparent
      * remove list of tools and man pages from the update program - this
        information is already available in the main makefile
      * replace /usr/bin/env interpreter references for python scripts
      * remove FindBin invocations - once installed, the full path to
        tools and libraries is fixed and doesn't need to be determined
        at runtime
      * remove extraneous FULL variable in .version file
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 997cd75801654e9feac30a3ae13a347fb6011fd8
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 14:09:35 2023 +0200

    Makefile: Fix missing dot files in tar.gz
    
    Some files beginning with a dot are missing from release tar.gz files
    and source RPMs. Fix this by adding all files to the tar.gz staging
    directory, then removing the .git directory separately.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit b06afcd58ce3a56c49bf642c0367ad3a8decdb15
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 14:06:50 2023 +0200

    Makefile: Use subdirectory for library path
    
    Use a dedicated lcov subdirectory in /usr/lib as the default library
    installation path. This improves isolation and allows easier adding of
    new libraries should the need arise.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 37174e9c4ded57e4ad50746b1f4ad110c6ee5904
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 13:57:50 2023 +0200

    Makefile: Simplify Perl module installation
    
    Mention full library name including suffix once in list variable instead
    of adding it in many different places during runtime.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit d13ebf54741ab06b7f6c95d75c198b0862ce9d3d
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 13:53:24 2023 +0200

    Makefile: Fix library file permissions
    
    Change file access permissions of library files to non-executable
    during installation. This fixes the following warning during RPM build:
    
      *** WARNING: ./usr/lib/lcovutil.pm is executable but has no shebang
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 7713da60127f683573a3328c06cea67753950ed7
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 10:25:00 2023 +0200

    get_version.sh: Remove leading 'v' character from version
    
    LCOV release tags start with a 'v', but the version number used for
    naming RPM packages, etc. should not contain a leading 'v'. Therefore
    remove the leading 'v' when reading the version from git.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit d1716f4cc04386e03b6e0893a1bbb9656e339ff8
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon Apr 24 16:30:45 2023 +0200

    lcov.spec: Update RPM description
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit c85695e3db6dd4f602b15be302d60184e6196488
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Apr 21 15:56:33 2023 +0200

    install: Remove install.sh script
    
    Remove the helper script for file installation/removal since it has now
    become obsolete.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 33b419818975a0393da63342314df2bf63d7db1e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Apr 21 15:35:56 2023 +0200

    install.sh: Move Perl interpreter fixup code
    
    Move code that changes the Perl interpreter path of lcov executables
    during installation to updateversion.pl. This is done in preparation of
    removing the install.sh script.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit dabc1215bdeffe3494993f0fdbd7a876076fdfce
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 25 15:26:50 2023 +0200

    lcov: Enable running lcov via symbolic link
    
    Ensure the correct base path is used for lcov operations when starting
    lcov via a symbolic link (e.g. ~/bin/lcov => ~/git/lcov/bin/lcov).
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 5c9399e8a0b603ff488a89b97dd8da851ed7a9f3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Tue Apr 18 11:16:30 2023 -0400

    Enable 'synthesize-missing' if annotatte script fails
    (e.g., file is missing) - when annotation errors are ignored.
    The use case is motivated by some generated files in the LLVM build
    which otherwise cause annotation to break.  (Easier to modify
    genhtml than to train the build system.)
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit a2a77970be0cff826125f9e28a1cbfc4497c8495
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 20 15:44:35 2023 -0400

    Feature to save more data for easier post-facto debugging of user
    issues.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 24ab5e5b6288cc3441897eb8135eeddd9ae82d88
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 19 10:52:17 2023 -0400

    Record tool command line and some user environment data - to enable easier post-facto debug of customer issues.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 25c3032dfbca5363edb70a3a5a83d73aaed8cb55
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 19 10:50:58 2023 -0400

    BUGFIX:  handle fork() failure case
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 02f33b7b41ca010d9909f6300d401819ca6ee2ab
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Apr 19 10:49:05 2023 -0400

    BUGFIX: verbosity/debug flag setting.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1c16cc36b45a1075386c7a85ee4c5fb6ff691168
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 14 10:48:08 2023 -0400

    Exception branch handling:  add location to mismatch warning, remove lone branch after filtering
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4ec98bf44cbce45a24fc6e0f8d625c5954fa0712
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 14 10:43:26 2023 -0400

    Performance fix:  no need for c++filt
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5d74528cd33cfdef315a5e989e4c03dca5aa6204
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 14 10:42:26 2023 -0400

    Clarify man page, clean up testcases
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit dfbec407e9486fdb3ab1ea7196157d8b9cf96c0f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 10 13:20:30 2023 -0400

    BUGFIX:  'dark mode' palette.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0a2daf9bc8df48ff99ddf5f19465254236d78bc7
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 7 14:56:40 2023 -0400

    FUNCTIONALITY:  add source layout controls for owner and age column
    width.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 1fa4624154e99e90d33ce0de190a2700dfdf5c55
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 7 14:56:08 2023 -0400

    BUGFIX:  annotate script fix + doc update
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 2af97e32e7f1975a3d86ed92d52f2e61807f93b8
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 7 08:17:31 2023 -0400

    Forgot to run 'checkstyle'
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4d942a11b8cdd19b497d22ab5ee2c55d9fd9e340
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 7 08:15:01 2023 -0400

    FUNCTIONALITY:  support list of '--build-directory'.
    This is useful when common libraries (shared between teams) are compiled
    in different locations - to the .gcno files are not in a single
    location.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit cb5b383e1b5e7ca54ff5f3e2b35b4ddd91c0f991
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Fri Apr 7 08:12:59 2023 -0400

    FUNCTIONALITY:  better handling of long 'owner' names.
    Don't remove the domain by default (user can do that in annotate script,
    if desired).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 38e39e74db148362a8861303683572cf7fb096e3
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Apr 6 13:05:12 2023 -0400

    set execute bit on testcase scripts
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4d5df94445820cad610bfe37c7909b9cb76ca487
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 3 13:23:02 2023 -0400

    FUNCTIONALITY:  support case insensitive file pathnames
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f3c1399315d0687e8cccbd287b139bea838fd069
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Mon Apr 3 13:17:29 2023 -0400

    FUNCTIONALITY: support exception branch exclusion in genhtml and lcov (as well as geninfo)
    
    Signed-off-by:  Henry Cox <henry.cox@medaitek.com>

commit 56c0a2ab8d054dbfa3d72ad2696998eee26126c6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Mar 30 10:19:10 2023 -0400

    BUGFIX:  set execute bit

commit b7f5ed6a42fb95422826e16d6069e8093dbf9215
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 13:01:49 2023 -0400

    BUGFIX:  line-specific exclusion directives
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 70c9bc3c46dfd8fb30b1d0f0b1ab1b37419a43ef
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:39:42 2023 -0400

    FUNCTIONALITY:  record exception branches
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 1fa1c298eb0ab8fbe2653c55acf99d1263a6906f
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:29:53 2023 -0400

    verbosity controls for geninfo debug logging
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 80ed0d5ccc3afc32eae47a9d8326efa52ca76f3b
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:07:25 2023 -0400

    PORTABILITY:  modify tests to run with gcc < v9 and gcc >= v10
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 094fbb2ca2c2acc669d20807901bdbe419309c52
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:32:51 2023 -0400

    BUGFIX:  function end-line recording for gcc < 9
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 788fdeea210611fb946db8dddede5fd832d9ef97
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:14:56 2023 -0400

    BUGFIX: typo in error message
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 7e5759785f3f0a460cc325546f86552b57c92e26
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Mar 29 12:04:36 2023 -0400

    DOCUMENTATION:  clarification + fix typos
    
    Signed-off-by: Henry Cox <Henry.Cox@mediatek.com>

commit 6ae8e6e809c2158fcff17d53e5f15a54cd9ce30a
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Feb 28 14:10:50 2023 -0500

    Enable verbose print of RC option processing - to aid user configuration
    debugging.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit cdde0d68ec6ac00fb326541e5a03d152fd629b29
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Feb 22 10:12:33 2023 -0500

    If set, use $ENV{SOURCE_DATE_EPOCH} to compute file age (for date bin) -
    otherwise, use 'now' (when report is generated).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 43534e8f71861201084abd1f2a8ce8bdbfb0b552
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Feb 14 12:59:51 2023 -0500

    Improved handling of relative paths in .info files.
    This is useful in the case that the source code, build directory,
    and coverage data are all in different locations (e.g., with linked
    builds and GCOV_PREFIX).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0dc904e330efaf01a3a9ffd029ea4aa6fcf63945
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Feb 15 09:30:25 2023 -0500

    Warn if we are using a known-to-be-slow JSON module.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 8664793b659c0c0d3f23cb31188daa97a566f4bf
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Feb 15 06:40:34 2023 -0500

    BUGFIX:  change dir out of tempdir as soon as possible - to avoid issue
    of trying to remove tempdir while process is still there.  This can
    happen if an error occurs while working in the tempdir - e.g.
    inconsistent coverage data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e18964a2f14d4aa3e4507f7da6df24be6a2ea24e
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Feb 14 13:05:00 2023 -0500

    Fix initial capture bug - case that we have compile time data (.gcno
    file) but no runtime data (no .gcda files).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit f1c1f9d5ea8cfb8622a6704d266decf8c88b8129
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Feb 10 12:28:33 2023 -0500

    Fix handling of Java code.
    Don't complain about missing source if we aren't doing anything with
    the file (no source view, not checking version, not trying to annotate).
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 08472079b247d9785c337a62d6dcb383ea6dff4f
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Feb 6 16:32:37 2023 -0500

    Add 'geninfo --build-directory build_dir' option to handle the case when
    .gcda and .gcno files (run- and compile-time data, respectively)
    are not in the same directory.
    This happens when we use the gcc/llvm "GCOV_PREFIX" and
    "GCOV_PREFIX_STRIP" options to redirect runtime data.
    See testcase .../tests/lcov/extract/extract.sh for one potential use
    model.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 8075a6a7627fe897eafa97d842a704ed6babef33
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Thu Feb 9 11:33:07 2023 -0500

    Simplify differential categorization function:
    We only care about - and only display - total coverage over all
    testcases.  We don't look at per-testcase changes.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 82dcd005621939b2a387b649bc39af51fd349cca
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Feb 8 06:46:13 2023 -0500

    Handle command line override of list-like RC parameters.
    Parameter value should be appended to list when it appears multiple
    times.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4a5871ed099267d46f7e5a32be25b619c522a0cf
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Feb 3 16:04:34 2023 -0500

    Portability fixes for callbacks: better handling of embedded spaces.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 26c385ca70277264748e0d78c5a2800e1c403940
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Jan 10 13:09:48 2023 -0500

    Add 'py2lcov' script to translate from Coverage.py XML to lcov format.
    This enables a unified coverage report for projects containing both
    C/C++ code and Python.
    See "py2lcov --help" as well as https://coverage.readthedocs.io.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4f43d7c47874a86104ea992c3a208266ee3edf0d
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Feb 3 07:03:49 2023 -0500

    Modify genhtml 'annotate', 'criteria' and 'version' and for geninfo
    'gcov-tool' callbacks to use an approach similar to 'gcc -Xlinker':
    concatentate supplied parameters when callback is executed.
    For example:
      lcov --capture --gcov-tool llvm-cov --gcov-tool gcov -o llvm.info -d .
    will execute callback 'llvm-cov gcov filename' for each capture.
    
    This change makes it easier to handle filenames and options which
    contain spaces, removes the requirement for a wrapper script in some
    cases, and simplifies quoting.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit d98659aa42397760379ac948be1caadb1cf8eeb6
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Jan 30 16:28:46 2023 -0500

    Update missed changes to documentation.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit ff81838619703376ad55538b470fc22dbedef728
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Jan 30 16:23:18 2023 -0500

    BUGFIX:  handle relative path in 'gitblame' script.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 57dfd23d57393dc62795cf2d2408e8570adc2179
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Jan 24 06:50:55 2023 -0500

    Option to show all differential categories in header table summary while
    still suppressing zero columns in coverage detail table.
    Option is currently disabled:  Showing all categories in table header
    might be somewhat useful documentation - but verbose/noisy output is
    hard to use.  For the moment, err on the side of readability.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 09704264f0facfbb59a69d798c70d1200f129966
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Jan 25 10:18:24 2023 -0500

    Add configuration option for line-specific 'high' and 'medium' coverage thresholds.
    Slightly modified and updated from PR #163.
    
    Signed-off-by: Jose Martinez (and merged by Henry Cox)

commit e5c10eff4d52d79fc96ee6640bb0bfb8415a06b7
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Jan 24 09:30:16 2023 -0500

    Bugfix:  reversed order of callback parameters.
    
    Signed-off-by:  Henry Cox <henry.cox@meditek.com>

commit 667c9c0f93deb38583a9591831814ce16dc95f32
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Jan 24 06:49:24 2023 -0500

    BUGFIX:  gcc/4.8.3 support.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 7a538ee962ce9e8d1c5b5629dc849f418021f4a0
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Jan 23 13:13:18 2023 -0500

    Handle case that gcov claims that some line is covered but contains
    an 'unexecuted_block':  set count to zero if there are no branches
    associated with the line.
    Behaviour is controlled by config variable "geninfo_unexecuted_block".
    Default is to not adjust the count.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 7ae5e15d94d1ac3301e802e2a0d499af16d56314
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Jan 23 13:12:03 2023 -0500

    Add "Dependencies" section to README - to tell users which other
    packages may be required, and how to install them.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 36754c884deb4ce6d427ece4c8929a040c46f809
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Sat Jan 21 04:13:01 2023 -0500

    Add "--flat" display option to genhtml:  list all files in top-level of
    two-level HTML (rather than the default 3-level top/source
    directory/source file view, or the 'hiearchical' view which follows
    source code layout).
    
    This is useful/more compact for small project as well as for producing
    module-level or project team remports for larger projects - for example:
       genhtml -o module1Report --flat --include 'module1/*' ....
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 0288bf580139df78e82a05347e77ec7bda16b9ab
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Jan 10 13:31:39 2023 -0500

    Add '--forget-test-names' option to lcov and genhtml.
    This may improve performance and reduce memory footprint when user does
    not need a per-testcase coverage summary.
    Feature means that user does not need to generate two sets of data:
    one with and one without names.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit a2dcaeea7454ad064d3aa9ce9972e1ceb9edc98e
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Thu Jan 19 12:11:19 2023 -0500

    Suppress differential coverage table columns whose entries are all zero.
    Goal is to improve readability, especially for mature development projects which have very few unexercised coverpoints.
    Add "genhtml --show-zero-columns" option to disable suppression.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 849db222bee90c803aa5579203064b49f0df2501
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Thu Jan 19 10:58:47 2023 -0500

    BUGFIX:  don't complain about synthesizing fake file content if
    "--no-sourceview"
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit fbb8b9e4d9019702d5f06af2077d3fb7d83dd621
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Sat Jan 7 06:41:50 2023 -0500

    Missed some error diagnostics - e.g., when 'open' fails
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit c107cc27331a4253a290e10e28fd644b37d1e098
Author: nega0 <nega0@users.noreply.github.com>
Date:   Sat Jan 7 06:51:26 2023 -0500

    Exclude .git and *~ files from `make check` (#179)

commit 2489e42e21d732ee74a7066491c0bf08051a7f5a
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Sun Jan 1 09:02:57 2023 -0500

    Enable argument passing from Makefile to test script.
    Primary use is to collect testcase coverage data via Devel::Cover.
    Sample usage:
        make COVERAGE=1 ARGS=--keep-going test
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 10c6ea06ef0a62a71c9eabe73c2d1063cfc65d37
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Dec 16 16:09:00 2022 -0500

    Enable exclusion of coverpoints within function body (line, branch, and
    the function itself) - controlled by a new "--erase-function regexp"
    option.
    Option is called "--erase-function" so as to not conflict with "--exclude",
    which had already been claimed for file exclusions via glob patterns.
    
    In differential categorization, check for source changes in function
    region:  if code has been added or removed, consider the function to
    have been changed.  For changed functions, uncovered in current is
    categorized as "UNC" and covered in current is categorized as "GNC".
    If covered in baseline and not covered in current, keep categorization
    as "LBC" (i.e., don't change to "UNC").
    
    Add 'genhtml --show-proportion' option - default off.
    If enabled, show proportion of line and branch coverpoints which are
    exercised in "function coverage detail" table.
    Detail tabled can be sorted by number of un-exercised coverpoints (as
    well as alphabetically by function name, or by number of times function
    is hit).  The sorted views may be useful - e.g., to help developer focus
    attention on functions which would have the largest effect.
    
    Add "genhtml --suppress-aliases" option - default off.
    If enabled, suppress aliases in the 'function detail table' - show only
    the leader.  This enables user to focus on the overall coverage which
    can otherwise be lost in a sea of alias names, expecially for widely
    instantiated templates.
    
    These features resuire lcov/geninfo/genhtml to keep track of function
    end lines - which requires gcov 9 or newer to do so.  Warn if the user's
    gcov is too old.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4e5f4cc2d9dff1703e85aa79cb3839fc89e036fb
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Jan 4 11:38:53 2023 -0500

    Add 'genhtml --debug' option (mostly for script debugging)
    Fix handling of inconsistent branch data.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit bd58037d8975a40947608d791cf618d32a9c14de
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Jan 2 15:05:38 2023 -0500

    Use File::Path::make_path utility rather than system("mkdir -p...").
    More portable and better error diagnostics.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 038c2ca22598bf645436806ecb5f16716a29b513
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Dec 16 14:18:36 2022 -0500

    Add checks for incompatible configuration:  text mode for gcc version >=
    9, "no_external" outside of 'lcov --capture'
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 218beb05d4a555ab97ba0222a7c571531f02a82e
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Dec 12 11:22:33 2022 -0500

    FUNCTIONALITY:  support demangling in geninfo
    FUNCTIONALITY:  add more context to spreadsheet
    BUGFIX:  check external tool return codes, fix lcov URL.
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit d1cde448ed1499c4b37c0ff6f9518464629cb940
Author: nega0 <nega0@users.noreply.github.com>
Date:   Sat Dec 10 06:37:03 2022 -0500

    Make test harness more portable (#178)
    
    * Ignores auto-generated files from the test suite
    * Swaps out `readlink -e` in favor of `readlink -f`...
      and tests if the directory exists. Basically what GNU's `readlink -e`
      does.
    * Makes call to stat portable via bash's OSTYPE
    * Wraps reads from '/proc' with bash's OSTYPE
      Uses `sysctl` and `vm_stat` on macOS to get similar info
    * Uses 'printf' where we're printing ANSI codes
      Escaping ESC with '\e' isn't universal. (bsd-ish /bin/echo, old versions
      of bash). Use 'printf' instead.
    * Uses the $(realpath ...) builtin
      Instead of shelling out to call readlink. Also use it to tidy up some
      paths.
    * Changes the shebang to bash, since we're using bash syntax
    
    Signed-off-by: nega <nega0@users.noreply.github.com>

commit 238ea7c33ca0b96654ee9f4b5c770792954a40f3
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Nov 30 13:19:55 2022 -0500

    BUGFIX: handle negative count for line/branch/function - sometimes
    generated by llvm.
    Suppress function coverpoints in excluded region.
    Avoid potential conflict in geninfo parallel execution.
    Handle gcda and gcov filenames with leading '.' in name.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 13e512f229fd036eac94d4ba1b654d39282b4273
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Tue Nov 29 11:04:30 2022 -0500

    More geninfo profiling + spreadsheet enhancements.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e4a480f2c0ca7926afa89aba358dc52d134ffbce
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Dec 2 13:02:35 2022 -0500

    Update 'CONTRIBUTING' goals and requirements, clarify install method,
    fix doc typos.

commit 9b62a99d22822f90b0430d31aa99c6ffbf5c30c6
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Nov 28 06:50:47 2022 -0500

    Enhance spreadsheet generation (for performance investigation)
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 4d044cb848acb03f76742763fceffb7e523fb622
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Mon Nov 28 06:47:42 2022 -0500

    Bugfix:  may see undef data from .gcda file processing - e.g., if an error
    occurred.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 63f61ea1a0b5d9971732b40394663e04d819d086
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Fri Nov 18 10:20:27 2022 -0500

    Add feature to suppress additional messages after threshold is
    excceeded.
    If user is not going to fix the first N messages, then there is no
    point to reporting more.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5fd02c8098593986594bdfaf5cda9a96e2a2cc2a
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Thu Nov 17 11:37:10 2022 -0500

    FUNCTIONALITY:  use binary intermediate form for geninfo 'extract' - to
    improve CPU performance and to eliminate copy-paste/redundant code.
    Side effect is to make 'checksum' a generic feature of
    geninfo/lcov/genhtml.
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 5f659f63801ef7f94c50a0eb5cffa1ea70f73651
Author: Henry Cox <Henry.Cox@mediatek.com>
Date:   Wed Nov 9 16:15:45 2022 -0500

    lcov: Major functional update
    
    (Squashed commit of all changes from the 'diffcov_initial' branch:)
    
    New features and enhancements (compared to lcov 1.16):
    
    New features and capabilities fall into 6 major categories:
    
      a) Categorization
    
         This refers primarily to differential coverage categorization as
         well as date- and owner-binning.  See https://arxiv.org/abs/2008.07947
         or https://ieeexplore.ieee.org/document/9438597 for a detailed
         description of the concepts and discussion of several possible use models.
         A video presentation of the basic ideas can be found at
         http://doi.org/10.5281/zenodo.4653252
    
         Differential categorization and binning are orthogonal in the sense
         that you can generate differential report without binning as well
         as 'vanilla' coverage reports with binning.  See the above papers
         and the genhtml man page for details.
    
         Related options:
            --baseline-file, --diff-file, --annotate-script, --date-bins,
            --new-file-as-baseline, --elide-path-mismatch
    
      b) Error handling
    
         A generic - but very simple - error handler has been added to the
         lcov tool suite.  The error handler is used to report exceptions,
         and provides a mechanism for the user to ignore the particular
         message if desired.
         See the genhtml/lcov/geninfo man pages for details.
    
         Note that some errors are unrecoverable - and cannot be suppressed or
         ignored.
    
         Related options:  --ignore-error, --keep-going
    
      c) Navigation and display:
    
         Navigation aids such as hyperlinks to the first uncovered region,
         to the next uncovered region, etc. have been implemented.  Similarly,
         new tables, new columns, and new links between tables enable the
         user to identify the author of particular code (covered or not
         covered), as well as the time period when the code was written.
    
         Collectively, these features help the user to quickly identify the
         cause of code coverage issues, and to then decide what to do.
    
         An option to generate a 'hierarchical' coverage report (which follows
         the source code directory structure) as well as various other small
         features (tooltip popups, user-specified HTML header, footer, and
         table labels, etc.) are also available.
    
         See the genhtml man page for some details, as well as the
         'gendiffcov/simple' testcases for some examples.
    
          Related options:
              --baseline-title, --baseline-date, --current-date, --hierarchical,
              --show-owners, --show-noncode, --show-navigation
    
      d) Data manipulation
    
         Filters are used to suppress or remove certain coverage artifacts -
         for example, branches generated by the compiler (e.g., for exception
         handling).  These artifacts can overwhelm the user code and obscure
         coverage features that are interesting to the user.
    
         Other options are used to focus on or to exclude certain sections
         of code, as well as to do regexp replacement of file names.
         (Path munging is useful primarily when the build structure does
         not exactly match the layout in your revision control system; this
         is common in large projects with reusable components.)
    
         See the lcov/geninfo/genhtml man pages for a detailed description of
         the available filters and manipulation features.
    
         Related options:
            --include, --exclude, --omit-lines, --substitute, --filter
    
      e) Callbacks/customization
    
         The user can supply callbacks which are used to:
    
            i) interface with the revision control system
               Sample scripts:
                 - Perforce:  see 'p4diff' and 'p4annotate'
                 - Git: see 'gitdiff' and 'gitblame'
            ii) verify that source code versions are compatible, and
                Sample scripts: see 'get_signature', 'getp4version'
            iii) enforce a desired code coverage criteria
                 Sample script: criteria
    
         See the genhtml/lcov/geninfo man pages for details.
    
         Note that the various sample scripts are found in the source code 'bin'
         directory, but are installed in the $LCOV_HOME/share/lcov/support-scripts
         directory of the release.
    
         Related options:
           --annotate-script, --criteria-script, --version-script
    
      f) Performance
    
         lcov/genhtml/geninfo have been refactored to parallelize computation
         across multiple cores, if requested.
         In general, this provides speedup that is nearly linear in the number
         of cores.
         There is also an option to throttle parallelism to not exceed peak
         memory consumption constraints, as well as options to enable simple
         profile data collection - so you can see where time in going and
         thus to hint at potential optimizations.  The 'spreadsheet.py
         script can be used to view generated profile data.
    
         See the genhtml/lcov/geninfo man pages for details
    
         Related options: --parallel, --memory, --profile
    
    In general, the new features and options are implemented uniformly in lcov,
    genhtml, and geninfo.  Most of the features can be enabled/disabled
    using either command line options or by setting defaults in your 'lcovrc'
    file.  See the lcovrc man page for details.
    
    Finally - and of interest only to developers - the various lcov-related
    scripts have been refactored to use a common utility library.
    See the code in .../lib/lcovutil.pm for details.
    
    [oberpar@linux.ibm.com:
     - revert changes to LCOV_PERL_PATH
     - revert indentation changes to existing shell scripts
     - whitespace fixes
     - add subject line
     - fixed typos in commit message]
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit 92e21217d3e487952e8fab49f98d3560fbde4be8
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Nov 4 12:18:00 2022 +0100

    lcov: Remove extra string concatentations
    
    After automatic coding style application, some string concatenations are
    no longer required. Remove them manually.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 8c381fb77de4dbac948aa2bd1443cda6ed01dc5e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Nov 4 12:14:59 2022 +0100

    lcov: Apply preferred coding style
    
    Apply the preferred coding style as defined by the .perltidyrc and
    editorconfig files to existing source files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e99f38181b6e87a4254d9390a6c322a00f82d9f5
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Nov 4 12:00:20 2022 +0100

    lcov: Add coding style helpers
    
    With the upcoming merge of major code changes, an automated way of
    checking and enforcing coding style consistency is required. Add a
    Makefile target that uses the perltidy tool to report coding style
    inconsistencies for all Perl files.
    
    To check only changed lines in Perl code for coding style issues:
    
    $ make checkstyle
    
    To check all lines of Perl code for coding style issues:
    
    $ make checkstyle MODE=full
    
    Also an editorconfig file is provided that instructs source code editors
    with editorconfig support to use preferred indentation and line-ending
    formats.
    
    Note that the chosen coding style is different from the one currently
    being used. This is mostly due to perltidy problems when using
    indentation levels larger than 4 characters.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit dfeb7505ef372f806ddb280b52a90f41cd8169cd (tag: v1.16)
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jun 3 18:21:21 2022 +0200

    lcov: Finalize release 1.16
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e220b39ed9cd3e9ea6543a9afe15957e3b0f93e4
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jun 3 17:40:21 2022 +0200

    Makefile: Create make target for creating release tags
    
    Simplify work associated with creating a new release by introducing a
    new 'make release' Makefile target that automates some of the
    recurring git-related steps.
    
    The new make target will perform the following steps:
    
     - Update man pages, README and spec file with new version and
       last modified dates
     - Create a new commit for the version changes
     - Tag the commit with a release tag in canonical format
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 6da8399c7a7a3370de2c69b16b092e945442ffcd
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jun 3 10:14:55 2022 +0200

    lcov: Update website links
    
    Consolidate all lcov-related website links to point to the github lcov
    repository site.
    
    Also update the instructions for collecting Linux kernel coverage.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 034353207a52786439f832691a37cd77c54be114
Author: Aurélien Jacobs <aj@technolia.fr>
Date:   Wed Feb 9 12:52:14 2022 +0100

    geninfo: Fix handling of source path containing non-ASCII characters
    
    Without this fix, genhtml fails on source path that contains non-ASCII
    characters.
    
    [oberpar: Minor commit message changes]
    
    Signed-off-by: Aurélien Jacobs <aj@technolia.fr>

commit 37d117f9ee04454ba4f51b3bae4d6d10808cac5e
Author: FANG.Ge <fang.g@bigforce.cn>
Date:   Wed Aug 26 22:06:34 2020 +0800

    geninfo: support remove CR endings of old intermediate text
    
    On mingw gcc toolkits, gcov outputs with CRLF, if CRs are not removed,
    filenames with CR control charaters cannot be used to read file
    correctly.
    
    Fix this by explicitly removing CR+LF.
    
    [oberpar: Minor commit message changes]
    
    Signed-off-by: FANG.Ge <fang.g@bigforce.cn>

commit 8c34f13587e15da5b35b1d1b80008991cbc4dbd9
Author: Bollen Nico <nico.bollen@gmail.com>
Date:   Wed Jun 1 18:18:22 2022 +0200

    lcov: Add file attributes for shell scripts
    
    On Windows git will clone the shell script with Windows line endings per
    default. Therefor we have to configure the git attributes so that the
    shell script gets checked out with Linux line endings and will be
    executable.
    
    [oberpar: Minor commit message updates, added eof]
    
    Signed-off-by: Bollen Nico <nico.bollen@gmail.com>

commit 05cfc7e86d3ff93b6fc560d12c532486ec6c9f52
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Wed Jun 1 17:39:11 2022 +0200

    genhtml: Add option to change HTML footer text
    
    Introduce new command-line option --footer and associated lcovrc
    option genhtml_footer that can be used to change the footer text shown
    at the bottom of each generated HTML page.
    
    [oberpar: Split original commit, added commit message, fixed typos and
              capitalization, fixed man page short option]
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit 1eb18f1deb50409a3d9314d8abf2ab7b1a1fedc6
Author: Henry Cox <henry.cox@mediatek.com>
Date:   Thu Jun 2 14:42:43 2022 +0200

    genhtml: Add option to change HTML header text
    
    Introduce new command-line option --header-title and associated lcovrc
    option genhtml_header that can be used to change the header text shown
    at the top of each generated HTML page.
    
    [oberpar: Split original commit, added commit message, fixed typos and
              capitalization, reworded --title text to make difference more
              visible, some man-page rewording]
    
    Signed-off-by: Henry Cox <henry.cox@mediatek.com>

commit eb2ce0b85afa573e6aec8d9bc9f4c8adf01aeda4
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Jun 1 18:54:59 2022 +0200

    genpng: Improve dark-mode support
    
    Add --dark-mode command-line option to genpng for enabling dark-mode.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 72c4f63ff74d098dc1abe511fb7e4ed679885b9e
Author: Evan Lojewski <github@meklort.com>
Date:   Sun Sep 13 12:12:30 2020 -0600

    lcov: quote tool_dir to enable paths with spaces.
    
    Signed-off-by: Evan Lojewski <github@meklort.com>

commit 9ea42d7aa7230dc15713c60446236282849a91fd
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Jun 1 18:45:06 2022 +0200

    lcov: Improve JSON module selection
    
    Instead of using a fixed default module when config option
    lcov_json_module is set to 'auto', try to load the fastest available
    module from the following list of alternatives:
    
      - JSON::XS
      - Cpanel::JSON::XS
      - JSON::PP
      - JSON
    
    Also add a man page section describing config option lcov_json_module.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit ba694399bd2f81731d6d2f4ee6e59957e7c867c6
Author: Odinochenko Aleksey <alekseyodinochenko@gmail.com>
Date:   Thu Dec 10 13:35:51 2020 +0200

    lcov: Make JSON module configurable
    
    lcov 1.15 uses core module JSON::PP for parsing gcov-9 output. This
    slowed down analysis for my project 10 times (with GCC 5 they uses txt
    format).
    
    My changes add an option to configure JSON module for lcov. To reach
    past performance I can force lcov to use fast JSON::XS module, e.g.:
    
    $ lcov --capture --directory $products --output-file $file
           --rc lcov_json_module=JSON::XS
    
    As this is not a Perl core module you should install it by yourself:
    
    $ cpan JSON:XS
    
    Regarding performance, here is execution time for a specific file:
    
    JSON::PP (default): 0m10.764s
    JSON::XS          : 0m0.542s
    Cpanel::JSON::XS  : 0m0.618s
    No JSON (GCC 5)   : 0m0.444s
    
    [oberpar: added verbose commit log from pull request, fixed typos,
              renamed rc option to lcov_* to make it more versatile]
    
    Signed-off-by: Odinochenko Aleksey <alekseyodinochenko@gmail.com>

commit 462f71ddbad726b2c9968fefca31d60a9f0f745f
Author: Lars Bilke <lars.bilke@ufz.de>
Date:   Tue Jun 15 13:17:53 2021 +0200

    Fix genhtml on macOS
    
    Closes #102.
    
    Signed-off-by: Lars Bilke <lars.bilke@ufz.de>

commit d1d3024a8c82ee0a4c2afe948008a18415db9091
Author: henry2cox <68852529+henry2cox@users.noreply.github.com>
Date:   Wed Jul 28 05:25:23 2021 -0400

    genhtml/genpng/lcov:  add missing rc support and man page entries
    
    * Add rcfile support and man page entries for --dark-mode and
      --fail-under-lines options
    * Add PNG support for 'dark-mode' feature
    
    Signed-off-by:  Henry Cox <henry.cox@mediatek.com>

commit e023d6a53e9d6f5c78a9f67e36a80fe27ae10867
Author: Weston Schmidt <Weston_Schmidt@alumni.purdue.edu>
Date:   Wed May 26 01:32:10 2021 -0700

    Add a dark mode option
    
    This adds the update to the CSS and pngs needed to make the website for
    a project so lcov can support both normal & 'dark mode' with the
    --dark-mode command line option.
    
    Signed-off-by: Weston Schmidt <Weston_Schmidt@alumni.purdue.edu>

commit b9d6727cf59c1708c69fbed0b06dab6794e1992d
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Apr 13 18:32:55 2021 +0200

    example: Fix example relying on undefined behavior
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit d55d6eaec6ae1ea8dab90e3f548a1b488ff9c9b8
Author: Miklos Vajna <vmiklos@collabora.com>
Date:   Tue Apr 6 14:45:08 2021 +0200

    lcov: add a new --fail-under-lines option
    
    This allows requiring a certain line coverage during CI.
    
    This is modeled after python's "coverage report --fail-under=100" or
    nodejs' "nyc report --statements 100", but it's for line coverage.
    
    Signed-off-by: Miklos Vajna <vmiklos@collabora.com>

commit d100e6cdd4c67cbe5322fa26b2ee8aa34ea7ebcf (tag: v1.15)
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Aug 12 16:17:04 2020 +0200

    lcov: Finalize release 1.15
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 055b75083174a45f36282d54f1f0c10470082426
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Aug 12 16:05:21 2020 +0200

    Makefile: Reduce unnecessary meta-data in tar and RPM files
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 25ff79cebc249918342a6eb550ea13d20472232f
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Aug 12 15:33:10 2020 +0200

    geninfo: Add workaround for MSYS GCC problem
    
    Some versions of MSYS GCC include support for generating JSON
    intermediate output format but incorrectly encode backslashes as \n:
    
      $ gcov -i example.gcda -t
      {
        "gcc_version": "9.2.0",
        [...]
        "current_working_directory": "C:\nTemp\nlcov\nexample",
        "data_file": "example.gcda"
      }
    
    This causes geninfo to abort when trying to collect coverage data:
    
      Processing example.gcda
      geninfo: Unsuccessful open on filename containing newline at bin/geninfo line 2905.
      geninfo: WARNING: could not open C:
      Temp
      lcov
      example/example.c
    
    Fix this by converting newlines in filenames on MSYS to /.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: fang.g@bigforce.cn

commit d666bae4eb29f87a266c8f8d8d453ed1d9b5e97e
Author: Nehal J Wani <nehaljw.kkd1@gmail.com>
Date:   Tue Aug 11 11:54:05 2020 -0400

    geninfo: Change json module
    
    Perl module JSON may not be present on all distributions. Switch to
    using JSON:PP instead which is a Perl core module since Perl 5.14.0.
    
    xref: https://perldoc.perl.org/5.14.0/index-modules-J.html
    
    Note: JSON:PP is included in packages named perl-JSON-PP or
    libjson-pp-perl on some distributions
    
    Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
    [oberpar@linux.ibm.com: fixed missing colon in use]

commit 41bfb00d31ff605b1c33456eab196c08d0530cf4
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Aug 7 18:25:19 2020 +0200

    geninfo: Fix warning due to non-numerical branch count
    
    Fix warning that is emitted because a non-numerical branch count ('-')
    is used in a numerical comparison.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit be5c0cb5184b43d16679c9b0260ad571f4e0b77d
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Aug 7 14:14:52 2020 +0200

    geninfo: Fix missing check for unterminated exclusion marker
    
    When reading gcov intermediate data, geninfo does not check for
    unterminated branch exception exclusion markers.
    
    Fix this my adding the corresponding check.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 7e98c6ccbaaa2da726f867740e16efab1945320b
Author: Jesús González <jgonzalez@gdr-sistemas.com>
Date:   Thu May 21 01:54:46 2020 +0200

    Exclusion of exception branches
    
    - Added "--rc" option "geninfo_no_exception_branch" to make geninfo
      always ignore exception branches when collecting branch coverage
      data.
    - Added new markers LCOV_EXCL_EXCEPTION_BR_LINE,
      LCOV_EXCL_EXCEPTION_BR_START and LCOV_EXCL_EXCEPTION_BR_STOP to
      selectively disable in the source code the collection of exception
      branch data (to be used with lcov_branch_coverage=1).
    - Modified geninfo_intermediate=auto behavior to default to no
      intermediate file processing if geninfo_no_exception_branch is set
      and the intermediate file has text type, because the text
      intermediate format does not have the necessary branch info.
    
    Signed-off-by: Jesus Gonzalez <jgonzalez@gdr-sistemas.com>

commit 894cd88b06834d80f6b344371295fc07173eeb70
Author: William A. Kennington III <wak@google.com>
Date:   Mon Mar 18 20:17:46 2019 -0700

    genhtml: Fix applying prefix to a prefix filename
    
    Currently, if you have source code that lives in the top-level of your
    project but you have that top-level set as a prefix, genhtml will not do
    anything to truncate the prefix for the directory link.
    
    Assume genhtml is called with `--prefix /home/wak/project`
    Example layout:
    /home/wak/project/lib.cpp
    /home/wak/project/test/test_lib.cpp
    
    This would result in generating an index.html with Directories:
    /home/wak/project
    test
    
    This is not expected. Looking at the convention for top level
    directories, we should be calling these directories "root".
    
    With the patch applied, the index.html has Directories:
    root
    test
    
    Signed-off-by: William A. Kennington III <wak@google.com>

commit a942cc21c9d74bbe8511468856716d9a7cfaacce
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Aug 5 18:38:16 2020 +0200

    genhtml: Add more demangler options
    
    Function name demangling doesn't work when using LCOV in Cygwin to
    generate coverage for code compiled with MinGW-based compilers. The
    demangling tool must be changed to c++filt.exe and the command line
    option --no-strip-underscores must be specified.
    
    Provide new genhtml configuration file options to make these aspects
    configurable:
    
      # Name of the tool used for demangling C++ function names
      genhtml_demangle_cpp_tool = c++filt
    
      # Specify extra parameters to be passed to the demangling tool
      genhtml_demangle_cpp_params = ""
    
    Based on patch by Ion Gaztañaga <igaztanaga@gmail.com> with the
    following changes:
    
      - Reword commit message
      - Use configuration file directives instead of new genhtml command
        line options
      - Remove unnecessary option checks
      - Change no_strip directive to more flexible params directive
      - Add directives to lcovrc sample file
      - Add description to lcovrc man page
      - Add tests
    
    Suggested-by: Ion Gaztañaga <igaztanaga@gmail.com>
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 951b88a3f1a22ac3a7bbb167bd730c4ed2613c89
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Aug 5 16:24:08 2020 +0200

    tests: Minor improvements
    
    Use bash built-in typeof instead of separately packaged 'which' command
    to determine path to time binary. Also re-use TOPDIR-specification if
    available.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e91ec6eb53795de5a7bbe34ca223399312ce1650
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Aug 4 12:26:25 2020 +0200

    tests: Minor test improvements
    
    1. Ensure that a keyboard interrupt signal terminates a test run
    2. Check required Perl modules before running tests
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit bee8ae7130987730bb819044481d22c25803181d
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jul 31 16:16:56 2020 +0200

    man: Add clarification regarding file patterns
    
    Add a note the the lcov and geninfo man pages to clarify that patterns
    used to match source code file names must be specified to match the
    absolute path of such files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 1508b88c6fc8cdd3163038e49f9f0e3305c0645e
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Jul 30 13:15:14 2020 +0200

    geninfo: Change gzip decompression module
    
    Perl module PerlIO::gzip may not be present on all distributions. Switch
    to using IO::Uncompress::Gunzip instead which is a Perl core module
    since Perl 5.10.
    
    Note: IO::Uncompress:Gunzip is included in packages named
    perl-IO-Compress or libperlio-gzip-perl on some distributions.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 72dacbeda8c754bacf58777ade0e5b24d9e8124c
Author: Jesús González <jgonzalez@gdr-sistemas.com>
Date:   Wed May 27 02:40:24 2020 +0200

    Fixed processing GCOV intermediate format.
    
    The tracefiles now include line, function and line summary entries
    (LF, LH, FNF, FNH, BRF and BRH) when processing GCOV text or json
    intermediate format.
    
    This makes the diff test to pass again when using GCOV versions that
    support text or json intermediate format.
    
    Signed-off-by: Jesus Gonzalez <jgonzalez@gdr-sistemas.com>

commit b668fab257931356bfb21ec9c89944143b5855e6
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Jul 23 12:56:54 2020 +0200

    tests: Fix subdirectory testing
    
    Ensure that specifying a subdirectory via the TESTS variable works
    as expected.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 5825e286b015884ff072e27f083bfa6f3298d176
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Jul 23 12:16:41 2020 +0200

    tests: Provide option to specify tool parameters
    
    Provide LCOVFLAGS and GENHTMLFLAGS parameters that can be passed via
    make to modify the corresponding tool command lines used for testing.
    
    Also add information about supported make variables to the README file.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 3926d58ff311e0d7e579f1dbfa29ac8a1c951358
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jul 3 17:35:22 2020 +0200

    tests: Simplify test Makefiles
    
    Adding new tests should be much simpler now:
    
      - create new testcase executable
      - add executable name to Makefile TESTS variable
    
    For more information see tests/README.md
    
    Also rename sub-directory "test" to "tests" and make target to "check".
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 40580cd65909bc8324ae09b36bca2e178652ff3f
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date:   Fri Oct 4 10:11:47 2019 +0200

    Allow to override man page date
    
    Without this patch, man page mtime would be updated by a sed call
    in install.sh and then written here as text into the output:
    
    +++ /usr/share/man/man5/lcovrc.5
    -.TH lcovrc 5 "uq2000-02-02" 2019\-06\-22 "User Manuals"
    +.TH lcovrc 5 "uq2000-02-02" 2034\-07\-24 "User Manuals"
    
    For files older than SOURCE_DATE_EPOCH, the mtime is still used
    to give more meaningful results.
    
    See https://reproducible-builds.org/ for why this is good
    and https://reproducible-builds.org/specs/source-date-epoch/
    for the definition of this variable.
    
    Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>

commit 4ff2ed639ec25c271eb9aa2fcdadd30bfab33e4b
Author: Daniel P. Berrangé <berrange@redhat.com>
Date:   Mon Jun 17 12:43:53 2019 +0200

    bin: remove outdated FSF mailing address from license boilerplate
    
    The FSF address used in the license boilerplate text is no longer
    correct since their offices have relocated. Rather than introduce
    the new mailing address which will inevitably change again in the
    future, use the website address which is more permanent.
    
    The main COPYING file already had the correct mailing address and
    is not desirable to change that to the URL since it is a legal
    document.
    
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

commit 75fbae1cfc5027f818a0bb865bf6f96fab3202da
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 24 17:16:56 2019 +0200

    geninfo: Add intermediate JSON format support
    
    This change adds support for parsing the output of gcov's intermediate
    JSON file format as implemented by GCC version 9.
    
    Note: The way that the intermediate file format support is implemented
    in geninfo removes the need to parse .gcno files directly. Since geninfo
    does not include support for parsing GCC 9 .gcno files, using the
    intermediate format is the only option for geninfo to collect coverage
    data generated by GCC version 9.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri May 24 16:56:52 2019 +0200

    geninfo: Add intermediate text format support
    
    This change adds support for parsing the output of gcov's intermediate
    text file format as implemented by GCC versions 5 to 8.  The use of the
    gcov intermediate format should increase processing speed. It also
    provides branch coverage data when using the --initial command line
    option.
    
    Users can control whether geninfo uses the intermediate format via the
    geninfo_intermediate configuration file option. Valid values are:
    
         0: Use normal text format
         1: Use intermediate format
      auto: Use intermediate format if available. This is the default.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit aa56a43774e54955f5ca7ab798a7b0babdd13cb1
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Apr 4 17:22:28 2019 +0200

    genhtml: Maintain order of branches in unnamed blocks
    
    Branch data that is reported by gcov before a block number is shown in
    genhtml output before all other branches for that line. This can lead to
    confusion when trying to correlated branch coverage data with code
    constructs.
    
    This problem occurs because lcov assigns a '-1' as block number for
    this branch data. During internal processing this value is converted to
    2^32-1. When genhtml creates branch coverage output it sorts these
    branches last.
    
    Fix this by converting block numbers 2^32-1 back to -1 when reading
    coverage data in genhtml
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: mueller_ja@gmx.net

commit 94dc428f0cf0a613f46b483806c5d737e9b1e2cf
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon Mar 4 17:13:10 2019 +0100

    man: Fix missing parameter in genhtml synopsis
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 6c7ad581ab9ed66f80050970c0d559c6684613b7 (tag: v1.14)
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Feb 28 18:01:39 2019 +0100

    lcov: Finalize release 1.14
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 29814f18ec207ebaefa7b41f6e5acc4eca6d7a7a
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Feb 28 17:31:17 2019 +0100

    geninfo: Fix missing FN: entries in result files
    
    geninfo sometimes fails to correctly collect function starting lines for
    some source files, resulting in output files with missing FN: lines.
    Also such functions are missing from the function list in HTML output.
    
    The problem occurs when
      a) multiple source files contribute to a function implementation (e.g.
         via including code), and
      b) the source file that contains the initial function definition
         is not the source file that contains the most function
         definitions
    
    The problem occurs due to a heuristic in function graph_find_base() that
    incorrectly determines the source file for a function in this situation.
    
    Fix this by using the first file that contributes to a function as the
    base source file for that function. Only apply this change to data
    collected using GCC versions 4 and above since earlier versions did not
    produce stable file orders in graph files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: Joshua Cranmer

commit 74bae96e8ef724eb9dbdf126adad17505375e149
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Feb 28 16:15:22 2019 +0100

    Makefile: Make Perl path install-time configurable
    
    Add support for specifying the Perl interpreter path used in installed
    Perl scripts. If no path is specified, the default '/usr/bin/perl' is
    used.
    
    Set variable LCOV_PERL_PATH to specify a different path, for example:
    
      make install LCOV_PERL_PATH=/usr/local/bin/perl
    
    Unset this variable to keep the current path:
    
      make install LCOV_PERL_PATH=
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 0b378cba2c0f93d728627aa8750849d3c33de0e1
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Feb 28 14:21:18 2019 +0100

    bin,test: Use /usr/bin/env to locate script interpreters
    
    Make use of the /usr/bin/env tool to locate script interpreters. This is
    needed to locate the correct interpreter in non-standard environments.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Suggested-by: Bjørn Forsman <bjorn.forsman@gmail.com>
    Suggested-by: Mario Costa

commit 2ff99aefbd0c80fe0cfddf1e09a596d7344533e1
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Feb 28 14:09:42 2019 +0100

    bin/*: Remove '-w' from interpreter specifications
    
    Replace '-w' flag from Perl interpreter specifications with 'use strict'
    directive. This is done in preparation of using a more flexible
    interpreter specification.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit 3b378b0e76be95971680056d864d0e13f4a08557
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Wed Feb 27 16:33:42 2019 +0100

    geninfo: Fix errors while resolving /././ path components
    
    Trying to collect code coverage data for source code that contains
    repeat ./ references in a path components fails with the following
    error message:
    
      geninfo: WARNING: cannot find an entry for <name>.gcov in .gcno file,
               skipping file!
    
    This is caused by a bug in path normalization function
    solve_relative_path() that does not correctly process adjacent ./
    references.
    
    Fix this by repeating the resolution of ./ references in path
    components.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: Joshua Cranmer

commit 42b55f5a497d2286566d0dd411e3e52fd4d50469
Author: iignatyev <igor.v.ignatiev@gmail.com>
Date:   Wed Feb 6 11:35:02 2019 -0800

    geninfo: preserve-paths makes gcov to fail for long pathnames
    
    geninfo uses '--preserve-paths' gcov option whenever gcov supports it, this
    forces gcov to use a whole pathname as a filename for .gcov files. So in cases
    of quite large pathnames, gcov isn't able to create .gcov files and hence
    geninfo can't get any data. The fix replaces usage '--preserve-paths' with
    '--hash-filenames' when it is available.
    
    Signed-off-by: Igor Ignatev <igor.v.ignatiev@gmail.com>

commit 04335632c371b5066e722298c9f8c6f11b210201
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Fri Jan 11 13:53:33 2019 +0100

    geninfo: Fix "Can't use an undefined value" error
    
    When run on data for source code that causes gcc 8 to generate
    artificial functions, geninfo emits warnings and eventually aborts
    processing:
    
      geninfo: Use of uninitialized value in hash element at
               /usr/local/bin/geninfo line 3001.
      geninfo: Can't use an undefined value as an ARRAY reference at
               /usr/local/bin/geninfo line 2889.
    
    This problem was introduced by commit 9aa0d14a ("geninfo: Ignore
    artificial functions during --initial"). It is the result of an
    incomplete removal of artificial functions from internal data.
    
    Fix this by explicitcly removing known artificial functions after
    parsing of graph files completes.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: Steven Peters <scpeters@osrfoundation.org>

commit 9aa0d14af4446ef46d80356849a97bc961a91f97
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Jan 10 13:20:15 2019 +0100

    geninfo: Ignore artificial functions during --initial
    
    Graph files generated by gcc 8 may contain "artifical" functions that do
    not exist in a source file. geninfo incorrectly generates coverage data
    for these functions when run with option --initial.
    
    Fix this by filtering out artifical functions when generating initial
    coverage data.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: Marcin Konarski <marcin.konarski@codestation.org>

commit 1e0df571198229b4701100ce5f596cf1658ede4b
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Thu Jan 10 11:39:07 2019 +0100

    geninfo: Fix data collection for files containing templates
    
    When using gcc 8, lcov/geninfo produces corrupt coverage output for
    source code that contains templates or other constructs that cause gcov
    to produce multiple versions of output for some lines and branches.
    
    This is caused by an incorrect check for duplicate output in function
    read_gcov_file() that is triggered when a template consists of multiple
    lines, or contains branches.
    
    Fix this by ensuring that duplicate lines in per-instance gcov output are
    correctly ignored. Only the initial occurrence of each line containing
    the combined coverage of all instances will be processed by geninfo.
    
    Note that for branch coverage, gcov doesn't provide a combined view and
    geninfo processes all branches provided. This should not be a problem
    though as genhtml will combine the branch data when generating HTML
    output.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit abd8bed2b013334d4ef978abadbfff6cc6f3d55d
Author: MarcoFalke <falke.marco@gmail.com>
Date:   Tue Jan 8 12:49:00 2019 +0100

    genhtml: Unconditionally include anchor for each named line
    
    This helps with referencing the line in the html when sharing links.
    
    Signed-off-by: MarcoFalke <falke.marco@gmail.com>

commit 28675dc7564aaa1ad231a7ac23106512a3956d68
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Dec 18 13:07:58 2018 +0100

    genhtml: Use gmtime for SOURCE_DATE_EPOCH conversion
    
    By changing that localtime to gmtime the "Known bug" section of the
    commit message can be removed.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Suggested-by: Bjørn Forsman <bjorn.forsman@gmail.com>

commit 180286bec651928c41de4d6ce3a8760678b38f60
Author: Bjørn Forsman <bjorn.forsman@gmail.com>
Date:   Tue Dec 4 14:30:28 2018 +0100

    genhtml: honor the SOURCE_DATE_EPOCH variable
    
    Implement the SOURCE_DATE_EPOCH specification[1] for reproducible
    builds. If SOURCE_DATE_EPOCH is set, use it as timestamp instead of the
    current time.
    
    In this context, reproducible builds means reproducible HTML coverage
    reports.
    
    Known bug: the specification[1] says to defer converting the timestamp
    to local timezone at presentation time. This is currently not happening;
    it's converted at build time.
    
    [1] https://reproducible-builds.org/specs/source-date-epoch/
    
    Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>

commit 41e07cadeeae3054ac22202d5b0b0f0ef6e26467
Author: Bjørn Forsman <bjorn.forsman@gmail.com>
Date:   Tue Dec 4 14:30:27 2018 +0100

    Tolerate CDPATH being set
    
    If CDPATH is set, cd will print the path it enters, resulting in TOOLDIR
    containing the path twice, separated by a newline.
    
    Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>

commit a3bbe8f0398a3c36b4228cc173e4739d27a863e1
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon Dec 10 13:58:10 2018 +0100

    CONTRIBUTING: Clarify patch format requirements
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit e6750800fe4cb89eda1ff80b7a5fe70fe87ede36
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Tue Nov 13 17:28:17 2018 +0100

    geninfo: Fix accounting of basic blocks in exceptional paths
    
    Basic blocks that are not executed and are only reachable via
    exceptional paths are marked with a '%%%%%' marker in the GCOV output of
    current GCC versions. Fix geninfo to also recognize this marker.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Reported-by: trotux (github user)

commit 94eac0ee870e58630d8052dca1181b0cf802525f
Author: Peter Oberparleiter <oberpar@linux.ibm.com>
Date:   Mon Jul 16 13:24:58 2018 +0200

    lcov: Fix branch coverage summary
    
    When combining two data files A (without branch coverage data) and B
    (with branch coverage data), lcov will incorrectly report no branch
    coverage data for the resulting file in program output, even though the
    resulting file contains branch coverage data. This only happens when A
    is specified first during the add operation.
    
    This is due to a bug in lcov that loses the correctly combined branch
    coverage data internally in function brcount_db_combine() when its first
    parameter is undefined. Fix this by ensuring that the first parameter is
    an empty hash reference instead.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>

commit a5dd9529f9232b8d901a4d6eb9ae54cae179e5b3
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Mar 7 14:18:55 2018 +0100

    geninfo: Add gcc 8 support
    
    Fix errors and incorrect data when trying to collect coverage data
    for programs compiled with gcc 8.
    
    Covers the following gcov-related changes in gcc:
    
    .gcov-file format:
      - Line coverage data can appear multiple times for the same line
      - Line coverage count can be suffixed by '*' to indicated unexecuted
        basic blocks in that line
    
    .gcno-file format:
      - new header field 'support unexecuted blocks flag'
      - new function record fields 'column number', 'ending line number',
        and 'compiler-generated entity flag'
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit c30d88a3a8096dbb3f968de999480c3dc2dedb5f
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Jan 30 15:12:09 2018 +0100

    genhtml: Implement option to show miss counts
    
    Add new command line option --missed that can be used to show the
    number of missed lines, functions, or branches.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 999abf2447b4df373b135dc3f8ee317350bd95f8
Author: Benoit Belley <Benoit.Belley@autodesk.com>
Date:   Fri Oct 6 10:01:28 2017 -0400

    Adding the --include and --exclude options to lcov and geninfo
    
    * The --include command-line option allows the user to specify a regular
      expression for the source files to be included. The command-line
      option can be repeated to specify multiple patterns. The coverage
      information is only included for the source files matching at least
      one of the patterns.
    
      The "lcov --capture --include" (or "geninfo --include") option is
      similar in functionality to the "lcov --extract" command-line
      option. But, by directly using applying the pattern while capturing
      coverage data one can often avoid having to run "lcov --extract" as a
      second pass.
    
    * The --exclude command-line option allows the user to specify a regular
      expression for the source files to be excluded. The command-line
      option can be repeated to specify multiple patterns. The coverage
      information is excluded for source files matching at least one of the
      patterns.
    
      The "lcov --capture --exclude" (or "geninfo --exclude") option is
      similar in functionality to the "lcov --extract" command-line
      option. But, by directly using applying the pattern while capturing
      coverage data one can often avoid having to run "lcov --remove" as a
      second pass.
    
    * On one of our code base at Autodesk, this speeds-up the generation of
      HTML code coverage reports by a factor of 3X.
    
    Signed-off-by: Benoit Belley <benoit.belley@autodesk.com>

commit b6a11368c3cdc86c4e147ccd8e539918dfe37900
Author: Ziqian SUN (Zamir) <zsun@redhat.com>
Date:   Wed Jul 19 10:58:24 2017 +0800

    Resolve some rpmlint issue in SPEC.
    
    Following messages reported by rpmlint on RHEL is fixed by this patch:
    lcov.src: W: invalid-license GPL
    lcov.src:9: W: hardcoded-path-in-buildroot-tag
    /var/tmp/%{name}-%{version}-root
    lcov.src: E: specfile-error warning: bogus date in %changelog: Fri Oct 8
    2002 Peter Oberparleiter (Peter.Oberparleiter@de.ibm.com)
    lcov.noarch: W: non-conffile-in-etc /etc/lcovrc
    
    Signed-off-by: Ziqian SUN (Zamir) <zsun@redhat.com>
    [oberpar@linux.vnet.ibm.com: Corrected license to GPLv2+]

commit a77a7628ef5377c525a0d4904cc0b73eeede4d7c
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Apr 7 15:43:28 2017 +0200

    genhtml: Reduce path resolution overhead
    
    Reduce overhead when reading coverage data files by consolidating
    calls to Cwd:cwd().
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 526c5148ac0add40ef1224d2cdabdec73ce3f899
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Apr 7 15:37:52 2017 +0200

    genhtml: Reduce load times for complex coverage data files
    
    genhtml uses a significant amount of time loading coverage data files
    containing complex branch coverage data (i.e. data with a large number
    of branches per basic block). Most of this time is spent storing
    branch coverage data in a vector-based data representation, with an
    unnecessary amount of cross-checking being done for existing branch
    data.
    
    Fix this by replacing the vector based data representation by two
    separate representations, scalar for storage and hash for processing,
    and by moving cross-checking out of the hot path. This results in a
    significant speedup at the cost of a minor increase in memory usage.
    
    Test results for "make -C genhtml_output/ SIZE=large":
    
    Original:
      6 tests executed, 6 passed, 0 failed, 0 skipped (time 768.4s, mem
      893.8MB)
    
    Patched:
      6 tests executed, 6 passed, 0 failed, 0 skipped (time 202.3s, mem
      908.10MB)
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 0f07133f184af6670bdf1edf39fca9d2e90e9ad2
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Apr 7 14:38:22 2017 +0200

    test: Add self-tests for genhtml
    
    Add some tests for checking basic functionality of genhtml.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 544a6951db25679792bb0648006a897ea564d883
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Apr 7 14:32:47 2017 +0200

    genhtml: Ensure stable block order in branch output
    
    Sort order of basic blocks in output of branch coverage data. This
    allows for a better comparison of output between test cases.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 477957fa4c6c104d5842911682ec17d6ad2d2980
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Thu Apr 6 12:28:11 2017 +0200

    lcov: Reduce load times for complex coverage data files
    
    lcov uses a significant amount of time loading coverage data files
    containing complex branch coverage data (i.e. data with a large number
    of branches per basic block). Most of this time is spent storing
    branch coverage data in a vector-based data representation, with an
    unnecessary amount of cross-checking being done for existing branch
    data.
    
    Fix this by replacing the vector based data representation by two
    separate representations, scalar for storage and hash for processing,
    and by moving cross-checking out of the hot path. This results in a
    significant speedup at the cost of a minor increase in memory usage.
    
    Test results for "make test SIZE=large":
    
    Original:
      17 tests executed, 17 passed, 0 failed, 0 skipped (time 1883.9s, mem
      2459.0MB)
    
    Patched:
      17 tests executed, 17 passed, 0 failed, 0 skipped (time 283.6s, mem
      2544.2MB)
    
    Note that this fix only applies to the lcov tool. The same work is
    necessary for genhtml.
    
    This approach was inspired by a patch by creich.3141592@gmail.com.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 3b397a3f3acdb62080e8366130758cb34703cfbf
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Thu Apr 6 09:01:36 2017 +0200

    test: Improve test framework
    
    Various improvements to lcov's self-test framework:
     - Add test case for lcov --diff
     - Add new verbosity level
     - Enable normalization of coverage data files from stdin
     - Fix lcov_add_concatenated4 test name
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 53a6ce8ef604173b6de874a534a30121392d7cd0
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Thu Mar 30 15:42:56 2017 +0200

    lcov: Add self-tests
    
    Add some tests for checking basic functionality of lcov. To run these
    tests, type:
    
            make test
    
    in either the top-level directory, or the test/ sub-directory.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 9753d5c0da107919537e91e504551e4ab3bccc2f
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Thu Mar 30 15:31:34 2017 +0200

    lcov: Fix output on stderr for --summary
    
    Some functions of lcov erroneously print informational output to stderr
    instead of stdout as expected. Fix this by inverting the "to_file" logic
    in lcov to a "data_stdout" logic. Affected functions are --summary,
    --reset and --list.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 25f5d38abad20eeaa407f62f53c3c00dfbbd0bf3
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Mar 6 09:51:00 2017 +0100

    lcovrc.5: Add genhtml_demangle_cpp default and CLI reference
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 66db744a1d63c5d3b1dee2d8a2ce76e6e06c7255
Author: Katsuhiko Nishimra <ktns.87@gmail.com>
Date:   Fri Mar 3 17:47:48 2017 +0900

    Support passing demangle-cpp option via lcovrc
    
    This patch allows users to passing the demangle-cpp option to genhtml
    via lcovrc, alongside with CUI.
    
    Signed-off-by: Katsuhiko Nishimra <ktns.87@gmail.com>

commit b6fb452addaa6a33dcb37c101879b8b5e1e0c34c (tag: v1.13)
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Dec 19 15:20:40 2016 +0100

    lcov: Finalize release 1.13
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit daca8d9febe52ccf1976240a3b48ffc350dec902
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Dec 19 14:36:00 2016 +0100

    geninfo: Fix 'unexpected end of file' error
    
    Use the compiler version as stored in the .gcno file to determine if
    the file contains function records with split checksums. This fixes
    the following problem that can occur when lcov is run using a gcov
    tool of GCC version 4.7 and above on .gcno files compiled with a
    version below 4.7:
    
      # lcov -c -d . -o test.info --initial
      [...]
      geninfo: ERROR: test.gcno: reached unexpected end of file
    
    Also add missing lcov version to --debug output.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit a90d50e97cb49ea712c94d91cdef1cc21a3c7986
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Dec 14 11:00:08 2016 +0100

    lcov: Remove use of install -D option
    
    Some versions of the install tool don't support the -D option, causing
    a 'make install' call to fail. Fix this by replacing the -D option with
    two calls to install, first to create all target directory components,
    then to install the actual files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
    Reported-by: <deanyang@tencent.com>

commit 6ec3f2398d22e605c1a8019541fb32d26d18044b
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Oct 7 09:47:35 2016 +0200

    genhtml: Fix warning with small genhtml_line_field_width
    
    On systems with Perl versions 5.21 and above, genhtml prints a warning
    similar to the following during processing:
    
      genhtml: Negative repeat count does nothing at bin/genhtml line 3854,
               <SOURCE_HANDLE> line 4.
    
    This is due to size calculations resulting in a negative number of
    padding characters when genhtml_line_field_width is lower than the size
    of the strings to pad (9). Fix this by disabling padding in these cases.
    
    Reported-by: xaizek@openmailbox.org
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit d7cc7591b3a7cc1ec95371d04e4fc46f10b3fd54
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Oct 4 09:50:52 2016 +0200

    geninfo: Fix gcov version detection for XCode 8.0
    
    The LLVM gcov version included in XCode 8.0 reports its version in a
    format that is not understood by geninfo, resulting in the wrong format
    of coverage data files being expected. Fix this by reworking gcov
    version detection in geninfo to be more robust.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 68320d932c5ee5537ae1c287fe52603ae2fecf8c
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Aug 22 15:54:56 2016 +0200

    lcov: Update installation mechanism
    
    Change default installation location to /usr/local to prevent
    conflicts with files installed by package managers (reported by
    Gregory Fong). To achieve this, rename PREFIX to DESTDIR and
    introduce actual PREFIX Makefile variable and update spec file
    to install packaged files to previous locations.
    
    Also fix spec file to not announce ownership of system directories
    (reported by and based on patch by Jiri Kastner <jkastner@redhat.com>).
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 04a3c0ed1b4b9750b2ac5060aac0e6d5a3b9da7f
Author: Benoit Belley <benoit.belley@autodesk.com>
Date:   Mon Apr 4 18:16:54 2016 -0400

    Pass --no-strip-underscore to c++filt on OS X
    
    * The --no-strip-underscope flag is necessary on OS X so that symbols
      listed by gcov get demangled properly.
    
       From the c++filt man page: "On some systems, both the C and C++
       compilers put an underscore in front of every name.  For example, the
       C name "foo" gets the low-level name "_foo". This option tells c++filt
       not to remove the initial underscore.  Whether c++filt removes the
       underscore by default is target dependent."
    
    Signed-off-by: Benoit Belley <benoit.belley@autodesk.com>

commit 632c25a0d1f5e4d2f4fd5b28ce7c8b86d388c91f
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Mar 8 10:51:51 2016 +0100

    lcov: Fix output files being created in / directory
    
    When a warning is emitted by lcov before creating an output file,
    e.g. when a negative coverage count was found while combining
    tracefiles, lcov tries to create the output file in the root
    directory (/) instead of the current working directory.
    
    This is a result of lcov's warn handler calling a temp file cleanup
    routine that changes directories to / before trying to remove its
    temporary directory.
    
    Fix this by removing the temp cleanup call from the warn handler.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit e32aab1b4c85503a6592a91326c4b362613e1d66
Author: Gabriel Laskar <gabriel@lse.epita.fr>
Date:   Wed Feb 10 09:56:18 2016 +0100

    lcov: Fix --remove pattern matching
    
    The --remove option of lcov now consider the pattern passed as parameter
    as a full path, and not only a part of the filename.
    
    This behavior was discovered by using AX_CODE_COVERAGE[1] m4 macro from
    a directory in $HOME/tmp. The macro itself calls lcov with
    `--remove "/tmp/*"`.
    
    [1]: https://www.gnu.org/software/autoconf-archive/ax_code_coverage.html
    
    Signed-off-by: Gabriel Laskar <gabriel@lse.epita.fr>

commit 79e9f281ea893b2f6498b4bad79173b1414aa055
Author: Reiner Herrmann <reiner@reiner-h.de>
Date:   Fri Oct 30 20:26:59 2015 +0100

    lcov: use UTC to get timezone-independent date
    
    The date is used for updating the time inside manpages.
    If localtime is used, the date could vary depending on the user's
    timezone. To enable reproducible builds, UTC is used instead.
    
    Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>

commit de33f51b49dc6d01a285aa73990f03e7d982beb2 (tag: v1.12)
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Oct 5 17:37:40 2015 +0200

    lcov: Finalize release 1.12
    
     - Use full git describe output as tool version
     - Update version numbers and last-changed-dates in man pages,
       spec and README file
     - Replace static CHANGES file with git log
     - Switch Makefile logic to use mktemp for generating a temporary
       directory
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 1ad4f7779b7721e311e552209e110e08bbf18fa1
Author: Denis Abramov <abramov.denis@gmail.com>
Date:   Mon Sep 21 09:29:20 2015 +0200

    geninfo: Added support for Xcode 7.0 gcov version handling
    
    With Xcode 7.0 LLVM gcov keeps version information on the first line.
    E.g. gcov --version yields: Apple LLVM 7.0.0 (clang-700.0.65)
    
    Signed-off-by: Denis Abramov <abramov.denis@gmail.com>

commit c3602ea8e598deda4afff603bb123caa98eef159
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Aug 3 11:05:51 2015 +0200

    genhtml: Allow prefix paths with spaces
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit a3572971367198ef0febe476052640bd09bec931
Author: Gilles Gouaillardet <gilles@rist.or.jp>
Date:   Thu Jul 30 14:11:57 2015 +0900

    genhtml: support a comma separated list of prefixes
    
    the --prefix option of genhtml now takes a comma separated list of prefixes
    instead of a single prefix.
    this can be required when running lcov vs projects configure'd with VPATH
    and in which source files are both in the source and build directories.
    
    Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

commit 997f32ae85717cd47d2305d7cd7ccce3ffa1abe6
Author: Gilles Gouaillardet <gilles@rist.or.jp>
Date:   Tue Jun 23 14:28:22 2015 +0900

    Fix find command line
    
    find xxx -name \*.gcda -type f -o type l
    does return :
    - all files with the .gcda suffix
    - all symbolic links
    
    the updated command line now returns
    - all files with the .gcda suffix
    - all symbolic links with the .gcda suffix
    
    Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

commit 533db4e78b54ae01e023d00c1fec5dddaaaf37e6
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 17 17:54:20 2015 +0200

    lcov: Fix capture for package files containing graph files
    
    Depending on whether package files contain graph files, data should be
    collected from the unpacked package file directly, or from the build
    directory after linking data files. This approach fixes problems when
    capturing coverage data via a package from a directory containing graph
    files.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit a2a8b376ec5e9e5082a0cbb935137d6a8f526870
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 17 17:34:33 2015 +0200

    lcov: Fix .build_directory file not being deleted
    
    Using option --to-package while capturing coverage data creates a
    temporary file named ".build_directory". Currently this file is not
    properly removed at the end of processing due to a changed CWD. This
    patch fixes this problem by reverting to the original CWD before trying
    to remove the temporary file.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit b9de825f1fe018f381c8859ee0f3f4af15122c7a
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Jun 16 13:53:00 2015 +0200

    lcov: Enable userspace package capture with only data files
    
    Previously lcov's --from-package capture mechanism required
    that .gcno files and source were present on the test machine.
    
    This patch modifies --from-package capturing to work when
    only .gcda files are present in the package captured on the
    test machine. It works by linking the .gcda files collected
    on the test machine into their natural location on the build
    machine. This requires existing .gcda files to be removed.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 0e4f0908aed3e1a071d5435c36c18cd493f0c309
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Jun 16 13:33:54 2015 +0200

    lcov: Make package handling more robust
    
    Apply some changes to --from-package and --to-package handling
    to better handle failures:
    
     - Abort if tar tool is not available
     - Abort if no data file is found in package file
     - Ensure that temporary directories can be deleted
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit f87d980929a5a06d49d0a6856f6c3314418c27ef
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue May 12 17:28:44 2015 +0200

    genhtml: Rework c++filt name demangling
    
    When running genhtml with command line option --demangle-cpp, do not
    merge function call data based on demangled function names. Instead mark
    duplicate function entries in the function view with a version suffix
    (.<number>). This resolves problems with entries for functions that
    demangle to the same name, but begin on different lines according to GCC
    (e.g. virtual destructors).
    
    Reported-by: Lukasz Czajczyk <lukasz.czajczyk@gmail.com>
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 2e872175cbba2c09c9025da2660edf0b4abb55cb
Author: Daniel Fahlgren <daniel@fahlgren.se>
Date:   Wed Apr 22 15:17:10 2015 +0200

    geninfo: make line exclusion markers configurable
    
    This patch exposes the variable $excl_line and $excl_br_line so they can
    be set in the configuration file. It is not always possible to add the
    exclusion markers to the code with reasons like third party code,
    company policy, legacy code, no commit access etc.
    
    One obvious use case is to exclude assert() from the branch coverage and
    abort() from line coverage. They are never meant to be triggered unless
    something is wrong. Other use cases can be custom error handling macros
    or macros that depend on endianness, like htons().
    
    Signed-off-by: Daniel Fahlgren <daniel@fahlgren.se>

commit 10b11eaa178976d1433007adb2188d05b8605be6
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Nov 10 17:17:23 2014 +0100

    geninfo: Ignore empty .gcno files with --initial
    
    Some versions of GCC create empty .gcno files which cause geninfo
    to abort processing with an error message:
    
      geninfo: ERROR: dummy.gcno: reached unexpected end of file
    
    Fix this problem by skipping empty .gcno files.
    
    Reported-by: Maarten Hoes <hoes.maarten@gmail.com>
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit f9d8079646aa906518c4ab7d326504e6837532a7
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Mon Nov 10 16:54:08 2014 +0100

    lcov: Fix warning when specifying --rc
    
    Current Perl versions report the following warning when using the --rc
    option of lcov:
    
      lcov: Use of each() on hash after insertion without resetting hash
      iterator results in undefined behavior
    
    Fix this warning by not modifying the hash variable that is being
    iterated on. Also add the missing whitespace fix-up of --rc parameters
    to genhtml.
    
    Reported-by: Maarten Hoes <hoes.maarten@gmail.com>
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 2a634f6caa98f979606189ec3ee98f4cac270b97
Author: Philip Withnall <philip.withnall@collabora.com>
Date:   Mon Nov 10 14:58:34 2014 +0000

    genhtml: Support relative source filenames in SF keys
    
    Some tools which generate .info files generate relative filenames for
    the ‘SF’ keys. For example, nodeunit’s lcov output does. When genhtml is
    run with --output-directory, it calls chdir() which breaks relative
    lookup of the source files. Fix that by resolving all source filenames
    to absolute paths when loading an info file, resolving any relative ones
    using the info file’s path as a base.
    
    Signed-off-by: Philip Withnall <philip.withnall@collabora.co.uk>

commit b4344c6a5d3c434ca0d801c197a09cfdeecb3f32
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Fri Sep 26 13:11:18 2014 +0200

    man: Add description for --precision and genhtml_precision
    
    Add man page sections for genhtml's command-line option --precision
    and lcovrc configuration setting genhtml_precision. Also add an
    example configuration setting in lcovrc.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit aa1217412f1e8b540010fea5ca9844b9e4699e54
Author: Euccas Chen <euchen@qti.qualcomm.com>
Date:   Fri Sep 26 12:53:29 2014 +0200

    genhtml: Implement option to specify coverage rate precision
    
    Add command line support and config file support for specifying the
    coverage rate precision, valid precision range: [1,4].
    
    Signed-off-by: Euccas Chen <euchen@qti.qualcomm.com>

commit 4d4eba1a8b5e7d2a6c5e93c0a50264da1a5c5540
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 25 09:41:59 2014 +0200

    get_version.sh: Remove - characters from release string
    
    Replace - with . in release strings to fix the following build
    error in the dist Makefile target:
    
      error: line 4: Illegal char '-' in: Release: 4-g1d44b2a
      make: *** [rpms] Error 1
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit ffbd3e08cc0871842b2205b0b73c2ae8f3ad02e8
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 25 09:25:50 2014 +0200

    genhtml: Improve demangle error message
    
    Improve error message that is shown when there are mangled function name
    entries on different lines that demangle to the same clear text function
    name.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 1d44b2a090aa933b15e4cafc1a440ccb390df92e
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Tue Jun 24 17:45:34 2014 +0200

    geninfo: Fix error when using --demangle-cpp
    
    Using genhtml's --demangle-cpp option on data produced with recent GCC
    versions (at least 4.8 and 4.9) can result in an error message similar
    to the following:
    
      genhtml: ERROR: Demangled function name _ZN3subD2Ev  maps to different
               lines (5 vs 4)
    
    The reason for this error is an unexpected sequence of lines records
    in a .gcno file. These records mention line numbers as belonging to a
    function which occur before the initial line number of that function
    as reported by the corresponding function record.
    
    Fix this problem by retaining the order of lines belonging to a function
    as found in the .gcno file. This way geninfo will consistently use the
    initial line number as reported by the function record when merging
    function data during the demangling process.
    
    Reported-by: Alexandre Duret-Lutz <adl@lrde.epita.fr>
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 566e5ec7e69a03612e1ed4961779d939af180d66
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 18 16:05:29 2014 +0200

    lcov: Remove unused files
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit c76172bfe630520e217ecc0bca8f18481c4c33b0
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 18 16:01:05 2014 +0200

    README: Fix typo
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit a6b10a41056cd10c7b735e259fee81f1865c2109
Author: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Date:   Wed Jun 18 15:50:04 2014 +0200

    lcov: Remove CVS artifacts
    
    Replace CVS specifics in the build environment and tools source with
    Git mechanisms:
     * CONTRIBUTING and README file now refer to github for the primary
       source location
     * When run from a Git repository, the tools dynamically determine the
       Git version using 'git describe'
     * When installed into the file system, the version information is
       fixed with the current Git version
     * When preparing distribution files, the version at the time of
       preparing the files is written to file ".version"
    
    Also add a .gitignore file to filter out the most frequent temporary
    file types.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit fa2a991cf6fad37fec7650b95be705df143e058a (tag: v1.11)
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri May 23 08:56:17 2014 +0000

    lcov: finalizing release 1.11

commit e2729beea0d7769ef0e992c27a294b0742a6ac77
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri May 23 08:47:10 2014 +0000

    CHANGES: update

commit 866d187602bfc2e3a8199f4e9e9430ef38f106a8
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue May 20 14:12:55 2014 +0000

    lcov: Sort branches in unnamed blocks first
    
    When processing branch coverage data, consider branches in "unnamed"
    blocks to come before other blocks on the same line, so that they
    appear in the correct order in HTML output.
    
    This is accomplished by using block number -1 for unnamed blocks,
    instead of 9999 as was previously done.  In branch data vectors, this
    is reprsented by the value $BR_VEC_MAX, which is defined to be the
    largest value representable in the field width used.  This same value
    is also used in .info files, for backward-compatibility with regular
    expressions used to parse these files.  As a result, .info files
    generated by versions of lcov with this change can be read by older
    versions, though branch results will still appear out of order.
    
    Signed-off-by: Jeffrey Hutzelman <jhutz@cmu.edu>

commit 17c0edec32193b9e8058908447d3eb403d76c8de
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu May 15 10:23:45 2014 +0000

    lcov: Update man page
    
    Add missing description for command line parameter value.
    
    Reported-by: sylvestre@mozilla.com

commit c0958139e015805cce15b60b740c735690ad4002
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Apr 14 12:14:55 2014 +0000

    genhtml: Implement option to allow HTML in test description
    
    Add lcovrc directive genhtml_desc_html to allow using HTML markup in
    test case description text.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 4f2c3aefcfcf816806da83a8609bd743eb227d37
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Apr 14 11:24:05 2014 +0000

    genhtml: Check for proper description file format
    
    Ensure that description files contain test name lines before test
    description lines. This fixes a "use of uninitialized value" warning
    in genhtml.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 3a68239905c28a7c3bfac52172a254872d6a7aa7
Author: Jonah Petri <jonah@petri.us>
Date:   Mon Apr 14 11:06:21 2014 +0000

    lcov: make geninfo compatible with LLVM's gcov
    
    These changes are needed to make geninfo compatible with LLVM's gcov:
    * Use --version rather than -v to probe version info
    * Convert LLVM gcov version numbers to the GCC gcov version they emulate
    * Translate short options into their equivalent long option capabilities
    
    Signed-off-by: Jonah Petri <jonah@petri.us>

commit a74bdeeae0383b197b1dafa44d01a54129fb3d7c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 8 13:26:04 2014 +0000

    genhtml: Reduce hash copying while adding up files
    
    Reduce copying effort and memory usage. Based on similar patch for
    lcov by olly@survex.com.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit c6b4d91fdf667cfca17213742e2e04f6281ebed4
Author: Olly Betts <olly@survex.com>
Date:   Wed Jan 8 13:14:05 2014 +0000

    lcov: Avoiding copying hashes passed to add_counts function
    
    This patch reduces memory usage - without it lcov was failing every time
    for me with out of memory errors in a VM with 1GB of RAM and 1GB of
    swap, but with it lcov completes every time.
    
    It's presumably also faster to avoid these copies.
    
    Signed-off-by: Olly Betts <olly@survex.com>

commit cf6f2e685510da62bd2eb1f386f71d57c41f4594
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Dec 13 16:09:05 2013 +0000

    geninfo: Tolerate garbage at end of gcno file
    
    Some versions of gcc produce garbage at the end of a gcno file
    when recompiling a source code file after removing some lines.
    
    This patch makes geninfo's gcno file parser more robust by assuming
    end-of-file when it finds a record that extends beyond the end-of-file.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 14286b29d076208452da6021c792ebf43552ac2c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Dec 13 15:23:27 2013 +0000

    geninfo: make gcov tool version detection more robust
    
    Don't consider gcov tool version information in parenthesis when
    determining the gcov tool version. This fixes problems where the
    version string contains a different version number in parenthesis
    before the actual gcov version.
    
    Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>

commit 0bde87338cd155af46804d77701c93ef263c3d53
Author: Sebastian Stigler <s_stigler@gmx.de>
Date:   Fri Dec 13 15:09:58 2013 +0000

    geninfo: add exclude marker for branch coverage
    
    Sometimes it can be helpful to generally use branch coverage but to
    disable it for some lines of code without excluding the line or function
    coverage too.
    
    For example if you make heavily use of assertions in your code (which is
    generally a good idea) you will see that for each 'assert(...)' exist
    one branch which is taken and one that is not. Similarly you can see the
    same phenomenon for 'delete' in C++ code.
    
    If you use the 'LCOV_EXCL_LINE' marker in such a situation both of these
    branches will be omitted from the output. But in doing so, you loose the
    ability to determine if this peace of code is genuine 'dead code' or not
    because the line coverage is omitted too.
    
    The newly introduces 'LCOV_EXCL_BR_LINE', 'LCOV_EXCL_BR_START' and
    'LCOV_EXCL_BR_STOP' marker address this problem. The usage is similar to
    the 'LCOV_EXCL_LINE' etc. markers.
    
    Signed-off-by: Sebastian Stigler <s_stigler@gmx.de>

commit 119be727596f567e83b03de384b4150b926911a3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Dec 12 14:58:44 2013 +0000

    geninfo: Fix handling of non-english locales
    
    geninfo expects gcov output in the default C locale. This isn't always
    given, for example when running in an environment where variable
    LANGUAGE is set to a non-english locale. In such cases gcov output
    cannot be correctly parsed, resulting for example in the absence of
    branch coverage data.
    
    gcov uses gettext() for writing internationalized messages. The info
    page for gettext mentions the order in which locale-defining
    environment variables are evaluated:
    
    LANGUAGE
    LC_ALL
    LC_MESSAGES
    LANG
    
    In addition, gettext implements special handling where LC_ALL=C takes
    precedence over LANGUAGE.
    
    geninfo currently only specifies LANG=C. Fix the issue by specifying
    LC_ALL=C instead.
    
    Based on fix suggestion by Sebastian Stigler.
    
    Reported-by: Sebastian Stigler <s_stigler@gmx.de>

commit 0f7bb3ebc8487b83ce9b7047c81a3655135876ea
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Dec 9 15:49:35 2013 +0000

    lcov: Added contribution guidelines

commit f83688fe27f133ef02e9ab47a435d6a5d2074932
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 2 07:29:20 2013 +0000

    geninfo: fix --no-external not working with --initial
    
    When running lcov --capture --initial together with --no-external.
    the --no-external has no effect. Fix this by applying the external
    filtering also for graph files.
    
    Reported-by: malcolm.parsons@gmail.com

commit 6a8a678046bd75aa81d30484b1817425022d71e5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 1 11:49:46 2013 +0000

    lcov: fix --config-file not being passed to geninfo
    
    Calling lcov to capture coverage data while specifying --config-file
    will result in the configuration directives of that file not being
    used during data collection.
    
    Fix this by ensuring that --config-file is passed on to geninfo.
    
    Reported-by: liuyhlinux@gmail.com

commit c3be5b6859ef280b469b6b75cf4709fc35f91ced
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu May 2 11:02:24 2013 +0000

    lcov: fix whitespace handling in --rc command line option
    
    Specifying blanks around --rc options results in the options not
    being correctly recognized, for example:
    
    This doesn't work:
    geninfo . -o - --rc="geninfo_adjust_src_path = /tmp => /usr"
    
    This works:
    geninfo . -o - --rc="geninfo_adjust_src_path=/tmp => /usr"
    
    Fix this by automatically removing whitespaces at the start and end
    of --rc options and values.

commit 4699f8d391325335777ed234e388be2e2f87478c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Apr 12 07:51:34 2013 +0000

    README: improve usage hint

commit 36e0539737198ad1bee51103f47842f13c575239
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Mar 13 10:28:07 2013 +0000

    genhtml: add time to date string
    
    Add the current time to the date information in the HTML output
    generated by genhtml. This way users can differentiate results when
    creating HTML output multiple times a day.
    
    Based on patch by sylvestre@debian.org.

commit 38fbe93c8cd8402be8e4821825fdeeaa23e8367c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Feb 22 14:09:08 2013 +0000

    geninfo: don't warn about missing .gcov files
    
    Newer versions of gcc remove .gcov files for source files that do
    not contribute instrumented lines. Remove the
    
      WARNING: no data found for file.c
    
    warning that geninfo issues in this case.

commit 29346542c30af221a2ffdfe097fbd858044b712a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Feb 1 11:44:03 2013 +0000

    genhtml: fix handling of user-specified prefixes with trailing /
    
    A trailing / in a user-specified prefix is not correctly recognized.
    Fix this by removing any number of trailing / in a user-specified
    prefix. Reported by ahmed_osman@mentor.com.

commit 5241e2afadca5f172bd0b8cafe61e20d2153f0bf
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 30 11:46:42 2013 +0000

    lcov: fix bug when converting function data in --diff operation
    
    When a patch is applied to a tracefile using command line option --diff
    and the patch changes the list of functions, the operation aborts with
    the following error:
    
      lcov: Use of freed value in iteration at lcov line 3718.
    
    Fix by applying missing calls to keys() when iterating function data
    hashes. Reported by Nasir.Amanullah@us.fujitsu.com.

commit 9ce8d8cb4f978eb80fb88ecafd52e869fab75d8f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 25 16:30:25 2013 +0000

    lcov/genhtml: fix outdated comment regarding data structure

commit c85e73a36e3f8c4e7fab888ac1536bee94a6fe56
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 25 16:29:30 2013 +0000

    genhtml: merge function data during demangling
    
    Merge function execution counts when multiple function names demangle
    to the same name.

commit 2dfafc99c1eccbb81066436845e06a868eb3c434
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 25 11:46:28 2013 +0000

    genhtml: improve function table sorting
    
    In the function table view, the initial view should show the functions
    sorted by execution count because - unlike with file names - the function
    name is not a natural order for functions (the line number would be,
    but that is not available). Also sort functions with the same execution
    count alphabetically for a stable order.
    
    Base on a suggestion by paul.bignier@hotmail.fr.

commit 331a29011709a27d2ec11c6cbd6ac51dfdaf70c6
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 23 16:52:06 2013 +0000

    genhtml: consolidate calls to c++filt
    
    When using --demanglecpp, call c++filt only once instead of per
    function. This approach can reduce the run-time for source files
    with a lot of overloaded functions significantly. Based on idea
    by olly@survex.com.

commit 49b877160b1d28cd6c3d8332d5d47c9c74420070
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jan 10 09:02:32 2013 +0000

    geninfo: make empty data directories non-fatal
    
    Emit a warning when no data file is found in a data directory
    to allow processing of additional directories.
    
    Based on suggestion by rich_drake@yahoo.com.

commit 3836c162c2864ed180df7d80fa03c70d17102edc
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Nov 13 09:58:53 2012 +0000

    geninfo: fix parsing of gcc 4.7 gcov format
    
    GCC 4.7 changes the gcov format for lines which can only be reached
    by exceptions to "=====" instead of "#####". This results in the
    following warning:
    
    geninfo: Argument "=====" isn't numeric in numeric gt (>) at geninfo
    line 1281.
    
    Fix this by handling "=====" correctly.

commit b932f94cc83c3df169c76689533336bba4de4dba
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 09:14:17 2012 +0000

    lcov.spec: back to CVS version

commit 6af00fa26e1a91a39c873ff9fa6df7fb8830ec42
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 09:12:42 2012 +0000

    lcov.spec: fix Perl dependency

commit 4eac16e93db328e86e44da40e3d5e96a0301d361
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 08:36:16 2012 +0000

    lcov: update CVS version to 1.11-pre1

commit b5c1bdddd1380be3ad12952ed2747df3744e227e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 08:20:21 2012 +0000

    lcov: finalizing release 1.10

commit 089861768a94d0f6e827539c828f19141092f529
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 08:07:54 2012 +0000

    CHANGES: update

commit 9037de17458c5d9767d201bd0599d40347a9bc41
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Oct 10 08:07:01 2012 +0000

    genhtml: handle source files in root directory gracefully

commit 68dd0f19da0d8d6e82375e09b97f7ffc22847db4
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 9 13:58:22 2012 +0000

    geninfo: add automatic detection of base directory
    
    Add a heuristic to automatically determine the base directory
    when collecting coverage data. This heuristic should cover many,
    if not most cases of build systems moving files around during
    compilation (e.g. libtool, automake, etc.). The heuristic can be
    enabled or disabled using the configuration file directory
    'geninfo_auto_base'.

commit 631d2b11bfde56ffca4568382abf5d90653c4141
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Oct 8 15:03:23 2012 +0000

    geninfo: fix missing line data after last commit

commit b1e14c4a1a0f3ccaad0c665f439624cf4588a68d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Oct 8 13:02:45 2012 +0000

    lcov: add missing help text for option --rc

commit a432efff6ee8485ec0724aca4eae79a4c390a328
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 15:53:09 2012 +0000

    lcov: updated CHANGES file and copyright years

commit 897322ecdb858f18e4a12f4716bbb08c067b6c9c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 15:20:41 2012 +0000

    geninfo: fix warning about unhandled .gcov files
    
    gcov will sometimes create .gcov files that contain no instrumented
    line. When geninfo reads .gcno files it filters out such files,
    resulting in the following warning:
    
    geninfo: WARNING: cannot find an entry for #path#to#file.gcov in
             .gcno file, skipping file!
    
    Avoid this warning by not filtering out non-instrumented lines.

commit 37d381ae99a66f59ea55d966f1da13a726d2efe8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 15:09:58 2012 +0000

    genhtml: fix source path prefix calculation
    
    Fix the following problems of the algorithm used to identify an
    optimal source path prefix:
    - the last two path components (filename and first parent
      directory) are ignored when trying to identify the optimal
      prefix
    - if a path prefix matches a longer path prefix, the weight
      of the filenames associated with the latter is incorrectly
      attributed to the former

commit 263de2b40e21193ef8d11e899eb55aa52b17225d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 12:00:57 2012 +0000

    lcov: set default for branch coverage data to disabled
    
    Collecting branch coverage data can significantly slow down
    coverage data collection and processing of data files. Assuming
    that most users are more interested in line/function coverage,
    change defaults to not collect/process branch coverage data.
    
    Users can still override this default using lcov_branch_coverage=1
    in the lcovrc file or command line option --rc lcov_branch_coverage=1

commit 7e04a152683ff66e24b87f2125474c6765d4524b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 11:49:30 2012 +0000

    geninfo: fix problems with adjust_src_path option
    
    Fix the following problems with adjust_src_path:
    
     * specifying --compat libtool=on and geninfo_adjust_src_path
       unexpectedly sets --compat libtool=off
     * path components that are assembled from sub-directory names are
       not correctly adjusted

commit 74e4296b6e2a0b0f164c6828c28cc82449344f08
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 5 08:23:06 2012 +0000

    lcov: add setting to disable function and branch coverage
    
    Add two new configuration file settings:
    
     * lcov_function_coverage and
     * lcov_branch_coverage
    
    When set to zero, lcov will skip the corresponding coverage data
    type from being collected or processed, resulting in reduced
    memory and CPU time consumption and smaller data files.

commit 37bc1a1a5f721c6b88fff4c63121c1cbb794c14f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 2 14:29:57 2012 +0000

    lcovrc: clarify meaning of geninfo_external in man page

commit fc4b9e21efe8f3409d9b0b90cfe7a3e8bc59a74c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 2 09:12:38 2012 +0000

    geninfo: fix processing of pre-3.3 gcov files
    
    When trying to collect coverage data for programs compiled with
    GCC versions prior to 3.3, geninfo skips each data file with the
    following warning:
    
    geninfo: WARNING: cannot find an entry for test.c.gcov in .bb file,
    skipping file!
    
    Fix this by deriving the source code filename from the gcov filename
    in case the gcov files do not follow the GCC 3.3 format.
    
    Reported-by: georgysebastian@gmail.com

commit d1014dfcabfee2f305278a14ec8e5343e3889139
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 24 11:43:18 2012 +0000

    lcov: fix problems with --rc option
    
    Fix error "Invalid option linkage for \"rc=s%\"" when running lcov
    with an older version of the Getopt::Long module. Also pass --rc
    options through lcov to geninfo.

commit a9f08b79e2e7ec2b4a5c9ad27a077df8dfb46890
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jul 24 15:41:38 2012 +0000

    geninfo: implement rc option geninfo_adjust_src_path
    
    Provide a new lcovrc file option geninfo_adjust_src_path that users
    can use to change incorrect source paths.
    
    Inspired by patch by ammon.riley@gmail.com.

commit 108f805788590defda99fdf252bfb71cb749f31e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jul 19 13:12:35 2012 +0000

    lcov: implement command line option --rc
    
    Users can now use command line option --rc to override configuration
    file directives.

commit eeeeeca74706e88a9b8ecfef2bb3451957512e20
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 18 12:56:21 2012 +0000

    lcovrc: add description for geninfo_compat setting

commit f842e46149b48ff316e80f68f630bf94085e4d19
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 18 12:40:56 2012 +0000

    lcov: improve --compat description

commit 392a690ba31092857f7d21d0008783d87954ebce
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 18 12:13:00 2012 +0000

    lcov: add missing documentation for --compat option
    
    Add missing sections in the geninfo and lcov man-pages for the
    newly introduced command line option --compat. Also set the
    default value for the hammer compatibility mode to 'auto' to
    keep the behavior of previous releases.

commit 691cab3e3aaebc295c2cfe91c43c6a7c48f1ec2b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 18 10:40:12 2012 +0000

    lcov: fix extra closing parenthesis in comment

commit cef6f0ff8baa9b2b3dfb437463e7a88d3380b555
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jul 17 11:37:13 2012 +0000

    lcov: make 0%/100% exclusive to no/full coverage rate
    
    Ensure that coverage rates 0% and 100% are only used when no or all
    lines/functions/branches are hit respectively. This approach is
    implemented to allow better identification of boundary cases, and
    to be in accordance with the behavior of the gcov tool.
    
    Based on suggestions by: Paul.Zimmermann@loria.fr and
    vincent@vinc17.net

commit 9cec8f7e332258c9128f1c53d61acb9f0bc17085
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 11 14:09:27 2012 +0000

    geninfo: more improvements to the .gcno format auto-detection
    
    Suggestions by garnold@google.com:
    - rename command line setting
    - simplify logic

commit 0bbca3bd0c1ad3e3d3fd0b6eebfc3afbbc212a85
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jul 6 14:29:27 2012 +0000

    geninfo: rename compatibility setting to compatibility mode

commit f30fb978662996e29517c733218292a91f5fd12b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jul 6 09:03:27 2012 +0000

    geninfo: improve detection of gcc 4.7 function records
    
    Suggestions by garnold@google.com:
    - perform detection only once
    - add warning in case detection is off but overlong strings are found
    
    Misc:
    - add help text for --compat
    - isolate detection heuristic into separate function
    - rename corresponding compatibility setting to "gcc_4_7"
    - allow "android_4_4_0" as alias for "gcc_4_7"

commit 01321c3f170e5d24ffb3bb998441c99f5b775836
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 4 16:06:10 2012 +0000

    geninfo: enable auto-detection of gcc-4.7 function record format
    
    gcc-4.7 introduced a modified function record format. This format
    is in use by android toolchains and has also been ported to some
    pre-4.7 versions of gcc. Introduce a heuristic-based auto-detection
    to correctly handle .gcno files in these cases.

commit d929600a0e2133168085e5ddea7ee832afd902b7
Author: Martin Hopfeld <martin.hopfeld@sse-erfurt.de>
Date:   Fri Jun 8 14:19:49 2012 +0000

    geninfo: Make geninfo work more reliably on MSYS
    
    Using the lcov tools on Win7 with MSYS and MinGW 4.5.1/4.5.2
    raised some issues for us:
    
    geninfo created in the for one source file in the 'SF:' line
    paths starting with a lowercase drive letter and sometimes
    starting with uppercase drive letters.
    
    This lead to inaccurate coverage results on the MSYS platform.
    
    This patch fixes this issue.

commit 5b2751854aa19e6443fdc5fecc139595988d1e99
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon May 7 16:04:49 2012 +0000

    lcov: add perl version dependency to RPM spec file
    
    lcov CVS (1.10 pre) seems to be broken on MSYS with perl 5.6.1.
    The issue is the following:
    
      genhtml: Unknown open() mode '>>&' at /usr/bin/genhtml line 5512.
    
      $> perl genhtml --version
      genhtml: LCOV version 1.10 pre (CVS 1.58)
    
      $> perl --version
      This is perl, v5.6.1 built for msys
    
    Fortunately perl v5.8.8 is available for MSYS and genhtml works like a
    charm with that 'new' version.
    
    Reported-by: Martin Hopfeld <martin.hopfeld@sse-erfurt.de>

commit 83957a145d243cad0f8060e4a9ccc6cb8ed8fc09
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Apr 10 11:48:52 2012 +0000

    geninfo: add support for gcc 4.7 .gcno file format
    
    Based on patch by berrange@redhat.com.

commit 91c91dbc63d1e880d106919300c2fb37737697b0
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 20 11:53:57 2012 +0000

    lcov: add new command line option --compat
    
    Add new option to lcov and geninfo to specify compatibility settings.
    
    Supported settings:
      libtool: same as --compat-libtool
      hammer: gcc3.3 hammer patch compatibility
      android_4_4_0: android toolchain 4_4_0 compatibility

commit 9588355790a302da680eff2f664058f78439a03e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 11 08:29:21 2011 +0000

    lcov: fix problem with Objective-C functions
    
    Fix geninfo not recognizing function entries for Objective-C functions.
    
    Based on patch by abrahamh@web.de:
    current version of lcov unfortunately not support Objective-C files.
    In details the count of tested function is zero always and the annotated
    lines have an offset by one if the Objective-C method have one ore more
    arguments.

commit e1acd78d1e88fe51aad96badf32555c470ee029b
Author: Martin Hopfeld <martin.hopfeld@sse-erfurt.de>
Date:   Mon May 23 08:03:13 2011 +0000

    geninfo: Make geninfo handle MinGW output on MSYS.
    
    This patch converts path mixtures from MinGW when running on MSYS to
    correct MSYS paths.
    
    In solve_relative_path() an additional conversion step will be inserted
    when running on MSYS. This will extract the drive letter and convert the
    remaining path from Windows pathnames to Unix Paths, which are used by
    MSYS.
    
    Additionally, if no drive letter is found, the (relative) path is
    converted to Unix style. There may be the case where Windows and Unix
    path separators are intermixed within one path string.

commit ed161e3db5cd5a7c6c8b2113930c729f001cdd4e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Dec 16 08:11:22 2010 +0000

    genpng: handle empty source files
    
    Generating an overview PNG image for an empty source code file fails.
    Handle this case by assuming a single empty line when run for an empty
    source code file.
    
    Reported by: sylvestre@debian.org

commit 95e2c5c337d281b4e88144d95d29bbec183c8728
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Dec 7 08:40:09 2010 +0000

    genhtml: add note to further explain branch coverage output

commit b1c66916151dd4b20998c79f81edf174659ebb14
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Dec 7 08:29:45 2010 +0000

    genhtml: fixed incorrect description of default coverage rates

commit 1994be7d8ed472772b884063af74235f2f25ab39
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Nov 19 16:33:25 2010 +0000

    geninfo: add missing man page sections
    
    Add sections describing options --derive-func-data and --no-markers to
    the geninfo man page.

commit 01a393ef76092e43ebd2d8bf7892ebf375481a84
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Nov 19 16:15:27 2010 +0000

    geninfo: remove help text for unimplemented parameter
    
    Parameter --function-coverage was removed but the help text still
    mentions it. Fix this by removing the option from the help text as
    well.

commit b92f99d9db0af131080c462300dc9baf292a8ff6
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Nov 19 16:00:22 2010 +0000

    genhtml: handle special characters in file and directory names
    
    HTML special characters (e.g. '<') found in file or directory names are
    not correctly shown in HTML output. Fix this by correctly escaping such
    characters.

commit 17e158d4569d25218e79901e2d8cd03bfc7752fc
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Nov 19 15:45:01 2010 +0000

    gendesc/genhtml/geninfo/genpng/lcov: handle '<' in filenames
    
    Use 3-arg open mode to prevent that a special character (e.g. '<')
    found in a user-specified filename interfers with the required open
    mode for that file.

commit b87e40e475c560bdc88206df4de6dc8cf094d91f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Nov 19 15:11:53 2010 +0000

    geninfo: ignore <built-in>.gcov files
    
    The gcov tool will sometimes create a file <built-in>.gcov for code
    which was added by gcc itself during compilation. Since there isn't
    any source available for such code, geninfo will fail. Fix this
    by skipping these files while capturing code coverage data.

commit 398d8f385423927b5675c1429f58c67b6a89a1a8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Oct 28 14:17:57 2010 +0000

    geninfo: add function comment
    
    Add comment explaining data structures used by function derive_data.

commit f5c2072e0e7195d35455db50705884e7f6c5fbe5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Oct 28 14:16:34 2010 +0000

    geninfo: apply exclusion marker to derived function data
    
    When option --derive-func-data is used together with exclusion markers,
    function data for excluded lines is still included. Fix this by
    only deriving function data for lines which are instrumented and not
    excluded.
    
    Reported by: bettse@gmail.com

commit 82280b8a5a78e8a147c333c8850a556729d9d96d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Aug 31 08:19:03 2010 +0000

    geninfo: improve --debug output

commit 6375a03010cb1bb22490b9d19a176188940e2f8b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Aug 31 08:17:23 2010 +0000

    gcov: add configuration file option to not use gcov's -a option
    
    lcov calls gcov while specifying its --all-blocks option to get more
    detailed branch coverage data per line. It turns out that this option
    is broken on many versions of gcov, resulting in an endless loop while
    processing some gcov data files. There's also a slight performance
    penalty when specifying -a.
    
    lcov users can opt to not use the -a option by setting configuration
    option geninfo_gcov_all_blocks to 0 in the lcovrc file.

commit 7706fb73ebef8060fbbd92c0e08b5d68a2cd284e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Aug 24 16:15:53 2010 +0000

    lcov: add option to specify a configuration file
    
    Provide an option for users to specify a configuration file to lcov.
    This option may be useful when there is a need to run several instances
    of a tool with different configuration file options in parallel.

commit a404dafc2da12608a936afeb095d68410fa49b0a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 23 16:14:37 2010 +0000

    lcov: add option to display summary coverage information
    
    Provide an option for users to determine the summary coverage
    information of one or more tracefiles. Example output:
    
    Summary coverage rate:
      lines......: 26.0% (78132 of 300355 lines)
      functions..: 34.9% (8413 of 24081 functions)
      branches...: 16.9% (32610 of 193495 branches)

commit 526b5b6a43f2b29f11eb02c1dd8f645293d8c295
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 23 14:47:43 2010 +0000

    lcov: add option to exclude external files
    
    Implement an option for users to specify that external source files
    should be excluded when capturing coverage data. External source files
    are files which are not located in the directories specified by the
    --directory and --base-directory options of lcov/geninfo.

commit c2255a0344648dc6eaef0189c53f345fdc70ed4e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 20 14:58:48 2010 +0000

    lcov: pass --no-recursion to geninfo
    
    When specifying --no-recursion, make sure that the option is also passed
    to the helper tool geninfo.

commit 83543f3d21b5a5496b57c8d73e8e9c1819f82f34
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 20 14:31:59 2010 +0000

    genhtml: fix HTML page title for directory pages

commit b77df8ef1a69de3809e0b0bfa5cbbe5a84f313ae
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 20 14:27:19 2010 +0000

    genhtml: make HTML charset specification customizable
    
    Provide a configuration file setting to adjust the charset specification
    used by all generated HTML pages. Also change the default charset to
    UTF-8.

commit 1ff260462a67c440dc709d34c1fadf7d64760120
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 20 13:14:50 2010 +0000

    lcov: follow Perl naming guidelines

commit f637eb8c6ecb793b64eeb6bea57c6be8501d1484
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 20 13:08:25 2010 +0000

    genhtml: add --ignore-errors option
    
    Provide a means for users to specify that genhtml should not abort if
    it cannot read a source code file. Also make handling of --ignore-errors
    parameter consistent accross lcov, geninfo and genhtml.

commit 617bced393d5bb97e3409ec140768d9c8a2e2bfb
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 6 11:25:12 2010 +0000

    lcov: update CVS version to 1.10

commit 4dcb4f0ed014ca0f49859ef84fc9ced650f6deb8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 6 11:14:38 2010 +0000

    lcov: finalizing release 1.9

commit 594779e047eed2f534905ac40912969955d3797f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 5 16:17:44 2010 +0000

    lcov: update CHANGES file in preparation of new release

commit fbbd9034e7a4ea4bc59342b22bfbe9612dd4bdb8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 5 15:11:56 2010 +0000

    lcov: introduce configuration file parameters for list output
    
    Make some aspects of list output customizable via configuration
    file parameters. Also introduce special handling, if the root
    directory is chosen as prefix.

commit c6e783c1a1d3fb6db7419af95f9e2dcb89836fe9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 5 14:07:35 2010 +0000

    lcov: switch coverage rate and number columns in list view
    
    To be more consistent with the order of output in the "Overall
    coverage rate" case, rates are now shown first in the list output.

commit 3c87b66c68c2e06811c9be479c6813cb409e5461
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 5 11:22:12 2010 +0000

    lcov: fix display of total line coverage rate in list view

commit 3cb6bc4ae0ef34aa63931d63f659f1ef43804c77
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Aug 4 16:15:19 2010 +0000

    lcov: more lcov --list improvement
    
    Further improve list output to increase readability.

commit dd98ff68ad143b985a728fc585c86d69e6027bd8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 14:49:47 2010 +0000

    lcov: minor list improvement

commit d4778c75ce8cf3c9d44607b6fd0e385db71126dd
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 14:48:25 2010 +0000

    geninfo: remove unneeded functions

commit 65a15afef3430c49c9c7c0d151cc2afec5fc83cc
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 14:19:09 2010 +0000

    geninfo: print note on branch coverage data only once

commit bd8ab633298ec27acf5f7db4b2cc4766baf1f153
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 14:17:59 2010 +0000

    geninfo: remove incorrect overall coverage rate calculation
    
    geninfo output showing the overall coverage rate of its current
    operation is incorrect since it may count lines, functions and
    branches for included files multiple times. Remove the output
    and associated code until a fixed version is available.

commit 8c54de96a1326b7ee0632773816c52eda43393e8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 13:56:26 2010 +0000

    lcov: more list output fixes

commit 7e5fa9900d991320677c381db747c764495b2cc2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 28 13:52:01 2010 +0000

    lcov: fix list output
    
    Fix list output for directories with short filenames.

commit badd4790c70bd8ef8b991a9d56d0e062b28006a8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 26 13:33:18 2010 +0000

    lcov: fix problem when using --initial and --kernel-directory
    
    Fix a problem in lcov that resulted in --kernel-directory options
    being ignored when specifying --initial at the same time.
    
    Reported by hjia@redhat.com.

commit a06c2038babb2f6d3e0a634cd298b0434041f834
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 19 16:06:15 2010 +0000

    genhtml: change wording for branches which were not executed
    
    Since gcov sometimes reports both branches which were never executed
    as well as branches which were executed in a single block, the wording
    of the HTML alt text needs to be adjusted accordingly.

commit e6b2491823ffd84c85406145031646af675170ee
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 19 15:50:02 2010 +0000

    geninfo: handle branches in unnamed blocks
    
    gcov will sometimes report branches outside of a block. In that case,
    account these branches to a special block so that they are not
    accidentally merged with subsequently reported blocks.

commit d6c82edf2117ce8b6232c998baf06c7a87269081
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 19 15:23:10 2010 +0000

    genhtml: fix branch formatting code
    
    Fix the vertical alignment of the HTML representation of branches in
    the source code view.

commit 44ac74a47e25064ad1b421f65a28d057fdb9925d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 19 14:27:08 2010 +0000

    lcov: improve list output
    
    Improve list output by separating directory and file names. Also provide
    an option to show full path names.

commit 0ab6f7507f3c4f074bec41e571ff1afbeb943185
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 19 12:12:43 2010 +0000

    genhtml: fix large numbers being shown as negative in html output
    
    genhtml uses a "%d" format string for printing execution counts. For
    counts exceeding integer range, the output becomes negative. Fix this
    by using the "%.0f" format string instead.
    
    Reported by kkyriako@yahoo.com.

commit bbf0ef40a51dd716c544f91576cffde7986bb6ec
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jun 7 12:22:18 2010 +0000

    geninfo: ensure that exclusion markers apply to --initial
    
    Fix a problem where exclusion markers are ignored when gathering
    initial coverage data.
    
    Problem was reported by ahmed_osman@mentor.com.

commit b371fc59fa52f7176f62f382457fba498f39f4b2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jun 1 13:48:29 2010 +0000

    lcov: fix problem with relative path names
    
    Fix a problem where coverage data is missing because gcov produces
    output files starting with a dot.
    
    Problem reported by weston_schmidt@open-roadster.com.

commit 93c70ddd0edbc2b0addf9d135dfd76871cc7a160
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Sun Feb 28 20:57:37 2010 +0000

    lcov: fix problem with relative paths in build paths
    
    When binaries are built using relative paths, lcov cannot find any
    coverage data. Instead, warnings similar to the following are printed:
    
    geninfo: WARNING: cannot find an entry for ^#src#test.c.gcov in .gcno
    file, skipping file!
    
    The reason for this is that File::Spec::rel2abs does not remove ../ from
    paths which results in lcov not being able to match the relative and
    absolute versions of the corresponding filenames. Fix this by using the
    internal function solve_relative_path instead.

commit fad24a75cc69364d002d40e4fb75736b0efbdb37
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Sun Feb 21 14:57:52 2010 +0000

    geninfo: write all debugging output to STDERR

commit c0943385fa0acb927f63f9f78c9aeaebe3a8ece1
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Sun Feb 21 14:56:46 2010 +0000

    geninfo: fix problem with some .gcno files
    
    Some .gcno files contain more data in a line record than
    expected. Skip unhandled bytes of a .gcno file record.
    This prevents the following unexpected error message:
    
    geninfo: ERROR: file.gcno: reached unexpected end of file

commit 4b9ee7598e991b503425148eb43a35de2702aded
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Sun Feb 7 13:07:09 2010 +0000

    lcov: add COPYING file

commit de0e43a098ade45d6624ea43a53e6fad9a176469
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 11:07:25 2010 +0000

    lcov: update CVS version to 1.9

commit 4a33269fa3a73ea2577f7616d90bd3f1d14ae460
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 10:09:53 2010 +0000

    lcov: finalizing release 1.8

commit 310ffb28d8847f96e02b5a5db3d16bdcb406a876
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 10:01:35 2010 +0000

    lcov: updated CHANGES file

commit 9e12808e6108e05dca42b5e682bd8be121f3608d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 09:21:22 2010 +0000

    genhtml: use sans-serif font for function table

commit 71baabb6a1c15228213f8b25359346ee202300ce
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 09:12:55 2010 +0000

    lcov: improve list output

commit cc61a28dbc3c46ac84340141fafbfa559e1bf318
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 08:56:19 2010 +0000

    lcov: fix overall rate display for tracefiles with more than one testcase

commit b89028529db5110b3b76d117df788768a593d7dd
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 29 08:44:47 2010 +0000

    lcov/genhtml: fix warning while merging branch data

commit b7c69f31d9b1bfbd4bfc0fcb880cb8e514bcdb3f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jan 28 15:59:23 2010 +0000

    lcov: fix branch coverage related issues
    
    - warnings when combining certain combinations of branch data
    - branches are not merged correctly when multiple input files are specified
      to genhtml or when lcov -a is used

commit 817875459df122fa3536a5e57c05ddfae19a089e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 27 16:37:50 2010 +0000

    gendesc: fix problem with single word descriptions

commit 33f60f48747b5ba12a6fdfb505bb662c922496bd
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 27 12:10:04 2010 +0000

    lcov: remove temporary files when creating a package

commit 6775457cbd3fa86acba4655d77b4ba2054b13253
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 27 12:00:05 2010 +0000

    lcov: correctly retain information about converted test data

commit f4d13eccc54f31a53ad109c3c4b86e4b52d6dfcb
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 27 10:17:43 2010 +0000

    lcov. fixed overview output for function data

commit aa00c65b7514c93320c1c787b848c8277593dcb0
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jan 26 09:36:19 2010 +0000

    genhtml: don't use too much gcc-specific terms (basic block -> block)

commit 3562f60b9500d8ad167c4629e9d95485308aa665
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:17:37 2010 +0000

    lcov: consolidate coverage rate classification limits
    
    Classifying coverage rates per coverage type (line, function or branch
    coverage) is not useful in most cases. Also the respective
    color legend takes up too much space in the HTML output. Remove
    function and branch coverage rates from the documentation and from
    the color legend. Instead the original limits will be applied to those
    coverage types as well. The per type rates can still be used if required
    but it is recommended to only use one rate set.

commit d77dc6a0adf259e322ac9f35c93241d446269a5b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:16:47 2010 +0000

    lcov: minor code cleanup
    
    - remove unused function definitions and declarations
    - remove unused CSS declarations
    - add missing function declarations
    - fix function prototypes

commit b3243d1fdc17571ca9b1ed6a1ea975a9b3f1b86b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:16:15 2010 +0000

    geninfo: consolidate similar functions

commit 739e2bca054c69975594c2570049e8aa9ae1b5ce
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:15:35 2010 +0000

    lcov: add coverage result output to more operations

commit 0a31d3c0696015c5e4878e821529eba45451c3dd
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:14:57 2010 +0000

    lcov: minor cosmetic HTML changes
    
    - top level view is now named "top-level"
    - use sans-serif font for coverage values in file list
    - use smaller font for show/hide details link
    - use smaller font for function/source view link
    - use smaller font for show descriptions link

commit b631fa0cb9aabdf18f9365423f0b0bf85d6b8e16
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:14:27 2010 +0000

    lcov: improve color legend
    
    Move color legend closer to the table containing coverage rates.

commit 2aeeeafb31c36ccd1a51051f040e29a9fcf59df2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:13:58 2010 +0000

    lcov: implement branch coverage

commit 49dfe22f41b6c3edcb774dfb89b1a807ce7aee6c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:13:34 2010 +0000

    genhtml: implement branch coverage

commit 6aa2422401bb854c9710f5ed2936f06e487848c5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:13:07 2010 +0000

    geninfo: implement branch coverage

commit ca2c9781b0a512bd6789eac2b6840405e2d87330
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 22 16:12:27 2010 +0000

    geninfo: consolidate handling of extra gcov parameters

commit 9d9c964eb6ece00b15ef068f176c68cb0eedfda0
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jan 21 11:26:34 2010 +0000

    lcov: minor fix for lcov --diff

commit 4306f81d1e8446a89fe83d20cd71abe075a3cd61
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jan 21 10:23:35 2010 +0000

    lcov: improve lcov --list output

commit 3242ce1bae94cfd859c3bc964fab11f85bd7d1ed
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 20 17:13:28 2010 +0000

    lcov: unify data order in tracefiles

commit 8f53b2e8dbbe5580050fbe0c604bd9a9322735a7
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 20 16:05:56 2010 +0000

    lcov: fix bug when applying baseline files without function coverage data
    
    Fix the following error that occurs when genthml's --baseline-file option
    is used on files which do not contain any function data:
    
    genhtml: Can't use an undefined value as a HASH reference at ./lcov/bin/genhtml line 4441.

commit 96fcd676d5ac9c1eb9f83f3dc4c3089ba478baad
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 20 15:28:21 2010 +0000

    lcov: resolve short-name option ambiguities

commit f1d34d49b394a13c33c7a5b51f04e5dfbded5d26
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 20 14:47:50 2010 +0000

    lcov: fix error messages

commit 89ff61aa7cd2ca23b8cacd649288ecf7f67746de
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 20 08:35:20 2010 +0000

    lcov: fix bug when using genhtml's --baseline-file option
    
    Fix the following error message when trying to use genhtml's
    --baseline-file option:
    
    genhtml: Undefined subroutine &main::add_fnccounts called at
    /home/oberpar/bin/genhtml line 4560.
    
    Reported by Brian DeGeeter <sixarm@gmail.com>

commit c3df3a8504b06ca32b9863fdb2abb8cf0ce62251
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jan 18 09:17:17 2010 +0000

    lcov: ensure LANG=C before calling gcov
    
    Fix problem calling lcov when LANG is not set to an english locale.
    Reported by benoit_belbezet@yahoo.fr.

commit d945f23345e02ca535d740782e7ae10cb3396b8c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Nov 18 09:39:21 2009 +0000

    lcov: more version fixup

commit 413249e6336cff432083954e6ed47236dd35f647
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Nov 18 09:38:03 2009 +0000

    lcov: fix version fixup

commit d0b7148e2d76164e5ea091fe56035c24f7dce22a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Nov 18 09:34:45 2009 +0000

    lcov: add more CVS versioning

commit 4e0219f918a15cbc9ff40d0e0e4dab91ac073f72
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Nov 18 09:14:56 2009 +0000

    lcov: add CVS revision number to version output

commit 34154c2d48497d9aad41ec1452ba94dd4cbce881
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 30 14:18:45 2009 +0000

    lcov: further clarification in the README

commit 7a4ab1340dd7f88ba0fb56a7b0eb368bf2d0112e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 30 13:58:56 2009 +0000

    lcov: update README to mention required -lgcov switch during linking

commit 3fa5b311b123af84debbd774baa4a1cd30e7085b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 27 16:54:41 2009 +0000

    lcov: remove further unneeded warning
    
    ... + use correct source for list of filenames

commit cd4051719e72129f4abf1ad177269bf14031f83a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 27 16:19:05 2009 +0000

    lcov: fix problem with matching filename
    
    - used correct source for filenames
    - converted match_filenames to portable version

commit 0d0ff8a9945260eebed6d316aa08c0021faf3549
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Oct 27 15:29:41 2009 +0000

    lcov: remove unnecessary warning

commit 6c711d664c38d18f788ee8a5239586cd4a5b77d9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Oct 26 14:21:40 2009 +0000

    lcov: improve derive-func-data option
    
    - rewrite graph file handling
    - make derive data look at all lines belonging to a function to find
      out whether it has been hit or not
    - introduce --debug option to better debug problems with graph files

commit 214cda20c4b591a823045f35b73f2a16221c9aa1
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Oct 1 15:26:58 2009 +0000

    lcov: introduce new options --derive-func-data
    
    When using a gcov version that does not provide function data,
    this option will attempt to guess the function coverage data
    for a function by looking at the number of times that the first
    line of that function was called.

commit 9a75125895fd07a775a2a25f2cbe66b9fbf332d6
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Oct 1 11:49:53 2009 +0000

    lcov: ignore incomplete function names in .bb files
    
    - don't abort processing when an incomplete function name is
      encountered in a .bb file (gcc 2.95.3 adds those)
    - fix filename prefix detection

commit d5ab6076a0bfc5ad80652ba592583f7fc7946dc6
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Sep 28 12:27:09 2009 +0000

    lcov: improve detection of gcov-kernel support

commit 3cca782fcac9c4ea54adcebe75e1f047a8dca636
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Sep 22 13:44:04 2009 +0000

    lcov: fix problem with CONFIG_MODVERSIONS
    
    Make geninfo work with Linux 2.6.31 and CONFIG_MODVERSIONS.

commit 8af873f44c104cd214b796e13b916718fc8f6f99
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Sep 16 15:24:51 2009 +0000

    lcov: remove default for gcov_dir so that auto-sensing works
    
    Fix problem with lcov not finding kernel coverage data at
    /sys/kernel/debug/gcov because the default system-wide
    lcovrc file contained a specification for the gcov directory
    which prevented auto-detection from working.

commit 50f90681af4d105a52b5b0dbf4f0bfd04369ffd2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 27 10:14:23 2009 +0000

    lcov: apply excluded lines also to function coverage data

commit 4aeb840d25c85a419171970e1a445aeb81079e53
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 27 09:23:13 2009 +0000

    lcov: fix help text typo

commit c17a783f87aa8e42949131d2fbc1c540bb3751a3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 27 09:22:43 2009 +0000

    lcov: add exclusion markers
    
    Users can exclude lines of code from coverage reports by adding keywords
    to the source code.

commit 445715c88337c13ce496bd05423ee5e58d84705c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 14 08:19:26 2009 +0000

    lcov: ignore gcov errors for unnamed source files
    
    When specifying "--ignore-errors gcov", lcov/geninfo should not abort when
    they cannot read a .gcov file. Fix this by introducing warnings in the
    respective places.

commit 0e23f03a9ce130e8ebec679fb5a9a6f854efbee5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 6 12:34:04 2009 +0000

    lcov: improvements
    
    - added --from-package and --to-package options
    - improved gcov-kernel handling

commit 17a05bdf646870cd61794274c7165211c93c82f9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Jul 23 12:45:15 2009 +0000

    lcov: fix kernel capture for new gcov-kernel version
    
    - fix problems when compiling without O=

commit 64e302b9134b6098852cad2e6180e0722f2dea41
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jul 21 15:42:44 2009 +0000

    lcov: improve lcov -l output

commit cea6941ef36d0860330b6e94f8c6096dca78ca58
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jul 21 09:10:49 2009 +0000

    lcov: add support for the linux-2.6.31 upstream gcov kernel support

commit 04470d2b25808f195d338112155b9f7db405d902
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Apr 22 09:13:12 2009 +0000

    genhtml: fix warning about undefined value used
    
    nikita@zhuk.fi:
    genhtml.patch checks that $funcdata->{$func} is defined before using
    it - I got few "undefined value used" warnings without this check.

commit a12d4f9a5d36232b928be12b7cbfaa9a00b3a923
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Apr 22 09:08:19 2009 +0000

    genpng: fix runtime-warning
    
    - when called from within genhtml, genpng would warn about warn_handler
      being redefined

commit d0b5641c62bbdac89757b9ff185a7aa3f38fc0bb
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Mar 13 09:58:00 2009 +0000

    lcov: improve function name filtering
    
    Only remove those characters from function names which would conflict
    with internal delimiters.

commit fbafa4a5628a639544e83f88083082c685677c36
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Feb 13 15:04:40 2009 +0000

    genhtml: minor man page update

commit 085a2150e38a3c1bdadb5af23c0a8a8a79dc4b0d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Feb 13 14:56:45 2009 +0000

    genhtml: added --demangle-cpp option
    
    - used to convert C++ internal function names to human readable format
    - based on a patch by slava.semushin@gmail.com

commit 53f3ed4afb45a2a4248314b677d36377598cc73c
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Feb 13 14:07:46 2009 +0000

    genhtml: update comment

commit 3c2b2e8541387506fd514d183f9a4a63c07c0aa4
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Feb 12 17:01:19 2009 +0000

    genhtml: fix error when combining tracefiles without function data
    
    - genhtml: Can't use an undefined value as a HASH reference at genhtml
      line 1506.
    - bug reported by richard.corden@gmail.com

commit 22397370ada6893b6e9a1c3f6ad0aba7f4864f81
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Feb 11 09:31:24 2009 +0000

    lcov: fix error when combining tracefiles without function data
    
    - lcov: Can't use an undefined value as a HASH reference at lcov line
      1341.
    - bug reported by richard.corden@gmail.com

commit 24ec53ae83acdd35682ba757adae23750bd4c623
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Feb 9 16:15:49 2009 +0000

    lcov: fix warning when $HOME is not set
    
    - based on patch by acalando@free.fr

commit 5da3521d5a438db0a21e93b0d14ea5a3cdab14d9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Feb 9 12:41:44 2009 +0000

    lcov: use install -pD -m <mode> for file installation

commit bdce1bda2ac1a86aa6dfefae8e18353ba57afe4b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Feb 9 09:46:00 2009 +0000

    lcov: fix double-counting of function data

commit ea62c4e701abb05dd560ef22b52a4a72c17660e8
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 21 16:33:29 2009 +0000

    geninfo: need to add CR removal to geninfo as well
    
    ... or checksumming will fail

commit 70be5df7d58a393e27cee178df669c12ec670c5a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 21 16:24:01 2009 +0000

    lcov: modify end-of-line CR removal
    
    - s///g is 10% slower than s/// - \r may be 0x10 or 0x13 (see man
      perlport)

commit d8df4b0f83ff175f1a06afb693903ee1a93ec377
Author: Michael Knigge <michael.knigge@set-software.de>
Date:   Tue Jan 20 11:41:39 2009 +0000

    lcov: remove CRLF line breaks in source code when generating html output
    
    - added patch by michael.knigge@set-software.de

commit 442cca7e69356e7f8ba03bd95f7813576bd197cc
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Nov 17 14:11:20 2008 +0000

    lcov: updated CVS version to 1.8

commit 5c5c85a1c090360facd50cb089b8af98f0b37c47
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Nov 17 13:55:52 2008 +0000

    lcov: version + date updates

commit 9f6a735809c23559b861e97a20af55a66b6b96bb
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Nov 17 13:49:43 2008 +0000

    lcov: fix spec file bug

commit 11483dc0b56d326718edcd31d06458143add858f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Nov 17 13:44:38 2008 +0000

    lcov: update error and warning messages

commit 4dd11b80d14e34fee2e75b3fe8c7aa163f61ad1d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Nov 17 12:48:03 2008 +0000

    lcov: preparations for release 1.7

commit b847ed6f3103a4c9f0a48417b9c3f160b9e00557
Author: Jeff Connelly <jeffconnelly@users.sourceforge.net>
Date:   Fri Oct 10 07:54:47 2008 +0000

    lcov: geninfo chokes on spaces in the directory name
    
    In lcov 1.6, geninfo fails to find gcno/gcda files if the source directory
    has spaces in the name, because it uses backticks to shell out to "find",
    passing $directory on the command-line.
    
    Attached is a patch that double-quotes the variable, allowing geninfo to
    operate on directories with spaces in their name. The fix isn't perfect; it
    won't work on directories with a " character, but it works fine for my
    purposes (I don't have any directories with quotes). A better fix would be
    to use IPC::System::Simple's capturex from
    http://search.cpan.org/~pjf/IPC-System-Simple-0.15/lib/IPC/System/Simple.pm
    #runx(),_systemx()_and_capturex(). capturex() is a multiple-argument form
    of the backticks, so it avoids any interpolation errors.

commit ee3cdd554ee4e6d3ef5bdc9c5dcfee50de6375a7
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 18 07:12:33 2008 +0000

    lcov: change sorting order to low-to-high coverage

commit fe665ca5ccf9d73d9ebdae17de88e181c1b9b0eb
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 15 08:38:21 2008 +0000

    lcov: several changes
    
    - update download link
    - unify webpage links
    - provide --sort and --function-coverage switch + documentation

commit 14137c5456f307982fed418e1e8fac65d7f086c3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Aug 13 15:57:23 2008 +0000

    lcov: fix function view page creation when --no-func is specified

commit e59f7d15ffc7f1b3794a4212c53d0fb97ac7fb2a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Aug 13 15:35:48 2008 +0000

    lcov: updated versioning mechanism
    
    ... + fixed some man page bugs

commit e933698b31bc2fb4a750d89a5755bb8155313da2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Aug 13 14:08:23 2008 +0000

    lcov: updated rpm description
    
    ... + summary and version strings

commit 5a9660585ce39a77fa38607d0c2d2440955e7242
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Aug 13 13:53:50 2008 +0000

    lcov: integrated function coverage patch
    
    ... by Tom Zoernen + sorting function

commit d10ede8179747cfd675a3989578350c710e9bdd5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed May 7 15:08:12 2008 +0000

    lcov: --norecursion becomes --no-recursion
    
    + added docs

commit 4096130608b9faf74c5b5feac554a10b5d9f83ce
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Feb 21 10:20:33 2008 +0000

    lcov: fix error when trying to use genhtml -b
    
    genhtml fails when the data file contains an entry which is not
    found in the base file.

commit 9578099e13388344a6179c7cce54bfa094fd9b08
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Feb 20 17:21:51 2008 +0000

    lcov: fixed problem with pre gcc-3.3 versions
    
    read_gcov_headers does not return valid results for pre gcc-3.3 versions.
    Due to an unnecessary check, parsing of gcov files was aborted. Fix
    by removing check.

commit 16ec76b48fbc50c32890919e5bd0c30653719af9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Feb 5 09:18:50 2008 +0000

    lcov: adding support for gzipped html
    
    ... based on patch by dnozay@vmware.com
    
    dnozay@vmware.com: genhtml is a great tool to generate html, but the more
    files, the more space it takes (here I have over 113MB of html generated),
    add to that I need to have different sets, and space usage increases
    dramatically (2.7GB). we are using browsers with htmlz support, so it would
    be nice to have support for that in genhtml, relying on 'gzip -S z' to do
    the job.

commit f2c98a8c8581180533508eb4af41720d8566049e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jan 7 16:33:57 2008 +0000

    Filter non-word characters in function name
    
    ... as they would break our file format which uses comma and '=' as
    field separator.

commit 37725fc78fcacaf06e6240971edc3bdd7fe3d142
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Nov 1 16:29:39 2007 +0000

    lcov: fix for problem resulting in lcov aborting with "ERROR: reading string"

commit 48f13fcec1b521d2daba6202ccd7ec0ec8c5ece9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Oct 4 08:18:07 2007 +0000

    lcov: workaround for gcc 4.1.0 .gcno file oddness
    
    scott.heavner@philips.com:
    I'm trying to use lcov 1.6 with gcov/gcc 4.1.0. The geninfo parser was
    aborting on a small number of .gcno files. I've patched my local copy so
    that geninfo prints out the offset of the error and skips the remainder of
    the problem file

commit 1a805ea068db29b63a83c801f3bb1840fda8dd35
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 24 08:50:26 2007 +0000

    lcov: add experimental option "--norecursion"

commit 194de5071db1d9903d22164432448b73c1ec6cd0
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 23 11:08:39 2007 +0000

    lcov: Makefile for post-release

commit 0750f8a3e5235833711d616a3763c04103cf55a5
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Aug 23 11:04:30 2007 +0000

    lcov: Makefile for release 1.6

commit cb911f7a79593c89a730dc93fa54179fbf1df363
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 20 10:29:35 2007 +0000

    lcov: fixed spec file

commit 62cefebdda87784140eb5f997ae4e575d2338298
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jul 6 07:38:47 2007 +0000

    lcov: add new option --initial to get zero coverage data from graph files

commit f0b6927f1ab1052b00081c662ced614a6e5f9ed7
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 4 14:38:59 2007 +0000

    lcov: fixed bug that would not delete .gcda files when using -z

commit 13941c3a159caf7dc6ba18a5b13e43c20fc18f2b
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 4 14:18:26 2007 +0000

    lcov: another update in preparation for a new release

commit d25e630a77ef2d0f69139058322269387866e414
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jul 4 13:13:22 2007 +0000

    lcov: man page update

commit 7844b915af5402441df9ab0423e4c20ef9a2632f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jul 3 16:43:05 2007 +0000

    lcov: update manpage

commit 5adaa72bfb32737d18c328492777c1c6116d4a9e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jul 2 15:29:02 2007 +0000

    lcov: preparations for new release
    
    - updated CHANGES file
    - added compat-libtool + no-compat-libtool option
    - changed libtool default to on (due to popular request)
    - added checksum option
    - changed checksum default to off (to reduce cpu time + file size)
    - added geninfo_checksum option to lcovrc, deprecated
      geninfo_no_checksum
    - added geninfo_compat_libtool option to lcovrc
    - minor update of README file

commit 6cbfd5022703a6198e1a1e2a2ddddcc0b90f5334
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue May 22 08:11:44 2007 +0000

    lcov: minor help text update

commit 2416ed02ba299c4d0bceb1e47c214b7dec066d7a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Mar 7 14:59:25 2007 +0000

    lcov
    
    - add --ignore-errors option to lcov/geninfo
    - add --gcov-tool option to lcov/geninfo
    - remove s390 test case modification in geninfo
    - restructured help text for lcov/geninfo

commit a13375811717d3ada718e6f52364e4344a7e3187
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jan 8 17:07:21 2007 +0000

    lcov
    
    - re-added libtool compatibility workaround patch by
      thomas@apestaart.org
    - added new lcov/geninfo-option --compat_libtool to activate libtool
      compatibility patch

commit 14871d7b097282819db60266d8b8a38506d7b14a
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Nov 14 11:45:17 2006 +0000

    lcov
    
    Fix for problem found by Joerg Hohwieler: lcov -k doesn't work if -k is
    specified more than once.

commit 43b52b37006822c0fca12548bc72fecc957342ca
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Jun 26 15:48:52 2006 +0000

    lcov: new version for prerelease rpms

commit 89e9d59709c9d9d8722170c86251090adc3b96c9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jun 7 09:31:57 2006 +0000

    lcov: removed autoupdate of copyright date (second thoughts)

commit bb0cf1c9d0ed58b37c1551fea765fb1622bcacde
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jun 7 09:20:37 2006 +0000

    lcov: minor cleanup (release preparations)

commit 527693d753d11ac2b59fe26b923662c99e6e3715
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Apr 5 10:10:05 2006 +0000

    lcov
    
    - added base-directory documentation
    - updated CHANGES file

commit 11ef9338cc4124801c8b61e3edd51a02e50b4c68
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Mar 20 17:09:50 2006 +0000

    genhtml: added html-extension option

commit 93d22308ffb410327248059b7dcdb592f85e249e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Mar 20 16:39:25 2006 +0000

    genhtml
    
    - adding html-prolog and html-epilog options (based on patch by Marcus
      Boerger)
    - specified behavior when both --no-prefix and --prefix options where
      provided
    - small whitespace diff

commit dcac095cdc00cc65930285bb6fc01d0f257ee4ed
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Feb 15 16:02:07 2006 +0000

    lcov: added check for invalid characters in test names

commit d89e561dfd9c5fde43350af1b145b1892d0710d0
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Dec 2 06:38:16 2005 +0000

    lcov
    
    - updated Makefile so that people building RPMs from the CVS version get
      a correct build version. Note: this needs to be adjusted after each
      release!

commit 1960123050f9098690768d10cd2490dd49b995f7
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Thu Nov 10 13:10:09 2005 +0000

    lcov
    
    - fixed bug: .info file generation with new gcc 4.x compilers may fail
      for programming languages that allow ':' in function names (c++,
      objective c)
    - removed special handling for libtool .libs files
    - libtool should work with currently undocumented option --base-directory

commit 479d446d3bf20a84c2933100ead279c79eeaf5c4
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Sep 7 16:24:39 2005 +0000

    lcov
    
    - implementation of new option --base-directory (untested, undocumented)
    - minor fix for link-traversal when looking for object directory
    
    TODO: document option (man page, online help), add to config file, check
    whether libtool fix still works

commit 770b94a3172f206de7f194c7497ebae14348b521
Author: Robert Williamson <robbiew@users.sourceforge.net>
Date:   Mon Jul 11 17:54:25 2005 +0000

    Applied patch from Stefan Kost
    
    when running lcov over an uninstalled user-space apps tests, it finds
    the .da file in the .libs directories, but does not look for the sources
    one hierarchy up. Libtool places the object in the .libs dirs. when
    running gcov manually one can specify -o.libs/ to produce a source.c.gov
    file. I now have attached a patch that fixes the problem for me. please
    do not just ignore this report. the lcov tool is so nice and it would be
    a shame if it can not be used for normal apps.

commit 79f2ff2c168150e7532046c2cdbc1e42c8b4708f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Jun 14 11:34:59 2005 +0000

    lcov
    
    - renamed support for modified compilers (gcc 3.3 hammer patch)
    - fixed bugs in the support for modified compilers

commit fb7dab3494fdd8b093e6a84f088f6ea07fcefe6e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Mar 15 18:02:54 2005 +0000

    lcov
    
    Emil.Jansson@oss.teleca.se:
    lcov 1.4 does not work with the gcc version in Mandrake Linux 10.0
    
    >> gcc --version
    
    gcc (GCC) 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
    
    This patch for geninfo fixes the problem:

commit ae3fe899d824e8af8a16736a0c8104c903565a56
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Mar 8 14:23:06 2005 +0000

    lcov
    
    - added optional legend to HTML output
    - changed background color for "good coverage" entries to green for
      consistency reasons

commit 18b73d39fd9d6bc8829395baa612a6ed98b89efe
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Mar 2 14:49:47 2005 +0000

    lcov
    
    - fixed rpm build process to exclude unnecessary directories in RPM

commit ef6ee74df5bf1d1d104322f8fff36b5c6fda34b4
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Mar 2 12:48:29 2005 +0000

    lcov
    
    - added man page for configuration file lcovrc

commit be3afe2626d6bc72256e1873d409c737ac4391c9
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Feb 28 16:31:51 2005 +0000

    lcov
    
    - Updated CHANGES file in preparation for a new release

commit dc68ce9c804ef21bc8e149d9b468e18c1619bb54
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Nov 2 15:48:45 2004 +0000

    lcov
    
    - temporary fix for a problem which occurs when trying to parse C++
      coverage data generated with vanilla gcc 3.3.3

commit efedc5b930ab6743ea9f47ce4ea4a1a75bd739ff
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Sep 27 13:13:51 2004 +0000

    lcov
    
    - fix for minor bug in geninfo (access to uninitialized variable)
      related to SLES9 compatibility test and test for existing source code
      files

commit 47943eedfbec7a12c52e7a8ccbcfaf8d0706f142
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Sep 20 14:11:16 2004 +0000

    lcov
    
    - minor fix for regular expression used to parse .gcov files - caused
      problems when parsing branch coverage data and when using custom
      gcov versions

commit ce6335ebd92ce017b75ee3e194e9e3ca7bc7e1f3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Sep 14 15:52:38 2004 +0000

    lcov
    
    - fixed bug in geninfo which would not report any FN: data for data
      generated with gcc versions 3.4.0 and above

commit 58df8af3a62fa4e60569ef300e0ddd0073bf109e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Aug 31 15:57:41 2004 +0000

    lcov
    
    - added support for modified GCC version provided by SUSE SLES9

commit 69f3bc3a0c59b35eb6882205286a68b04a8a8d22
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Aug 31 15:48:32 2004 +0000

    lcov
    
    - fixed bug in lcov RPM spec file which would not include the global
      config file in the package list

commit 5d10ca22144ad2be885405c3683b20c0976f7562
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 9 14:32:23 2004 +0000

    lcov
    
    - fixed a bug which would cause generation of incorrect line checksums
      when source code is not available while capturing coverage data
    - changed default directory for temporary files from . to /tmp

commit 8ee3061f23f17a5074deda0777c66c3e82b5d852
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Aug 9 11:15:02 2004 +0000

    lcov
    
    - added configuration file support
    - fixed Makefile error for target "uninstall"

commit 58af07f0b0ca1af8c9f2b90ad1683447bb560165
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Aug 6 11:36:33 2004 +0000

    lcov
    
    - fixed bug which would cause an error when lcov was used on a source
      directory which contained perl regular expression special characters
    - simplified regular expression character escaping
    - removed unnecessary function escape_shell from lcov

commit 69a6918d4cd386aff2fbff093a6e0b5ddcc46602
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Mar 30 13:27:55 2004 +0000

    lcov: - added --path option to fix --diff functionality

commit cbc6cb11b532e525ae8b0c0742a4fd41189ca7c2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Mar 29 12:56:08 2004 +0000

    lcov
    
    - Added compatibility for gcc-3.4
    - Modified --diff function to better cope with ambiguous entries in
      patch files
    - Modified --capture option to use modprobe before insmod (needed for
      2.6)

commit 1cf9a02c3ea0e98cc1d8b626eaa0a2a1cbd96cf1
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Jan 30 09:42:13 2004 +0000

    lcov
    
    - updated CHANGES file
    - changed Makefile install path (/usr/local/bin -> /usr/bin)

commit c60f0668059032cf4dc5f6c556fd6117925f535f
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Jan 14 10:14:10 2004 +0000

    lcov-patch by Laurent Deniel
    
    avoids aborting the geninfo processing when an empty .bb file is
    encountered (e.g. source code with no profiled statement)

commit 7f2966f8f874a6c905b4d31e5aaf0f4654929044
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Dec 19 16:22:52 2003 +0000

    lcov: updated references to lcov webpage to reflect recent site changes

commit a3893f4eb2b4fadc4d7350324d74fa453a5ba0f3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Dec 19 12:50:28 2003 +0000

    Added changes by Laurent Deniel
    
    - a small patch to lcov 1.1 that introduces the --follow option (in
      lcov & geninfo) to control whether or not links should be followed
      while searching for .da files.
    - a workaround for a gcov (3.2) bug which aborts with empty .da files
      (gcov 3.3 is fixed but many distributions include gcc 3.2)

commit d44f2f8e8672e31cc104c0598b0556a5949dc067
Author: Paul Larson <plars@users.sourceforge.net>
Date:   Fri Nov 21 19:34:59 2003 +0000

    Fixed two buglets that caused geninfo to break with some versions of gcov.
    
    1. Return value for gcov --help might not be 0, expect -1 when it
       doesn't exist
    2. use -b instead of expanded (--branch-coverage or whatever it was)

commit 5a1a33a840a665c77409f799be91cc2dce5cd3b2
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Tue Nov 18 14:06:47 2003 +0000

    lcov
    
    - fixed function which interprets branch possibility data in geninfo
      (branch x taken = y% would not be interpreted correctly)
    - deactivated function which would add 'uname -a' output to testname
      in geninfo (output in genhtml/showdetails looked unreadable, there
      needs to be some better solution)

commit e0ea03fedf43a3232c35708f882d7058998b2b3d
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Oct 10 14:18:32 2003 +0000

    New function and bug fix update.
    
    Makefile:
    - Added rule to build source rpm
    
    lcov.spec:
    - Modified to support building source rpms
    
    genhtml:
    - Fixed bug which would not correctly associate data sets with an empty
      test name (only necessary when using --show-details in genhtml)
    - Added checksumming mechanism: each tracefile now contains a checksum for
      each instrumented line to detect incompatible data
    - Implemented new command line option '--nochecksum' to suppress generation
      of checksums
    - Implemented new command line option '--highlight' which highlights lines of
      code which were only covered in converted tracefiles (see '--diff' option of
      lcov)
    
    geninfo:
    - Added checksumming mechanism: each tracefile now contains a checksum for
      each instrumented line to detect incompatible data
    - Implemented new command line option '--nochecksum' to suppress generation
      of checksums
    - Added function to collect branch coverage data
    
    lcov:
    - Fixed bug which would not correctly associate data sets with an empty
      test name (only necessary when using --show-details in genhtml)
    - Cleaned up internal command line option check
    - Added info() output when reading tracefiles
    - Added checksumming mechanism: each tracefile now contains a checksum for
      each instrumented line to detect incompatible data
    - Implemented new command line option '--nochecksum' to suppress generation
      of checksums
    - Implemented new command line option '--diff' which allows converting
      coverage data from an older source code version by using a diff file
      to map line numbers
    
    genpng:
    - Added support for the highlighting option of genhtml
    - Corrected tab to spaces conversion

commit c17af02b4a856d8733a763e6c0685c31f3c7fb74
Author: Nigel Hinds <nhinds@users.sourceforge.net>
Date:   Fri Sep 19 21:51:06 2003 +0000

    capture branch coverage data from GCOV.

commit e2fc88f85254017bcf1fb04a3c935395a9b7a4a1
Author: James M Kenefick Jr <parseexception@users.sourceforge.net>
Date:   Thu Sep 4 16:56:10 2003 +0000

    Initial checking of the galaxy map

commit dfec606f3b30e1ac0f4114cfb98b29f91e9edb21
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Sat Jul 5 13:48:45 2003 +0000

    LCOV: Fixed negative count handling
    
    - Negative counts are treated as zero
    - Warning is issued when encountering negative counts

commit a2ee105a07b19c52efe7a3e6e5b11a27b4b60ef8
Author: Paul Larson <plars@users.sourceforge.net>
Date:   Wed Jul 2 19:37:50 2003 +0000

    Small fixes before the release

commit 72860625dd904f84909253b20a7fc024b4e3377e
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon May 5 08:32:04 2003 +0000

    Adjusted example program and README file
    
    ... to reflect renaming of lcov option '--reset' to '--zerocounters'.

commit cbd9e315832960604d2949439326b30f4061e512
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Apr 30 15:47:51 2003 +0000

    Renamed lcov option '--reset' to '--zerocounters'
    
    - Included '--remove' in help text of lcov
    - Adjusted man pages to include option changes
    - Extended info() change to geninfo and genhtml (infos are now printed
      to STDERR)

commit 8155960cb5db0359470d2a5f652bdc744e9ecfcd
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Wed Apr 16 15:43:31 2003 +0000

    Modified read_gcov so that it can also parse the new gcov format which is to be introduced in gcc 3.3.

commit 382440f781b12ade8f1f7962a0eb1cfc0525f2a5
Author: Paul Larson <plars@users.sourceforge.net>
Date:   Tue Apr 15 16:06:59 2003 +0000

    Added --remove option info() now prints to stderr

commit 62760fa1840326e849c7e58892ce671f510bb0af
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Mon Apr 14 09:31:51 2003 +0000

    Check-in of updated LCOV version (to be released as 1.1).
    
    Includes fixes and modifications by Mike Kobler, Paul Larson and
    myself.
    
    A quote from the CHANGS file:
    - Added CHANGES file
    - Added Makefile implementing the following targets:
      * install    : install LCOV scripts and man pages
      * uninstall  : revert previous installation
      * dist       : create lcov.tar.gz file and lcov.rpm file
      * clean      : clean up example directory, remove .tar and .rpm files
    - Added man pages for all scripts
    - Added example program to demonstrate the use of LCOV with a userspace
      application
    - Implemented RPM build process
    - New directory structure:
      * bin        : contains all executables
      * example    : contains a userspace example for LCOV
      * man        : contains man pages
      * rpm        : contains files required for the RPM build process
    - LCOV-scripts are now in bin/
    - Removed .pl-extension from LCOV-script files
    - Renamed readme.txt to README
    
    README:
    - Adjusted mailing list address to ltp-coverage@lists.sourceforge.net
    - Fixed incorrect parameter '--output-filename' in example LCOV call
    - Removed tool descriptions and turned them into man pages
    - Installation instructions now refer to RPM and tarball
    
    descriptions.tests:
    - Fixed some spelling errors
    
    genhtml:
    - Fixed bug which resulted in an error when trying to combine .info files
      containing data without a test name
    - Fixed bug which would not correctly handle data files in directories
      with names containing some special characters ('+', etc.)
    - Added check for empty tracefiles to prevent division-by-zeros
    - Implemented new command line option --num-spaces / the number of spaces
      which replace a tab in source code view is now user defined
    - Fixed tab expansion so that in source code view, a tab doesn't produce a
      fixed number of spaces, but as many spaces as are needed to advance to the
      next tab position
    - Output directory is now created if it doesn't exist
    - Renamed "overview page" to "directory view page"
    - HTML output pages are now titled "LCOV" instead of "GCOV"
    
    geninfo:
    - Fixed bug which would not allow .info files to be generated in directories
      with names containing some special characters
    
    lcov:
    - Fixed bug which would cause lcov to fail when the tool is installed in
      a path with a name containing some special characters
    - Implemented new command line option '--add-tracefile' which allows the
      combination of data from several tracefiles
    - Implemented new command line option '--list' which lists the contents
      of a tracefile
    - Implemented new command line option '--extract' which allows extracting
      data for a particular set of files from a tracefile
    - Fixed name of gcov kernel module (new package contains gcov-prof.c)
    - Changed name of gcov kernel directory from /proc/gcov to a global constant
      so that it may be changed easily when required in future versions

commit ec94ed71838a9780e82ea8bd67742bde2f4eeb47
Author: Paul Larson <plars@users.sourceforge.net>
Date:   Fri Mar 7 20:28:15 2003 +0000

    Fix lcov.pl to work with the new gcov-kernel module
    
    ... ,documentation fixes in readme.txt

commit e70d9abdb60b83de7174815371259c63fa75bf76
Author: Robert Williamson <robbiew@users.sourceforge.net>
Date:   Tue Feb 18 20:05:09 2003 +0000

    Applied patch from Mike Kobler:
    
    One of my source file paths includes a "+" in the directory name.  I found
    that genhtml.pl died when it encountered it. I was able to fix the problem
    by modifying the string with the escape character before parsing it.

commit 69ef6f1b607670589aae1ae1e6c78ef1b5d204e3
Author: Peter Oberparleiter <oberpapr@users.sourceforge.net>
Date:   Fri Sep 6 09:04:34 2002 +0000

    Replaced reference to "cat" cvs directory
    
    ... and to .zip package.

commit c641f6e694e2bebf9ef0a507091460026463d169
Author: Manoj Iyer <iyermanoj@users.sourceforge.net>
Date:   Thu Sep 5 19:14:51 2002 +0000

    Coverage analysis files.
    
    Peter worked on this version.
