From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97924 invoked by alias); 17 Jun 2019 12:46:38 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 97912 invoked by uid 89); 17 Jun 2019 12:46:37 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,NO_DNS_FOR_FROM,RCVD_IN_DNSWL_LOW,UNSUBSCRIBE_BODY autolearn=no version=3.3.1 spammy=assemble, arrived, GAS, controlled X-HELO: mx0a-00154904.pphosted.com Received: from mx0a-00154904.pphosted.com (HELO mx0a-00154904.pphosted.com) (148.163.133.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 17 Jun 2019 12:46:36 +0000 Received: from pps.filterd (m0170393.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5HCZXi7030496 for ; Mon, 17 Jun 2019 08:46:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emc.com; h=from : to : cc : subject : mime-version : content-type : content-id : date : message-id; s=smtpout1; bh=6YaS2wLGG/JMq5R5Vxxal6bzCTHiDW8Mzp7uNMSeAL4=; b=ScPqnpAHGq6yoTQTMxo9vbwJhH6yHdhQ1NzdY2nw2BCelAeUrKNWJrXPWBgOoD9Q3Ulb wiJWTCLixj37BEDHbYTJDt0bLfvqmWFc18namVSOJmL1bXow+fK1lJAnGm+mTg2S55xg vg8Yi2b226QgVn1rgSXU39VZQpb5Wfrk7ktY66QontM6SJFYQxk/YTR57H7mGCtm6tzr e7ivb9nhhuNxQKCyBO7lj+VY9jMV4VEhZRsnJji+eONSVzzPZ7KFwD8kPIrkeNdQL5vA Sq+DPTx4rOQp7QJUaV0E6SL8DGu9F6YAneJk65cR+GwlzTzi4cnZNiWxy0kXmgXgxk3w Dg== Received: from mx0b-00154901.pphosted.com (mx0b-00154901.pphosted.com [67.231.157.37]) by mx0a-00154904.pphosted.com with ESMTP id 2t4v0gt4es-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 17 Jun 2019 08:46:32 -0400 Received: from pps.filterd (m0144102.ppops.net [127.0.0.1]) by mx0b-00154901.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5HCXj40061563 for ; Mon, 17 Jun 2019 08:46:31 -0400 Received: from mailuogwhop.emc.com (mailuogwhop.emc.com [168.159.213.141]) by mx0b-00154901.pphosted.com with ESMTP id 2t64ebwxmk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 17 Jun 2019 08:46:31 -0400 Received: from maildlpprd05.lss.emc.com (maildlpprd05.lss.emc.com [10.253.24.37]) by mailuogwprd01.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x5HCkTGT000838 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 17 Jun 2019 08:46:30 -0400 X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com x5HCkTGT000838 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1560775591; bh=boXvuyJbH2Wwiy612cWra8D/wPg=; h=From:To:cc:Subject:MIME-Version:Content-Type:Content-ID:Date: Message-ID; b=XLXk94O6qPjgcRxp231/JLipiWwYW7/Nv3Grc5WQb6YrHrKgIJDmZkpgJ7vK5kFwe Z/HVwRnApx6TG6ieVFtbyae59wb7V5CueHUH0G1HN3C0KlwiAqQq7T0h0C8g1xCs1I pRPHc1nFMyIoT5TWDNKYtnTkZcBaZrDta50Yz9Zk= X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd01.lss.emc.com x5HCkTGT000838 Received: from mailsyshubprd54.lss.emc.com (mailsyshubprd54.lss.emc.com [10.106.48.29]) by maildlpprd05.lss.emc.com (RSA Interceptor) for ; Mon, 17 Jun 2019 08:46:20 -0400 Received: from usendtaylorx2l.lss.emc.com (d5170089.lss.emc.com [10.243.146.89]) by mailsyshubprd54.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x5HCkMAt021283; Mon, 17 Jun 2019 08:46:22 -0400 Received: by usendtaylorx2l.lss.emc.com (Postfix, from userid 26043) id EF7A0261381; Mon, 17 Jun 2019 08:46:16 -0400 (EDT) From: David Taylor To: gcc@gcc.gnu.org cc: dtaylor@emc.com Subject: Re: gcc: -ftest-coverage and -auxbase MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <12453.1560775576.1@usendtaylorx2l> Date: Mon, 17 Jun 2019 12:46:00 -0000 Message-ID: <12454.1560775576@usendtaylorx2l> X-RSA-Classifications: public X-Sentrion-Hostname: mailuogwprd01.lss.emc.com X-IsSubscribed: yes X-SW-Source: 2019-06/txt/msg00159.txt.bz2 Sorry for the late reply. Your message never arrived in my mailbox. I suspect that corporate email has swallowed it for some stupid reason. I'm replying to a copy I found in the mailing list archives at gcc dot gnu dot org. Hopefully I didn't screw up the editing. From: Richard Biener Date: Thu, 13 Jun 2019 10:22:54 +0200 ------------------------------------------------------------------------ On Wed, Jun 12, 2019 at 10:17 PM wrote: > > When doing a build, we use a pipe between GCC and GAS. > And because we wish to do some analysis of the assembly code, > we do not use -pipe but instead do '-S -c -'. And this has worked > fine for many years. Can you please show us complete command-lines here? -S -c - will only assemble (and require source from standard input and produce output in -.s). Actually, GCC recognzes '-c -' as meaning to write to stdout. The *.c file is given on the command line to GCC. And the output of GAS is specified with -o. The compile & assemble part of the command line is approximately 2K bytes in length. Mostly it's pretty boring. It's roughly: /full/path/to/version/controlled/gcc \ -MMD -MF bin//some/dir/path.o.d \ more than a dozen '-iquote ' combos \ some -D switches \ some -imacros switches \ -pipe \ more than a dozen -f switches \ -Wall -Werror and about two dozen additional -W switches \ some -m switches \ -gdwarf-4 -g3 \ -S -o - some/dir/path.c \ | /full/path/to/version/controlled/as \ -warn-fatal-warnings -64 bin//some/dir/path.o_ On success the *.o_ file will be renamed to *.o in the same directory. Dozen products each built on a different machine (whichever dozen build cluster machines are currently the most lightly loaded). Each sub-build is done by a GNU make with either a '-j 64' or '-j 128'. Currently all the compiles write to the same GCNO file. Not very useful. If -auxbase was not just passed to sub-processes but actually user settable, I believe that the problem would disappear... Ignoring documentation (it's needed and important, but I haven't thought about what to say as yet), I believe that this would be a one-line change to common.opt and nothing more. > I was recently looking into collecting some coverage information. > To that end, I added --coverage to the invocation line. And it slowed > things down by more than an order of magnitude! > > Investigating, it appears that the problem is the writing of the GCNO > files. > > We do our builds on a build cluster with a lot of parallelism. > With the result that a dozen machines are each doing a bunch > of writes to the file '-.gcno' in an NFS mounted directory. > > Rather than have a full, not incremental, build take 5-10 minutes, > It takes 4 hours. And rather than have each of several thousand > compiles produce their own GCNO file, they all get overwritten... > > Grep'ing around, I found '-auxbase'. If I correctly understand it, > when compiling > > some/path/name.c > > into > > bin/some-product/some/path/name.o, > > I could simply say > > -auxbase $(@:%.o=%) > > The problem is that in common.opt, auxbase is marked RejectDriver. > > It looks like removing it would some my problem. Anyone have a reason > why removing that would be a bad idea? Or have a different solution? > > Thanks. > > David