From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-x231.google.com (mail-io0-x231.google.com [IPv6:2607:f8b0:4001:c06::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5FFDF21BBC40C for ; Wed, 21 Jun 2017 04:29:52 -0700 (PDT) Received: by mail-io0-x231.google.com with SMTP id y77so1590294ioe.3 for ; Wed, 21 Jun 2017 04:31:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3j+ufAQnt2mO9gRLn3OqTdaGf8hy8mOCFlabS+xRNKE=; b=iwhDp8OQljFhNGRJjqmEa+pWYTT5ltMzDzb9ku8A9UjgNiNaQ87GZjIoPxh9zXbCFQ JD8+4f3kv6sq7vm9H0WI/Tio49yHM9Hj0Iqpo4Vms0mKnBpdgQgEW4Tca4CsTyhOe/FE 4xivBY9R9I25MYRxoYbN/a9xi3+HX2Ix2LWqk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=3j+ufAQnt2mO9gRLn3OqTdaGf8hy8mOCFlabS+xRNKE=; b=KLh5/Me1P6R24qzH7tQxbw3PD/zseRP21rYBZRTt2QK1nEixjLzqtHTWfacJwWjIEc AuZ2unIQFnCzoyu4NRIFlsc22yBhtksxFQYGhMzMZrFfwTpr8Tr9OIJWzkUHyK/ETBKS YHpRAuUw15m36OZIzOPdWaSCrVvXd4Wbc41d9rkhGMeIsC3x31xxNlDG0s63eXF2rfma qFt+Z3SAxt5eX8R11BC0KrcDbKDVeA7YuK8uJyBUoYKHZyknOYDTLmYliAlndN6IH5/E 87iQI/X+92PfFCEUUQ01rjeD7t+vuRuTTzwZFCtnXCu0h5nrrK9r85nVGPcVCpvZQwPE dr2w== X-Gm-Message-State: AKS2vOzGJUH3Juovmn/3mwHdxmizYZN372otMfWa8cP1EKTT3MTSLoBY X5uy/cUHYRB0GfNN8RrQD8rvY/M5/sdm X-Received: by 10.107.180.20 with SMTP id d20mr30376684iof.47.1498044675469; Wed, 21 Jun 2017 04:31:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.164.76 with HTTP; Wed, 21 Jun 2017 04:31:15 -0700 (PDT) In-Reply-To: References: <1497984234-19871-1-git-send-email-ard.biesheuvel@linaro.org> From: Ard Biesheuvel Date: Wed, 21 Jun 2017 13:31:15 +0200 Message-ID: To: Laszlo Ersek Cc: "edk2-devel@lists.01.org" , Leif Lindholm , "Gao, Liming" , "Zhu, Yonghong" Subject: Re: [PATCH 1/2] BaseTools/tools_def GCC: ARM/AARCH64: replace -save-temps with -pipe X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Jun 2017 11:29:52 -0000 Content-Type: text/plain; charset="UTF-8" On 20 June 2017 at 21:28, Laszlo Ersek wrote: > On 06/20/17 20:43, Ard Biesheuvel wrote: >> For historical reasons, GCC builds for ARM and AARCH64 pass the >> -save-temps command line option to GCC, which instructs the compiler >> to preserve intermediate files, i.e., preprocessor output and generated >> assembler. Given that this clutters up the Build directory, and slows >> down the build, let's replace it with -pipe, which explicitly tells the >> compiler to keep all intermediate representations in memory only. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ard Biesheuvel >> --- >> BaseTools/Conf/tools_def.template | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template >> index 04a1bcb210ab..7a58ce365ed2 100755 >> --- a/BaseTools/Conf/tools_def.template >> +++ b/BaseTools/Conf/tools_def.template >> @@ -4399,7 +4399,7 @@ DEFINE GCC46_X64_DLINK_FLAGS = DEF(GCC45_X64_DLINK_FLAGS) >> DEFINE GCC46_X64_DLINK2_FLAGS = DEF(GCC45_X64_DLINK2_FLAGS) >> DEFINE GCC46_ASM_FLAGS = DEF(GCC45_ASM_FLAGS) >> DEFINE GCC46_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian >> -DEFINE GCC46_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -save-temps >> +DEFINE GCC46_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -pipe >> DEFINE GCC46_ARM_CC_XIPFLAGS = -D__ARM_FEATURE_UNALIGNED=0 >> DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm >> DEFINE GCC46_ARM_DLINK2_FLAGS = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 >> @@ -4418,7 +4418,7 @@ DEFINE GCC47_ARM_ASM_FLAGS = DEF(GCC46_ARM_ASM_FLAGS) >> DEFINE GCC47_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian >> DEFINE GCC47_ARM_CC_FLAGS = DEF(GCC46_ARM_CC_FLAGS) >> DEFINE GCC47_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) >> -DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -save-temps >> +DEFINE GCC47_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) -pipe >> DEFINE GCC47_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) >> DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS) >> DEFINE GCC47_ARM_DLINK2_FLAGS = DEF(GCC46_ARM_DLINK2_FLAGS) >> @@ -4462,7 +4462,7 @@ DEFINE GCC49_ARM_ASM_FLAGS = DEF(GCC48_ARM_ASM_FLAGS) >> DEFINE GCC49_AARCH64_ASM_FLAGS = DEF(GCC48_AARCH64_ASM_FLAGS) >> DEFINE GCC49_ARM_CC_FLAGS = DEF(GCC48_ARM_CC_FLAGS) >> DEFINE GCC49_ARM_CC_XIPFLAGS = DEF(GCC48_ARM_CC_XIPFLAGS) >> -DEFINE GCC49_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -save-temps >> +DEFINE GCC49_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -pipe >> DEFINE GCC49_AARCH64_CC_XIPFLAGS = DEF(GCC48_AARCH64_CC_XIPFLAGS) >> DEFINE GCC49_ARM_DLINK_FLAGS = DEF(GCC48_ARM_DLINK_FLAGS) >> DEFINE GCC49_ARM_DLINK2_FLAGS = DEF(GCC48_ARM_DLINK2_FLAGS) >> > > "-pipe" isn't used anywhere else in "tools_def.template". Can we imagine > a platform where cross-compiling to aarch64 with gcc works otherwise, > but "-pipe" might break that? Cygwin perhaps? (No clue, honestly.) > > For consistency with the rest of "tools_def.template", I'd suggest > simply dropping "-save-temps", and thinking about "-pipe" separately > (and then for all the GCC toolchains and for all arches). But, I don't > feel particularly strongly about this. > Yeah, that's a fair point. The fact that -save-temps is specific to ARM does not mean we should perpetuate that with -pipe. Leif, if you agree, I will drop the addition of -pipe from this patch, and we can revisit it later for all GCC flavors. -- Ard.