On 4/25/22 09:09, Sebastian Huber wrote: > This patch set is for GCC 13. > > The aim is to better support gcov in free-standing environments. For example, > you can run a test executable which dumps all gcov info objects in a serial > data stream using __gcov_info_to_gcda() and the new __gcov_filename_to_gcfn(). > It could be encoded as base64. It could be also compressed. On the host you > unpack the encoded data stream and feed it into gcov-tool using the new > "merge-stream" subcommand: > > gcov-tool --help > Usage: gcov-tool [OPTION]... SUB_COMMAND [OPTION]... > > Offline tool to handle gcda counts > > -h, --help Print this help, then exit > -v, --version Print version number, then exit > merge-stream [options] [stream-file] Merge coverage stream file (or stdin) > and coverage file contents > -v, --verbose Verbose mode > -w, --weight <w1,w2> Set weights (float point values) > > Example: > > base64 -d log.txt | gcov-tool merge-stream > > The patch set does not change the format of .gcda files. > > TODO: > > * Tests for gcov-tool > > v2: > > * Address review comments from v1 > > * Simple test for __gcov_filename_to_gcfn() > > * Use xstrerror() > > * Add documentation
Hi. Thank you for it. Please install the patch set once Stage 1 opens. Cheers, Martin > > Sebastian Huber (14): > gcov-tool: Allow merging of empty profile lists > gcov: Add mode to all gcov_open() > gcov: Add open mode parameter to gcov_do_dump() > gcov: Make gcov_seek() static > gcov: Add __gcov_filename_to_gcfn() > gcov-tool: Support file input from stdin > gcov: Use xstrdup() > gcov: Move prepend to list to read_gcda_file() > gcov: Move gcov_open() to caller of read_gcda_file() > gcov: Fix integer types in ftw_read_file() > gcov: Record EOF error during read > gcov-tool: Add merge-stream subcommand > gcov: Use xstrerror() > gcov: Add section for freestanding environments > > gcc/doc/gcov-tool.texi | 36 +++ > gcc/doc/gcov.texi | 375 +++++++++++++++++++++++ > gcc/doc/invoke.texi | 31 +- > gcc/gcov-io.cc | 79 +++-- > gcc/gcov-io.h | 35 ++- > gcc/gcov-tool.cc | 107 +++++-- > gcc/testsuite/gcc.dg/gcov-info-to-gcda.c | 36 ++- > libgcc/gcov.h | 17 +- > libgcc/libgcov-driver-system.c | 7 +- > libgcc/libgcov-driver.c | 44 ++- > libgcc/libgcov-util.c | 150 +++++++-- > libgcc/libgcov.h | 3 - > 12 files changed, 803 insertions(+), 117 deletions(-) >