From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2b.google.com (mail-vs1-xe2b.google.com [IPv6:2607:f8b0:4864:20::e2b]) by sourceware.org (Postfix) with ESMTPS id A37B43838F1B for ; Thu, 15 Dec 2022 13:21:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A37B43838F1B Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=kitware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kitware.com Received: by mail-vs1-xe2b.google.com with SMTP id 128so2843604vsz.12 for ; Thu, 15 Dec 2022 05:21:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kitware.com; s=google; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=gDuXeyELLP6PStdzyDKxnVm3wE93JVAhvXvcQ0dCb+0=; b=ZFf2xt7JTUGL0x98/IdUnevKglYgS4Pufb8SRwDPvj0Uk2XFb9JJCHKIIGnSMcYYck V3sh7q26sEL94pUnBjKWoOL4IbtdquvbD4zyAwDuWSSot7Owqm5D3MTmLbsHhacCWO3d HRls0VQTSYR13sOzD1JwLCzGET8J7QJ1XUD8w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gDuXeyELLP6PStdzyDKxnVm3wE93JVAhvXvcQ0dCb+0=; b=QYccFgx9zwaRcz7pARAsdOf0uvL9mOE7BOWOlr/FfHKUKt8xDtXtP9fGSVzcecLu+z zI7SEYorM5LaZbZ6W4GX14kVEvO5INJsQIuD4b0rKaBzvbcnYMMkYy3q2Yq+DvokUQC8 w8yL87p1zYP53dp9yY3f/eKD1ZirQ1A1zFZhOFauQxsQ8dTC5vvOONiGhAUVRUgwPSww JywW2wpra0bj8VTIFrW4ZHuVwfvLhWGHQncb1X45Ci1JnKlYMSJ3vXajRJcZ89XcLfQs 3JdMIW1WpfO6iJ+/C562oshYPFb+HK6qD2ven0F+ddEP+ouJ9X91gHW7HPEo3A5tvDkG 5dPg== X-Gm-Message-State: ANoB5pmZOdsle3tb2JCtXPGwCroq7HWE4FkYyyzZU+z7q0rSU5DSbS9d CTH0rkxGVTkMbibn9Qldqex68Q== X-Google-Smtp-Source: AA0mqf6nw2rrs3G1Re/mVq6eOUZAjdefIJWdaRYNK0A8K+FcvLks9lxrrhmb14ZBgrl43aN53n9grQ== X-Received: by 2002:a05:6102:3206:b0:3b1:3b7c:3839 with SMTP id r6-20020a056102320600b003b13b7c3839mr13606793vsf.2.1671110506948; Thu, 15 Dec 2022 05:21:46 -0800 (PST) Received: from localhost (cpe-142-105-146-128.nycap.res.rr.com. [142.105.146.128]) by smtp.gmail.com with ESMTPSA id r17-20020a05620a299100b0070209239b87sm989483qkp.41.2022.12.15.05.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 05:21:46 -0800 (PST) Date: Thu, 15 Dec 2022 08:21:44 -0500 From: "ben.boeckel" To: Iain Sandoe Cc: GCC Development , David Blaikie , Nathan Sidwell , Jonathan Wakely , "chuanqi.xcq" Subject: Re: Naming flag for specifying the output file name for Binary Module Interface files Message-ID: References: <29c9ff1a-2c88-4e02-81e0-9780020b8e77.yedeng.yd@linux.alibaba.com> <3c9bfafd-9898-ca67-b629-5a23fec58792@acm.org> <41caec52-1372-4441-b62d-6ce33f3534c6.yedeng.yd@linux.alibaba.com> <4a2c3667-ae49-4a04-bb41-b20cee9ddb3e.yedeng.yd@linux.alibaba.com> <5C1A2971-2E02-400D-A2F1-3AD96E4038CC@sandoe.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5C1A2971-2E02-400D-A2F1-3AD96E4038CC@sandoe.co.uk> User-Agent: Mutt/2.2.9 (2022-11-12) X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, Dec 15, 2022 at 07:37:35 +0000, Iain Sandoe wrote: > * I have patches for clang that implements the P1184 interface which > would allow a ‘module mapper’ to be used to discover module name <-> > pathname pairings. > > * The demand for the command line options we are discussing here is > coming from build systems folks who want to be able to specify > everything on the command line (i.e. from my understanding they do > not want to use a module mapper, but prefer dependency scanning). > > So I think the two aspects are somewhat independent, I would expect > the same build systems folks to want to be able to specify everything > on the GCC command line too. Note that it is particularly knowing the *output* module that is important for distributed builds so that the dispatcher can know what file(s) need to be sent and retrieved for a given command line. While GCC's module mapper has the information, it is lacking any indication of which might be output and input paths. With `-fmodule-output=`, the one output is known and anything else known to the specified `-fmodule-mapper=` (which must be understood by the dispatcher; I suspect flat files will be the preferred mechanism here rather than a socket or other fancy mechanism) can be assumed to be (potential; ideally exact) inputs. --Ben