From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 1EB21385BF92 for ; Fri, 3 Apr 2020 08:11:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1EB21385BF92 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mliska@suse.cz X-Virus-Scanned: by amavisd-new at test-mx.suse.de X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "Cc" Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9FE7AAE28 for ; Fri, 3 Apr 2020 08:11:38 +0000 (UTC) Resent-From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Resent-To: GCC Patches Resent-Date: Fri, 3 Apr 2020 10:11:38 +0200 Resent-Message-ID: <15f4e0eb-38ad-239e-505a-7f8ac587478b@suse.cz> Message-Id: From: Martin Liska Date: Fri, 3 Apr 2020 10:06:46 +0200 Subject: [stage1][PATCH 0/3] __gcov_dump improvements To: gcc-patches@gcc.gnu.org Cc: cdenizet@mozilla.com Cc: amonakov@gcc.gnu.org X-Spam-Status: No, score=-20.0 required=5.0 tests=BAYES_00, GIT_PATCH_2, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Fri, 03 Apr 2020 08:11:41 -0000 Hi. The following mini patch series improves: - gcov run-time locking is used for user accessible __gcov_dump and __gcov_reset functions - do not run __gcov_flush in fork, only __gcov_reset is called in child process - gcov exec* wrappers dump counters and reset only if execv* fails Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'll install the patch set in next stage1 if there are no objections. Thanks, Martin Martin Liska (3): Do locking for __gcov_dump and __gcov_reset as well. Use __gcov_dump and __gcov_reset in execv and fork context. Remove __gcov_flush. gcc/tree-cfg.c | 4 +- libgcc/Makefile.in | 5 +- libgcc/gcov.h | 5 -- libgcc/libgcov-interface.c | 126 +++++++++++++++++++++++-------------- libgcc/libgcov.h | 6 ++ 5 files changed, 91 insertions(+), 55 deletions(-) -- 2.26.0