public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Sebastian Huber <sebastian.huber@embedded-brains.de>
To: "Martin Liška" <mliska@suse.cz>, gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] gcov-tool: Allow merging of empty profile lists
Date: Wed, 23 Mar 2022 15:50:06 +0100	[thread overview]
Message-ID: <76777016-d1d4-6e44-59f6-fbe3ff8249ac@embedded-brains.de> (raw)
In-Reply-To: <0b4c9c67-0810-4521-2cca-522dbed52bb8@suse.cz>

[-- Attachment #1: Type: text/plain, Size: 5723 bytes --]

Hello Martin,

On 23/03/2022 13:19, Martin Liška wrote:
> On 3/23/22 10:34, Sebastian Huber wrote:
> 
> Hello.
> 
> Thanks for the patch. Note we're in stage4, so the patch can eventually go
> in in the next stage1.

ok, good.

> 
>> The gcov_profile_merge() already had code to deal with profile 
>> information
>> which had no counterpart to merge with.  For profile information from 
>> files
>> with no associated counterpart, the profile information is simply used 
>> as is
>> with the weighting transformation applied.  Make sure that 
>> gcov_profile_merge()
>> works with an empty target profile list.  Return the merged profile list.
> 
> Can you please provide a simple demo with a pair of profiles
> where I'll see what changes?

The background for this feature is that I would like to combine the gcov 
information obtained from several test executables. Each test executable 
will print something like this (log.txt):

*** BEGIN OF GCOV INFO ***

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/init.gcda
YWRjZ1IzMEKtLjW3AAAAAQMAAADcaps855EX05p4KUUAAKEBOgAAAAEAAAAAAAAAAQAAAAAAAAAB
AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEA
AAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAA
AAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAwAAACXn3k16
TDqmuIMwpAAAoQECAAAAAgAAAAAAAAAAAAABAwAAADzkvDcfSnvcuIMwpAAAoQH+////AAAAAQMA
AACnWNZaIM7GWZ9hiOIAAKEBBAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAwAAAPkGW3YHFUOO6Old
2wAAoQECAAAAAQAAAAAAAAAAAAABAwAAAIvy4CE9FxuM6Old2wAAoQECAAAAAQAAAAAAAAAAAAAB
AwAAANyvBDZiERlQ6Old2wAAoQECAAAAAQAAAAAAAAAAAAABAwAAACKQjCp2pYlIuIMwpAAAoQEC
AAAAAQAAAAAAAAAAAAABAwAAAKSSXEjQFDluuIMwpAAAoQH+////AAAAAA==

...

*** END OF GCOV INFO ***

The attached script reads the log file and creates the *.gcda files 
using gcov-tool. Initially, the target files do not exist.

> 
>>
>> gcc/
>>     * gcov-tool.cc (gcov_profile_merge): Adjust return type.
>>     (profile_merge): Allow merging of directories which contain no 
>> profile
>>     files.
>>
>> libgcc/
>>     * libgcov-util.c (gcov_profile_merge): Return the list of merged
>>     profiles.  Accept empty target and source profile lists.
>> ---
>>   gcc/gcov-tool.cc      | 27 ++++++++++-----------------
>>   libgcc/libgcov-util.c | 15 +++++++++------
>>   2 files changed, 19 insertions(+), 23 deletions(-)
>>
>> diff --git a/gcc/gcov-tool.cc b/gcc/gcov-tool.cc
>> index f4e42ae763c..2e4083a664d 100644
>> --- a/gcc/gcov-tool.cc
>> +++ b/gcc/gcov-tool.cc
>> @@ -40,7 +40,8 @@ see the files COPYING3 and COPYING.RUNTIME 
>> respectively.  If not, see
>>   #endif
>>   #include <getopt.h>
>> -extern int gcov_profile_merge (struct gcov_info*, struct gcov_info*, 
>> int, int);
>> +extern struct gcov_info *gcov_profile_merge (struct gcov_info*,
>> +                         struct gcov_info*, int, int);
>>   extern int gcov_profile_overlap (struct gcov_info*, struct gcov_info*);
>>   extern int gcov_profile_normalize (struct gcov_info*, gcov_type);
>>   extern int gcov_profile_scale (struct gcov_info*, float, int, int);
>> @@ -141,26 +142,18 @@ profile_merge (const char *d1, const char *d2, 
>> const char *out, int w1, int w2)
>>   {
>>     struct gcov_info *d1_profile;
>>     struct gcov_info *d2_profile;
>> -  int ret;
>> +  struct gcov_info *merged_profile;
>>     d1_profile = gcov_read_profile_dir (d1, 0);
>> -  if (!d1_profile)
>> -    return 1;
>> -
>> -  if (d2)
>> -    {
>> -      d2_profile = gcov_read_profile_dir (d2, 0);
>> -      if (!d2_profile)
>> -        return 1;
>> +  d2_profile = gcov_read_profile_dir (d2, 0);
> 
> Is it fine calling 'gcov_read_profile_dir (d2, 0)' without 'if (d2)'?

Yes, the caller ensures that d1 and d2 are both provided:

   if (argc - optind != 2)
     merge_usage ();

   return profile_merge (argv[optind], argv[optind+1], output_dir, w1, w2);

Maybe we should provide a better error message, if the user doesn't 
provide two directories instead of the general usage message.

> 
>> -      /* The actual merge: we overwrite to d1_profile.  */
>> -      ret = gcov_profile_merge (d1_profile, d2_profile, w1, w2);
>> +  /* The actual merge: we overwrite to d1_profile.  */
>> +  merged_profile = gcov_profile_merge (d1_profile, d2_profile, w1, w2);
>> -      if (ret)
>> -        return ret;
>> -    }
>> -
>> -  gcov_output_files (out, d1_profile);
>> +  if (merged_profile)
>> +    gcov_output_files (out, merged_profile);
>> +  else if (verbose)
>> +    fnotice (stdout, "no profile files were merged\n");
>>     return 0;
>>   }
>> diff --git a/libgcc/libgcov-util.c b/libgcc/libgcov-util.c
>> index ba7fb924b53..e5496f4ade2 100644
>> --- a/libgcc/libgcov-util.c
>> +++ b/libgcc/libgcov-util.c
>> @@ -677,13 +677,13 @@ find_match_gcov_info (struct gcov_info **array, 
>> int size,
>>      Return 0 on success: without mismatch.
>>      Reutrn 1 on error.  */
> 
> Please adjust the function comment.

Oh, yes.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

[-- Attachment #2: gcov.py --]
[-- Type: text/x-python, Size: 2703 bytes --]

#!/usr/bin/env python
# SPDX-License-Identifier: BSD-2-Clause
""" Read log file and create *.gcda files. """

# Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

import base64
import os 
import subprocess
import sys 
import tempfile


def _longest_common_prefix(names):
    names = sorted(names)
    try:
        shortest = names[0]
    except KeyError:
        return ""
    prefix = ""
    longest = names[-1]
    for idx, char in enumerate(shortest):
        if longest[idx] == char:
            prefix += char
        else:
            break
    return prefix


gcov_info = {}
for name in sys.argv[1:]:
    with open(name, "r") as log:
        after = log.read().split("*** BEGIN OF GCOV INFO ***")[1]
        before = after.split("*** END OF GCOV INFO ***")[0]
        for block in before.split("\n\n"):
            if block:
                gcov_file, gcov_data = block.split("\n", 1)
                gcov_info[gcov_file] = base64.b64decode(gcov_data)
prefix = _longest_common_prefix(gcov_info.keys())
with tempfile.TemporaryDirectory() as tmp_dir:
    for gcov_file, gcov_data in gcov_info.items():
        name = os.path.join(tmp_dir, gcov_file[len(prefix):])
        print(name)
        os.makedirs(os.path.dirname(name), exist_ok=True)
        with open(name, "wb") as out:
            out.write(gcov_data)
    subprocess.run(["gcov-tool", "merge", "-v", "-o", prefix, prefix, tmp_dir])

[-- Attachment #3: log.txt --]
[-- Type: text/plain, Size: 16732 bytes --]

*** BEGIN OF GCOV INFO ***

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/init.gcda
YWRjZ1IzMEKtLjW3AAAAAQMAAADcaps855EX05p4KUUAAKEBOgAAAAEAAAAAAAAAAQAAAAAAAAAB
AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEA
AAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAA
AAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAwAAACXn3k16
TDqmuIMwpAAAoQECAAAAAgAAAAAAAAAAAAABAwAAADzkvDcfSnvcuIMwpAAAoQH+////AAAAAQMA
AACnWNZaIM7GWZ9hiOIAAKEBBAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAwAAAPkGW3YHFUOO6Old
2wAAoQECAAAAAQAAAAAAAAAAAAABAwAAAIvy4CE9FxuM6Old2wAAoQECAAAAAQAAAAAAAAAAAAAB
AwAAANyvBDZiERlQ6Old2wAAoQECAAAAAQAAAAAAAAAAAAABAwAAACKQjCp2pYlIuIMwpAAAoQEC
AAAAAQAAAAAAAAAAAAABAwAAAKSSXEjQFDluuIMwpAAAoQH+////AAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/iodumpgcovinfo.gcda
YWRjZ1IzMEL5LjW3AAAAAQMAAAB/qf0pVHSQp+GsNm4AAKEBFAAAAAEAAAAAAAAAAQAAAAAAAAAC
AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQMAAABY4NpH6HrccejpXdsAAKEB/v///wAAAAEDAAAA76aYWABKTQgiKXSYAACh
AQgAAAC3AAAAAAAAAAwAAAAAAAAA4AIAAAAAAAC9AAAAAAAAAAAAAAEDAAAA3gCsEklz8o4+srvA
AAChAQQAAAACAAAAAAAAAAIAAAAAAAAAAAAAAQMAAACYmBQ1FTcE2j6yu8AAAKEBBAAAAAEAAAAA
AAAAAQAAAAAAAAAAAAABAwAAAEpH8UWiRiLQWXZT7QAAoQEIAAAAZAQAAAAAAABkBAAAAAAAAA4A
AAAAAAAADwAAAAAAAAAAAAABAwAAAAFn/1Ij+Pw56Old2wAAoQECAAAAAQAAAAAAAAAAAAAA

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/rtems/sys_arch.gcda
YWRjZ1IzMEIPLzW3AAAAAQMAAABjuoI41n6mx+jpXdsAAKEBAgAAAAMAAAAAAAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/inet_chksum.gcda
YWRjZ1IzMEI1LzW3AAAAAQMAAABstMtmN29P8sbKpG4AAKEB9v///wAAAAEDAAAAee2tYzGj4C75
SrN8AAChAQQAAAACAAAAAAAAAAIAAAAAAAAAAAAAAQMAAACGYbFXfPI+Wj6yu8AAAKEB/P///wAA
AAEDAAAAq4+3AVSigIw+srvAAAChAfz///8AAAABAwAAAPPRfieDH0YBqtAvWAAAoQHw////AAAA
AQMAAAB75nAXPKyrnT6yu8AAAKEBBAAAAAMAAAAAAAAAAwAAAAAAAAAAAAABAwAAAMSMeGl4ucAo
PrK7wAAAoQEEAAAAAwAAAAAAAAADAAAAAAAAAAAAAAEDAAAAZypNPJK/y4vGyqRuAAChAQoAAAAD
AAAAAAAAAAMAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAQMAAAA8U4JsaG3zzhrw
rwMAAKEBDAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAA=

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/init.gcda
YWRjZ1IzMEJhLzW3AAAAAQMAAAAe0i0z6EH2vmriwogAAKEBDAAAAAEAAAAAAAAAAQAAAAAAAAAB
AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAA=

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/ipv4/etharp.gcda
YWRjZ1IzMEKZLzW3AAAAAQMAAADX4Zo9bHOgXz6yu8AAAKEBBAAAAAEAAAAAAAAAAQAAAAAAAAAA
AAABAwAAANqRGya85B7OPrK7wAAAoQEEAAAAAQAAAAAAAAABAAAAAAAAAAAAAAEDAAAAPBAzSHKo
eKiUhbn/AAChARAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAQMAAABcaC5/hBOuMEi7M8AAAKEBsv///wAAAAEDAAAA
44oUZkoowW25UUR1AAChAdb///8AAAABAwAAAE8TzhiXZbqh/FjAVAAAoQHs////AAAAAQMAAACV
d/FG7zvgBMx1fVIAAKEB4P///wAAAAEDAAAAjK9vJUzYdO1nYSBgAAChAfT///8AAAABAwAAAESK
ijFyFcuxPA58fQAAoQH0////AAAAAQMAAABKkQ9vx6lHV1KPQHAAAKEB9v///wAAAAEDAAAAlZ3U
dwMSDVl8bpjiAAChAeb///8AAAABAwAAAF2e3x1rQWpk+XPLZQAAoQHE////AAAAAQMAAACDNddC
PazDJ+88eV8AAKEB6v///wAAAAEDAAAA1m79Rh9sC7LiJBKcAAChAfr///8AAAABAwAAAAlfswh8
7DMcnSp+jAAAoQH0////AAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/ipv4/icmp.gcda
YWRjZ1IzMELiLzW3AAAAAQMAAACoJxFIQVt+c6iGsqcAAKEB6v///wAAAAEDAAAAF5i3F7FIZoM+
srvAAAChAfz///8AAAABAwAAAB/m+CztcV+KPrK7wAAAoQH8////AAAAAQMAAAD0VqZgaubyndH9
T6UAAKEBuv///wAAAAA=

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/ipv4/ip4_addr.gcda
YWRjZ1IzMEIGMDW3AAAAAQMAAABeW5Y6P1N6DYiNJeQAAKEB9P///wAAAAEDAAAAfSBNbLnvRnM+
srvAAAChAfz///8AAAABAwAAAEcxwGvOpkVb7lRjLwAAoQE8AAAAAgAAAAAAAAAAAAAAAAAAAAgA
AAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAFAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAQMA
AAC9oTxoPpX2r9LLWqoAAKEBBgAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAEDAAAAONaV
I6ps4AbechPOAAChAfb///8AAAABAwAAAP8g80g95y8jA06riQAAoQEOAAAABgAAAAAAAAAGAAAA
AAAAAAYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/ipv4/ip4.gcda
YWRjZ1IzMEIxMDW3AAAAAQMAAADiTkk//OSWYNxPeR4AAKEB9v///wAAAAEDAAAAnLBJY1QiXObS
+lD5AAChARwAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAAAAAAAAAAAQMAAABGAjFbr4qfGhpl3mwAAKEB9v///wAAAAEDAAAA98z7b/5CNxpZ0HKo
AAChAWAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAA
AAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAABAwAA
AHdq/TYLEzFup0abZgAAoQEMAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAIAAAAAAAAAAAAAAQMAAABR9yJ2X9ru/9PaqHsAAKEB2v///wAAAAEDAAAAsZZOKBhA1q6N
1eAwAAChAfD///8AAAABAwAAAP89hwdoAlc2WRGhBQAAoQHm////AAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/ipv4/ip4_frag.gcda
YWRjZ1IzMEJqMDW3AAAAAQMAAAAJLHtV2G0zmeXhLUYAAKEBzv///wAAAAEDAAAA3iBYXgTjmYWQ
/oFwAAChAfT///8AAAABAwAAAKMzBTFYmi66FQzNAgAAoQH6////AAAAAQMAAABkV2wf3QCaej6y
u8AAAKEB/P///wAAAAEDAAAAZfcZLzO0wWu+sX/0AAChAbL///8AAAABAwAAANuuXGtIrkB1yEuF
oQAAoQHE////AAAAAQMAAADV8EpccqlPqUBr2gkAAKEB+P///wAAAAEDAAAAUiitFDeEM7/M1f9m
AAChAfL///8AAAABAwAAAKuI0h3kYrTMu7CRoAAAoQHo////AAAAAQMAAABzIB5P+kICf1mJzgIA
AKEB4v///wAAAAEDAAAAdzPYIADXN8Tm3RNiAAChAfj///8AAAAA

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/mem.gcda
YWRjZ1IzMEKpMDW3AAAAAQMAAABvgu1imfBVU4KVXnYAAKEB+P///wAAAAEDAAAAWJTmNkCSYW2B
0dbTAAChATIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAA
AAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAEDAAAAd9Mmd0BSXWEb
CwhhAAChAcz///8AAAABAwAAABeHAWV1thnVG3j3oQAAoQEUAAAAAgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAA
AAAAAAAAAAABAwAAAPccN31dGnshNgsDiQAAoQEUAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAA
AgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAA
AAABAwAAAELe72Y4qgJcN0Y1SwAAoQEEAAAAAQAAAAAAAAABAAAAAAAAAAAAAAEDAAAAeSG5Hwnw
MlrvtQoLAAChASgAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
AAAAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAQMAAAAuSXYZ16AkZ+jpXdsAAKEBAgAAAAUAAAAAAAAAAAAAAQMAAADrLvZqnDHSy+jp
XdsAAKEBAgAAABIAAAAAAAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/memp.gcda
YWRjZ1IzMELaMDW3AAAAAQMAAAAVF5AiQjz+me+hUEEAAKEB+P///wAAAAEDAAAAgayqEVjKh2q3
U5P9AAChAfb///8AAAABAwAAAI/gwW7kAg6DbLDwEwAAoQH8////AAAAAQMAAADfeD1zkY2UDGbM
GFAAAKEBBgAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAEDAAAAsg7Wak0/HhjlijldAACh
Afj///8AAAABAwAAADAmXEha66yIjQDyHAAAoQEGAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAA
AAAAAQMAAABATn4hUjZEQkIg/3MAAKEBBgAAAAEAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAED
AAAAXCUyTFYc1/WTV+q4AAChAQQAAAAIAAAAAAAAAA0BAAAAAAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/netif.gcda
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

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/pbuf.gcda
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
AAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/raw.gcda
YWRjZ1IzMEKcMTW3AAAAAQMAAACXieBYUmRO10/JWb8AAKEBDgAAAAIAAAAAAAAAAgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMAAABFssM/HFFs7/lK
s3wAAKEB/P///wAAAAEDAAAAVeK8F1ml2hCNiYAYAAChAfr///8AAAABAwAAAHWpNRDJaEyJ98/E
LAAAoQH0////AAAAAQMAAACTqCwa/yqpwz6yu8AAAKEB/P///wAAAAEDAAAADBu2YV+PFxA4JSv9
AAChAdj///8AAAABAwAAAMTH4zRpLrevL44scwAAoQHo////AAAAAQMAAAChsP1rOH9ybbiDMKQA
AKEB/v///wAAAAEDAAAASXMSaz5jUCq4gzCkAAChAf7///8AAAABAwAAAFF6D0h5oLXSfccECwAA
oQH4////AAAAAQMAAAABS59y3tit2BzifMIAAKEB/P///wAAAAEDAAAAHRXsVUgzu319xwQLAACh
Afj///8AAAABAwAAAGLfT2oVhCPjfdXtKwAAoQEaAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwAAAPhO80jKTh3H6zHeDwAAoQHu////AAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/timeouts.gcda
YWRjZ1IzMELJMTW3AAAAAQMAAABTP8podw7hXWOK27IAAKEB9v///wAAAAEDAAAAT36kVfAZgyqW
tu2lAAChAfj///8AAAABAwAAAL/QK0/WtAJ61sRHFQAAoQEOAAAAAQAAAAAAAAAAAAAAAAAAAAEA
AAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwAAAJTv9yxJIXFxEEUV
tAAAoQHy////AAAAAQMAAAD+ZfxS3I/8aQOF34EAAKEBCAAAAAIAAAAAAAAAAAAAAAAAAAACAAAA
AAAAAAIAAAAAAAAAAAAAAQMAAADdx0Fe6E/5kEIg/3MAAKEBBgAAAAEAAAAAAAAAAgAAAAAAAAAC
AAAAAAAAAAAAAAEDAAAADATzVN3PnUbz40HPAAChAfT///8AAAABAwAAAMt2kzM6LWrkX/2/RQAA
oQESAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/core/udp.gcda
YWRjZ1IzMEL1MTW3AAAAAQMAAAAeN2kidg0ERk/JWb8AAKEBDgAAAAIAAAAAAAAAAgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMAAABwuLAGqri6R/lK
s3wAAKEB/P///wAAAAEDAAAAHh4LJrk7dkmNiYAYAAChAQYAAAABAAAAAAAAAAEAAAAAAAAAAQAA
AAAAAAAAAAABAwAAAFhzISk35J7qEwtzSgAAoQHy////AAAAAQMAAABoa/5lEm3kWxzifMIAAKEB
BAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAwAAAH6fqT9y771rHOJ8wgAAoQH8////AAAAAQMAAAAg
KiJD9ooiUGxA6bkAAKEB7v///wAAAAEDAAAANqckJgO1Xj8c4nzCAAChAQQAAAABAAAAAAAAAAEA
AAAAAAAAAAAAAQMAAADUzu9bQtiESBcepG4AAKEBJAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAB
AAAAAAAAAAAAAAEDAAAAEddbbEIoli20CpFLAAChATgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAA
AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAEDAAAAXwcrXSY737B+kQWAAAChARQA
AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEDAAAA6R33DXRUGWFO+cBSAAChAe7///8AAAAB
AwAAAFpzLxTevR+476FQQQAAoQH4////AAAAAQMAAABothpVvaNdVFGNsq8AAKEBWAAAAAIAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAA
AAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAA
AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAC
AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAABAwAAAK5kp2LCGHr5O1Na2wAAoQEaAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAABAwAAABqa7Sl0CRZzc+0iVQAAoQH2////AAAAAQMA
AACoQ8lIznIe9biDMKQAAKEBAgAAAAEAAAAAAAAAAAAAAA==

/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/src/netif/ethernet.gcda
YWRjZ1IzMEIwMjW3AAAAAQMAAAC+EBQuXa7stuNAYTkAAKEBCgAAAAEAAAAAAAAAAQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAwAAAAQbGWmmhbpBJ5lR8AAAoQEmAAAAAQAAAAAA
AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

*** END OF GCOV INFO ***

  reply	other threads:[~2022-03-23 14:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-23  9:34 Sebastian Huber
2022-03-23 12:19 ` Martin Liška
2022-03-23 14:50   ` Sebastian Huber [this message]
2022-03-24 10:29     ` Martin Liška
2022-03-24 10:51       ` Sebastian Huber
2022-03-24 12:03         ` Martin Liška
2022-03-28 16:23           ` Sebastian Huber
2022-03-30 11:56             ` Martin Liška
2022-03-30 13:30               ` Sebastian Huber
2022-03-30 14:48                 ` Sebastian Huber
2022-03-31  6:58                   ` Martin Liška

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=76777016-d1d4-6e44-59f6-fbe3ff8249ac@embedded-brains.de \
    --to=sebastian.huber@embedded-brains.de \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=mliska@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).