From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id AA21B3858C2D for ; Wed, 30 Mar 2022 14:48:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AA21B3858C2D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy01.your-server.de ([78.46.139.224]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nZZcJ-000PAU-NM; Wed, 30 Mar 2022 16:48:12 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy01.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nZZcJ-000NkM-Ku; Wed, 30 Mar 2022 16:48:11 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 50EF4480077; Wed, 30 Mar 2022 16:48:11 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id RmEUYrPhCEvq; Wed, 30 Mar 2022 16:48:11 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id F14B44800BB; Wed, 30 Mar 2022 16:48:10 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id vMYDuRtoblUi; Wed, 30 Mar 2022 16:48:10 +0200 (CEST) Received: from [10.10.171.14] (unknown [10.10.171.14]) by mail.embedded-brains.de (Postfix) with ESMTPSA id BAE6C480077; Wed, 30 Mar 2022 16:48:10 +0200 (CEST) Message-ID: <12e8e121-2c66-0b15-ea65-4c35cf6a1b5e@embedded-brains.de> Date: Wed, 30 Mar 2022 16:48:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH] gcov-tool: Allow merging of empty profile lists Content-Language: en-US From: Sebastian Huber To: =?UTF-8?Q?Martin_Li=c5=a1ka?= , gcc-patches@gcc.gnu.org References: <20220323093404.13225-1-sebastian.huber@embedded-brains.de> <0b4c9c67-0810-4521-2cca-522dbed52bb8@suse.cz> <76777016-d1d4-6e44-59f6-fbe3ff8249ac@embedded-brains.de> <930c7bec-aea5-9491-94cd-a4e8c86f9bfe@suse.cz> <262bfcbc-dfd7-722f-e06a-b7fb7dbbe977@embedded-brains.de> <9b3bc65d-be92-0a99-d5c3-c96b9fec881c@embedded-brains.de> <4c890c8b-4665-41ab-c584-6f25aac01e04@suse.cz> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.5/26497/Wed Mar 30 10:19:51 2022) X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Mar 2022 14:48:15 -0000 On 30/03/2022 15:30, Sebastian Huber wrote: > On 30/03/2022 13:56, Martin Li=C5=A1ka wrote: >>> Example: >>> >>> base64 -d log.txt | gcov-tool merge-stream >>> >>> The gcov-tool uses a new tag which contains the filename of the=20 >>> associated gcov info file: >>> >>> gcov-dump b-xilinx_zynq_a9_qemu/init.gcda >>> b-xilinx_zynq_a9_qemu/init.gcda:data:magic `gcda':version `B20 ' >>> b-xilinx_zynq_a9_qemu/init.gcda:stamp 3496756572 >>> b-xilinx_zynq_a9_qemu/init.gcda:checksum 137326246 >>> b-xilinx_zynq_a9_qemu/init.gcda:=C2=A0 a5000000:=C2=A0 62:FILENAME=20 >>> `/home/EB/sebastian_h/src/lwip/b-xilinx_zynq_a9_qemu/init.gcda' >>> b-xilinx_zynq_a9_qemu/init.gcda:=C2=A0 a1000000:=C2=A0=C2=A0 8:OBJECT= _SUMMARY=20 >>> runs=3D0, sum_max=3D0 >>> b-xilinx_zynq_a9_qemu/init.gcda:=C2=A0 01000000:=C2=A0 12:FUNCTION=20 >>> ident=3D1016818396, lineno_checksum=3D0xd31791e7, cfg_checksum=3D0x45= 29789a >>> b-xilinx_zynq_a9_qemu/init.gcda:=C2=A0=C2=A0=C2=A0 01a10000: 232:COUN= TERS arcs 29=20 >>> counts >>> >>> Should I generate this filename tag to all configurations or just in=20 >>> case inhibit_libc is defined? >> >> I would emit it unconditionally. Btw. why do you need the tag? >=20 > The tag was the easiest way to add the filename to the gcov information= . >=20 > We need some gcov defined way to get the filename associated with a gco= v=20 > information, so that the gcov-tool can generate the gcov files from the= =20 > gcov information itself. In a hosted environment, it is not necessary t= o=20 > include the filename in the gcov information, since the instrumented=20 > executable already creates the gcov files. In a freestanding=20 > environment, the gcov information is not automatically stored to files=20 > since no file system may be available. Here, we can dump the gcov=20 > information through __gcov_info_to_gcda(). This dump is basically a=20 > concatenation of several gcov files. >=20 > An alternative to a tag inside the gcov data would be a header which is= =20 > dumped before the gcov data and understood by the gcov-tool: >=20 > header : int32:filename-magic int32:version string >=20 > #define GCOV_FILENAME_MAGIC ((gcov_unsigned_t)0x6763666e) /* "gcfn" */ Thanks for asking the question. The alternative with the header is much=20 less intrusive. I will work on this approach now. Another question, I would like to add an option to gcov-tool to=20 transform the filenames using regular expressions (for example, remove=20 or add a prefix). Can I use the C++ for this? --=20 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=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/