Message ID | 20190107065541.1854-1-ard.biesheuvel@linaro.org |
---|---|
State | New |
Headers | show |
Series | [edk2] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations | expand |
Hi Ard, On 1/7/19 7:55 AM, 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. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > BaseTools/Conf/tools_def.template | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > index f7eb87af14c2..e68cfd9a4997 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > > *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto Why not add it globally to GCC5_ASLCC_FLAGS? > *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Looks sensible. Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > --- > BaseTools/Conf/tools_def.template | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > index f7eb87af14c2..e68cfd9a4997 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > > *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto > *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > -- > 2.20.1 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Ard: Could you consider the suggestion from https://lists.01.org/pipermail/edk2-devel/2019-January/034698.html? Thanks Liming > -----Original Message----- > From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > Sent: Monday, January 14, 2019 7:42 PM > To: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com> > Subject: Re: [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > Looks sensible. > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > > > --- > > BaseTools/Conf/tools_def.template | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > > index f7eb87af14c2..e68cfd9a4997 100755 > > --- a/BaseTools/Conf/tools_def.template > > +++ b/BaseTools/Conf/tools_def.template > > @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > > *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > > > > *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > > -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > > +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto > > *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > > *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > > *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > > -- > > 2.20.1 > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On 1/14/19 2:18 PM, Gao, Liming wrote: > Ard: > Could you consider the suggestion from https://lists.01.org/pipermail/edk2-devel/2019-January/034698.html? There might be a special case for Aarch64, but I'm not seeing it. > > Thanks > Liming >> -----Original Message----- >> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] >> Sent: Monday, January 14, 2019 7:42 PM >> To: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com> >> Subject: Re: [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations >> >> On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. >>> >>> Contributed-under: TianoCore Contribution Agreement 1.1 >>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> >> >> Looks sensible. >> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> >> >>> --- >>> BaseTools/Conf/tools_def.template | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template >>> index f7eb87af14c2..e68cfd9a4997 100755 >>> --- a/BaseTools/Conf/tools_def.template >>> +++ b/BaseTools/Conf/tools_def.template >>> @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os >>> *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy >>> >>> *_GCC5_ARM_ARCHCC_FLAGS = -mthumb >>> -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) >>> +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto >>> *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) >>> *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) >>> *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) >>> -- >>> 2.20.1 >>> > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
I see IA32 and X64 arch both have this option. I have no idea on AArch64. > -----Original Message----- > From: Philippe Mathieu-Daudé [mailto:philmd@redhat.com] > Sent: Monday, January 14, 2019 9:36 PM > To: Gao, Liming <liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>; Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > On 1/14/19 2:18 PM, Gao, Liming wrote: > > Ard: > > Could you consider the suggestion from https://lists.01.org/pipermail/edk2-devel/2019-January/034698.html? > > There might be a special case for Aarch64, but I'm not seeing it. > > > > > Thanks > > Liming > >> -----Original Message----- > >> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > >> Sent: Monday, January 14, 2019 7:42 PM > >> To: Ard Biesheuvel <ard.biesheuvel@linaro.org> > >> Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com> > >> Subject: Re: [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > >> > >> On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. > >>> > >>> Contributed-under: TianoCore Contribution Agreement 1.1 > >>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > >> > >> Looks sensible. > >> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > >> > >>> --- > >>> BaseTools/Conf/tools_def.template | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > >>> index f7eb87af14c2..e68cfd9a4997 100755 > >>> --- a/BaseTools/Conf/tools_def.template > >>> +++ b/BaseTools/Conf/tools_def.template > >>> @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > >>> *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > >>> > >>> *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > >>> -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > >>> +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto > >>> *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > >>> *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > >>> *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > >>> -- > >>> 2.20.1 > >>> > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > >
On Mon, 14 Jan 2019 at 14:38, Gao, Liming <liming.gao@intel.com> wrote: > > I see IA32 and X64 arch both have this option. I have no idea on AArch64. > I think we should just add it for all LTO toolchains in the GCC family. These are fixed size data structures so LTO is entirely pointless here. > > -----Original Message----- > > From: Philippe Mathieu-Daudé [mailto:philmd@redhat.com] > > Sent: Monday, January 14, 2019 9:36 PM > > To: Gao, Liming <liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>; Ard Biesheuvel <ard.biesheuvel@linaro.org> > > Cc: edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > > > On 1/14/19 2:18 PM, Gao, Liming wrote: > > > Ard: > > > Could you consider the suggestion from https://lists.01.org/pipermail/edk2-devel/2019-January/034698.html? > > > > There might be a special case for Aarch64, but I'm not seeing it. > > > > > > > > Thanks > > > Liming > > >> -----Original Message----- > > >> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > > >> Sent: Monday, January 14, 2019 7:42 PM > > >> To: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > >> Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com> > > >> Subject: Re: [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > >> > > >> On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. > > >>> > > >>> Contributed-under: TianoCore Contribution Agreement 1.1 > > >>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > >> > > >> Looks sensible. > > >> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > > >> > > >>> --- > > >>> BaseTools/Conf/tools_def.template | 2 +- > > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > > >>> > > >>> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > > >>> index f7eb87af14c2..e68cfd9a4997 100755 > > >>> --- a/BaseTools/Conf/tools_def.template > > >>> +++ b/BaseTools/Conf/tools_def.template > > >>> @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > > >>> *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > > >>> > > >>> *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > > >>> -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > > >>> +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto > > >>> *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > > >>> *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > > >>> *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > > >>> -- > > >>> 2.20.1 > > >>> > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel > > >
That's great. > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ard Biesheuvel > Sent: Monday, January 14, 2019 9:47 PM > To: Gao, Liming <liming.gao@intel.com> > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > On Mon, 14 Jan 2019 at 14:38, Gao, Liming <liming.gao@intel.com> wrote: > > > > I see IA32 and X64 arch both have this option. I have no idea on AArch64. > > > > I think we should just add it for all LTO toolchains in the GCC > family. These are fixed size data structures so LTO is entirely > pointless here. > > > > > -----Original Message----- > > > From: Philippe Mathieu-Daudé [mailto:philmd@redhat.com] > > > Sent: Monday, January 14, 2019 9:36 PM > > > To: Gao, Liming <liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>; Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > Cc: edk2-devel@lists.01.org > > > Subject: Re: [edk2] [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > > > > > On 1/14/19 2:18 PM, Gao, Liming wrote: > > > > Ard: > > > > Could you consider the suggestion from https://lists.01.org/pipermail/edk2-devel/2019-January/034698.html? > > > > > > There might be a special case for Aarch64, but I'm not seeing it. > > > > > > > > > > > Thanks > > > > Liming > > > >> -----Original Message----- > > > >> From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > > > >> Sent: Monday, January 14, 2019 7:42 PM > > > >> To: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > >> Cc: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com> > > > >> Subject: Re: [PATCH] BaseTools/tools_def ARM GCC5: disable LTO for ASLC invocations > > > >> > > > >> On Mon, Jan 07, 2019 at 07:55:41AM +0100, 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. > > > >>> > > > >>> Contributed-under: TianoCore Contribution Agreement 1.1 > > > >>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > >> > > > >> Looks sensible. > > > >> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > > > >> > > > >>> --- > > > >>> BaseTools/Conf/tools_def.template | 2 +- > > > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > > > >>> > > > >>> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > > > >>> index f7eb87af14c2..e68cfd9a4997 100755 > > > >>> --- a/BaseTools/Conf/tools_def.template > > > >>> +++ b/BaseTools/Conf/tools_def.template > > > >>> @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os > > > >>> *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy > > > >>> > > > >>> *_GCC5_ARM_ARCHCC_FLAGS = -mthumb > > > >>> -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) > > > >>> +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto > > > >>> *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) > > > >>> *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) > > > >>> *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS) > > > >>> -- > > > >>> 2.20.1 > > > >>> > > > > _______________________________________________ > > > > edk2-devel mailing list > > > > edk2-devel@lists.01.org > > > > https://lists.01.org/mailman/listinfo/edk2-devel > > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index f7eb87af14c2..e68cfd9a4997 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -5145,7 +5145,7 @@ RELEASE_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os *_GCC5_ARM_RC_PATH = ENV(GCC5_ARM_PREFIX)objcopy *_GCC5_ARM_ARCHCC_FLAGS = -mthumb -*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) +*_GCC5_ARM_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -fno-lto *_GCC5_ARM_ASLDLINK_FLAGS = DEF(GCC5_ARM_ASLDLINK_FLAGS) *_GCC5_ARM_ASM_FLAGS = DEF(GCC5_ARM_ASM_FLAGS) *_GCC5_ARM_DLINK2_FLAGS = DEF(GCC5_ARM_DLINK2_FLAGS)
GCC for 32-bit ARM chokes on .aslc files when running with LTO enabled. Since LTO has no benefit whatsoever here, just disable it. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- BaseTools/Conf/tools_def.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.20.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel