From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4864:20::d35; helo=mail-io1-xd35.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 533E2211B5A23 for ; Mon, 14 Jan 2019 09:08:48 -0800 (PST) Received: by mail-io1-xd35.google.com with SMTP id x6so18197048ioa.9 for ; Mon, 14 Jan 2019 09:08:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jq5y8iq2Z1oFrhLlI3jXOu4ISr3A3CmR86Jwt119lNA=; b=AkXqmzf9Cocp27Uf886wMX07AXwKGvs0tSFvfuHjrMl//ceuq/s9+9EaMPrXDq8HZj 2Zk2+pkQC9uXK/EybXwFBW7gwqlhVKLQghd/8qt1rF5GYOM/fztmVvT0dtS20WQXkkT5 AvIfF2cjgIEnpJD5uCvvnQLrnTVAx//7k13Oc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jq5y8iq2Z1oFrhLlI3jXOu4ISr3A3CmR86Jwt119lNA=; b=mAoWbaH99ZEsUuQzkMPXVwfoumE/TkJ8rg6dWdizbIbpMxvgwhyDhEUQdkVhCuhxCb nO4xnG9WpOnB2MGJ2EMvq+hH5BW55Z3JpHE+CWcgpFnwd2wTBVY6aho9zALRaSxu6uTc FQB+AT7h7sIMJ8LI2rvnRV7e2km8H0xOeMNO7HA4pi+Ko6R11FctegdpYYax0gjXhjqQ SKiKa3kkVJQCNCv8mREcdzFGnJC6kc2Boz3T7o/wdYDME7eSxgiEDGcjYTWhUP3V5E9u DtkIiRRTO2R5fR5Hl3e5UbKAEWghaRZ9As3Xm8i7K0vM7zUU0pjH+ZLg3QRSO/iRLzJ8 HQXQ== X-Gm-Message-State: AJcUukderJzDDkEQIuxspz5zyvk9xj6W9iJOmzG0qyvu1D5u/52hhnYl aLgj8v2AqSX/M8PyEsH/MqW6+jUshE/OQb78IOtMaIhyw4W+Jg== X-Google-Smtp-Source: ALg8bN5FOiDHaNsP8BEYYHPuflriL14JATXFCxw6KZgzxRZOjNySdVT9DSB7GukM4jxlnZJvl2ZM6InYg+18MiUQ4o0= X-Received: by 2002:a5e:c206:: with SMTP id v6mr17609285iop.60.1547485728144; Mon, 14 Jan 2019 09:08:48 -0800 (PST) MIME-Version: 1.0 References: <20190114140449.2416-1-ard.biesheuvel@linaro.org> <153d57ac-f82a-b489-f834-71759d95d136@redhat.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E3B1706@SHSMSX152.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E3B1706@SHSMSX152.ccr.corp.intel.com> From: Ard Biesheuvel Date: Mon, 14 Jan 2019 18:08:37 +0100 Message-ID: To: "Gao, Liming" Cc: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= , "edk2-devel@lists.01.org" , "leif.lindholm@linaro.org" Subject: Re: [PATCH v2] BaseTools/tools_def GCC5: disable LTO for ASLC invocations X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jan 2019 17:08:49 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 14 Jan 2019 at 15:10, Gao, Liming wrote: > > Reviewed-by: Liming Gao > Pushed as 17f5fd9291e0..e695e44545b4 Thanks all > > -----Original Message----- > > From: Philippe Mathieu-Daud=C3=A9 [mailto:philmd@redhat.com] > > Sent: Monday, January 14, 2019 10:09 PM > > To: Ard Biesheuvel ; Gao, Liming ; edk2-devel@lists.01.org > > Cc: leif.lindholm@linaro.org > > Subject: Re: [PATCH v2] BaseTools/tools_def GCC5: disable LTO for ASLC = invocations > > > > On 1/14/19 3:04 PM, Ard Biesheuvel wrote: > > > GCC for 32-bit ARM chokes on .aslc files when running with LTO > > > enabled. Since LTO has no benefit whatsoever here, just disable > > > it globally for GCC5 and up when building .aslc files. > > > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Ard Biesheuvel > > > Reviewed-by: Leif Lindholm > > > > Reviewed-by: Philippe Mathieu-Daud=C3=A9 > > > > > --- > > > BaseTools/Conf/tools_def.template | 27 +++++++++++--------- > > > 1 file changed, 15 insertions(+), 12 deletions(-) > > > > > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools= _def.template > > > index 4d74816837ab..2bd098287219 100755 > > > --- a/BaseTools/Conf/tools_def.template > > > +++ b/BaseTools/Conf/tools_def.template > > > @@ -4155,6 +4155,7 @@ DEFINE GCC48_AARCH64_DLINK_FLAGS =3D DEF(GC= C_AARCH64_DLINK_FLAGS) > > > DEFINE GCC48_AARCH64_DLINK2_FLAGS =3D DEF(GCC_DLINK2_FLAGS_COMMON= ) -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0x228 > > > DEFINE GCC48_ARM_ASLDLINK_FLAGS =3D DEF(GCC_ARM_ASLDLINK_FLAGS)= -Wl,--oformat=3Delf32-littlearm > > > DEFINE GCC48_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC_AARCH64_ASLDLINK_FL= AGS) > > > +DEFINE GCC48_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > > > > DEFINE GCC49_IA32_CC_FLAGS =3D DEF(GCC48_IA32_CC_FLAGS) > > > DEFINE GCC49_X64_CC_FLAGS =3D DEF(GCC48_X64_CC_FLAGS) > > > @@ -4177,6 +4178,7 @@ DEFINE GCC49_AARCH64_DLINK_FLAGS =3D DEF(GC= C48_AARCH64_DLINK_FLAGS) -z common- > > > DEFINE GCC49_AARCH64_DLINK2_FLAGS =3D DEF(GCC48_AARCH64_DLINK2_FL= AGS) > > > DEFINE GCC49_ARM_ASLDLINK_FLAGS =3D DEF(GCC48_ARM_ASLDLINK_FLAG= S) > > > DEFINE GCC49_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC48_AARCH64_ASLDLINK_= FLAGS) > > > +DEFINE GCC49_ASLCC_FLAGS =3D DEF(GCC48_ASLCC_FLAGS) > > > > > > DEFINE GCC5_IA32_CC_FLAGS =3D DEF(GCC49_IA32_CC_FLAGS) -f= no-pic -fno-pie > > > DEFINE GCC5_X64_CC_FLAGS =3D DEF(GCC49_X64_CC_FLAGS) > > > @@ -4199,6 +4201,7 @@ DEFINE GCC5_AARCH64_DLINK_FLAGS =3D DEF(GC= C49_AARCH64_DLINK_FLAGS) > > > DEFINE GCC5_AARCH64_DLINK2_FLAGS =3D DEF(GCC49_AARCH64_DLINK2_FL= AGS) -Wno-error > > > DEFINE GCC5_ARM_ASLDLINK_FLAGS =3D DEF(GCC49_ARM_ASLDLINK_FLAG= S) > > > DEFINE GCC5_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC49_AARCH64_ASLDLINK_= FLAGS) > > > +DEFINE GCC5_ASLCC_FLAGS =3D DEF(GCC49_ASLCC_FLAGS) -fno= -lto > > > > > > ####################################################################= ################ > > > # > > > @@ -4301,7 +4304,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS =3D DEF(GC= C49_AARCH64_ASLDLINK_FLAGS) > > > *_GCC48_IA32_ASLPP_PATH =3D DEF(GCC48_IA32_PREFIX)gcc > > > *_GCC48_IA32_RC_PATH =3D DEF(GCC48_IA32_PREFIX)objcopy > > > > > > -*_GCC48_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 > > > +*_GCC48_IA32_ASLCC_FLAGS =3D DEF(GCC48_ASLCC_FLAGS) -m32 > > > *_GCC48_IA32_ASLDLINK_FLAGS =3D DEF(GCC48_IA32_X64_ASLDLINK_FL= AGS) -Wl,-m,elf_i386 > > > *_GCC48_IA32_ASM_FLAGS =3D DEF(GCC48_ASM_FLAGS) -m32 -mar= ch=3Di386 > > > *_GCC48_IA32_DLINK_FLAGS =3D DEF(GCC48_IA32_X64_DLINK_FLAGS= ) -Wl,-m,elf_i386,--oformat=3Delf32-i386 > > > @@ -4329,7 +4332,7 @@ RELEASE_GCC48_IA32_CC_FLAGS =3D DEF(GCC48= _IA32_CC_FLAGS) -Os -Wno-unused-but > > > *_GCC48_X64_ASLPP_PATH =3D DEF(GCC48_X64_PREFIX)gcc > > > *_GCC48_X64_RC_PATH =3D DEF(GCC48_X64_PREFIX)objcopy > > > > > > -*_GCC48_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 > > > +*_GCC48_X64_ASLCC_FLAGS =3D DEF(GCC48_ASLCC_FLAGS) -m64 > > > *_GCC48_X64_ASLDLINK_FLAGS =3D DEF(GCC48_IA32_X64_ASLDLINK_FLA= GS) -Wl,-m,elf_x86_64 > > > *_GCC48_X64_ASM_FLAGS =3D DEF(GCC48_ASM_FLAGS) -m64 > > > *_GCC48_X64_DLINK_FLAGS =3D DEF(GCC48_X64_DLINK_FLAGS) > > > @@ -4359,7 +4362,7 @@ RELEASE_GCC48_X64_CC_FLAGS =3D DEF(GCC48_= X64_CC_FLAGS) -Os -Wno-unused-but-s > > > *_GCC48_ARM_ARCHCC_FLAGS =3D -mthumb > > > *_GCC48_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a > > > > > > -*_GCC48_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC48_ARM_ASLCC_FLAGS =3D DEF(GCC48_ASLCC_FLAGS) > > > *_GCC48_ARM_ASLDLINK_FLAGS =3D DEF(GCC48_ARM_ASLDLINK_FLAGS) > > > *_GCC48_ARM_ASM_FLAGS =3D DEF(GCC48_ARM_ASM_FLAGS) > > > *_GCC48_ARM_DLINK_FLAGS =3D DEF(GCC48_ARM_DLINK_FLAGS) > > > @@ -4389,7 +4392,7 @@ RELEASE_GCC48_ARM_CC_FLAGS =3D DEF(GCC48_= ARM_CC_FLAGS) -Wno-unused-but-set-v > > > *_GCC48_AARCH64_ASLPP_PATH =3D ENV(GCC48_AARCH64_PREFIX)gcc > > > *_GCC48_AARCH64_RC_PATH =3D ENV(GCC48_AARCH64_PREFIX)objcop= y > > > > > > -*_GCC48_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC48_AARCH64_ASLCC_FLAGS =3D DEF(GCC48_ASLCC_FLAGS) > > > *_GCC48_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC48_AARCH64_ASLDLINK_FLAG= S) > > > *_GCC48_AARCH64_ASM_FLAGS =3D DEF(GCC48_AARCH64_ASM_FLAGS) > > > *_GCC48_AARCH64_DLINK_FLAGS =3D DEF(GCC48_AARCH64_DLINK_FLAGS) > > > @@ -4440,7 +4443,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS =3D DEF(GCC48_= AARCH64_CC_FLAGS) -Wno-unused-but-s > > > *_GCC49_IA32_ASLPP_PATH =3D DEF(GCC49_IA32_PREFIX)gcc > > > *_GCC49_IA32_RC_PATH =3D DEF(GCC49_IA32_PREFIX)objcopy > > > > > > -*_GCC49_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 > > > +*_GCC49_IA32_ASLCC_FLAGS =3D DEF(GCC49_ASLCC_FLAGS) -m32 > > > *_GCC49_IA32_ASLDLINK_FLAGS =3D DEF(GCC49_IA32_X64_ASLDLINK_FL= AGS) -Wl,-m,elf_i386 > > > *_GCC49_IA32_ASM_FLAGS =3D DEF(GCC49_ASM_FLAGS) -m32 -mar= ch=3Di386 > > > *_GCC49_IA32_DLINK_FLAGS =3D DEF(GCC49_IA32_X64_DLINK_FLAGS= ) -Wl,-m,elf_i386,--oformat=3Delf32-i386 > > > @@ -4468,7 +4471,7 @@ RELEASE_GCC49_IA32_CC_FLAGS =3D DEF(GCC49= _IA32_CC_FLAGS) -Os -Wno-unused-but > > > *_GCC49_X64_ASLPP_PATH =3D DEF(GCC49_X64_PREFIX)gcc > > > *_GCC49_X64_RC_PATH =3D DEF(GCC49_X64_PREFIX)objcopy > > > > > > -*_GCC49_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 > > > +*_GCC49_X64_ASLCC_FLAGS =3D DEF(GCC49_ASLCC_FLAGS) -m64 > > > *_GCC49_X64_ASLDLINK_FLAGS =3D DEF(GCC49_IA32_X64_ASLDLINK_FLA= GS) -Wl,-m,elf_x86_64 > > > *_GCC49_X64_ASM_FLAGS =3D DEF(GCC49_ASM_FLAGS) -m64 > > > *_GCC49_X64_DLINK_FLAGS =3D DEF(GCC49_X64_DLINK_FLAGS) > > > @@ -4498,7 +4501,7 @@ RELEASE_GCC49_X64_CC_FLAGS =3D DEF(GCC49_= X64_CC_FLAGS) -Os -Wno-unused-but-s > > > *_GCC49_ARM_ARCHCC_FLAGS =3D -mthumb > > > *_GCC49_ARM_PLATFORM_FLAGS =3D -march=3Darmv7-a > > > > > > -*_GCC49_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC49_ARM_ASLCC_FLAGS =3D DEF(GCC49_ASLCC_FLAGS) > > > *_GCC49_ARM_ASLDLINK_FLAGS =3D DEF(GCC49_ARM_ASLDLINK_FLAGS) > > > *_GCC49_ARM_ASM_FLAGS =3D DEF(GCC49_ARM_ASM_FLAGS) > > > *_GCC49_ARM_DLINK_FLAGS =3D DEF(GCC49_ARM_DLINK_FLAGS) > > > @@ -4528,7 +4531,7 @@ RELEASE_GCC49_ARM_CC_FLAGS =3D DEF(GCC49_= ARM_CC_FLAGS) -Wno-unused-but-set-v > > > *_GCC49_AARCH64_ASLPP_PATH =3D ENV(GCC49_AARCH64_PREFIX)gcc > > > *_GCC49_AARCH64_RC_PATH =3D ENV(GCC49_AARCH64_PREFIX)objcop= y > > > > > > -*_GCC49_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC49_AARCH64_ASLCC_FLAGS =3D DEF(GCC49_ASLCC_FLAGS) > > > *_GCC49_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC49_AARCH64_ASLDLINK_FLAG= S) > > > *_GCC49_AARCH64_ASM_FLAGS =3D DEF(GCC49_AARCH64_ASM_FLAGS) > > > *_GCC49_AARCH64_DLINK2_FLAGS =3D DEF(GCC49_AARCH64_DLINK2_FLAGS) > > > @@ -4586,7 +4589,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z com= mon-page-size=3D0x20 > > > *_GCC5_IA32_ASLPP_PATH =3D DEF(GCC5_IA32_PREFIX)gcc > > > *_GCC5_IA32_RC_PATH =3D DEF(GCC5_IA32_PREFIX)objcopy > > > > > > -*_GCC5_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fno-= lto > > > +*_GCC5_IA32_ASLCC_FLAGS =3D DEF(GCC5_ASLCC_FLAGS) -m32 > > > *_GCC5_IA32_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAG= S) -Wl,-m,elf_i386 -no-pie > > > *_GCC5_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march= =3Di386 > > > *_GCC5_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -no= -pie > > > @@ -4618,7 +4621,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS =3D DEF(GCC5_I= A32_X64_DLINK_FLAGS) -flto -Os -Wl, > > > *_GCC5_X64_ASLPP_PATH =3D DEF(GCC5_X64_PREFIX)gcc > > > *_GCC5_X64_RC_PATH =3D DEF(GCC5_X64_PREFIX)objcopy > > > > > > -*_GCC5_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno-= lto > > > +*_GCC5_X64_ASLCC_FLAGS =3D DEF(GCC5_ASLCC_FLAGS) -m64 > > > *_GCC5_X64_ASLDLINK_FLAGS =3D DEF(GCC5_IA32_X64_ASLDLINK_FLAG= S) -Wl,-m,elf_x86_64 > > > *_GCC5_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 > > > *_GCC5_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) > > > @@ -4650,7 +4653,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS =3D DEF(GCC5_X= 64_DLINK_FLAGS) -flto -Os > > > *_GCC5_ARM_RC_PATH =3D ENV(GCC5_ARM_PREFIX)objcopy > > > > > > *_GCC5_ARM_ARCHCC_FLAGS =3D -mthumb > > > -*_GCC5_ARM_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC5_ARM_ASLCC_FLAGS =3D DEF(GCC5_ASLCC_FLAGS) > > > *_GCC5_ARM_ASLDLINK_FLAGS =3D DEF(GCC5_ARM_ASLDLINK_FLAGS) > > > *_GCC5_ARM_ASM_FLAGS =3D DEF(GCC5_ARM_ASM_FLAGS) > > > *_GCC5_ARM_DLINK2_FLAGS =3D DEF(GCC5_ARM_DLINK2_FLAGS) > > > @@ -4684,7 +4687,7 @@ RELEASE_GCC5_ARM_DLINK_FLAGS =3D DEF(GCC5_A= RM_DLINK_FLAGS) -flto -Os -L$(WORKS > > > *_GCC5_AARCH64_ASLPP_PATH =3D ENV(GCC5_AARCH64_PREFIX)gcc > > > *_GCC5_AARCH64_RC_PATH =3D ENV(GCC5_AARCH64_PREFIX)objcopy > > > > > > -*_GCC5_AARCH64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) > > > +*_GCC5_AARCH64_ASLCC_FLAGS =3D DEF(GCC5_ASLCC_FLAGS) > > > *_GCC5_AARCH64_ASLDLINK_FLAGS =3D DEF(GCC5_AARCH64_ASLDLINK_FLAGS= ) > > > *_GCC5_AARCH64_ASM_FLAGS =3D DEF(GCC5_AARCH64_ASM_FLAGS) > > > *_GCC5_AARCH64_DLINK2_FLAGS =3D DEF(GCC5_AARCH64_DLINK2_FLAGS) > > >