public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming" <gaoliming@byosoft.com.cn>
To: <devel@edk2.groups.io>, <rebecca@bsdio.com>,
	"'Yao, Jiewen'" <jiewen.yao@intel.com>,
	"'Wang, Jian J'" <jian.j.wang@intel.com>,
	"'Lu, Xiaoyu1'" <xiaoyu1.lu@intel.com>,
	"'Jiang, Guomin'" <guomin.jiang@intel.com>,
	"'Andrew Fish'" <afish@apple.com>, "'Ni, Ray'" <ray.ni@intel.com>,
	"'Chiu, Chasel'" <chasel.chiu@intel.com>,
	"'Desimone, Nathaniel L'" <nathaniel.l.desimone@intel.com>,
	"'Zeng, Star'" <star.zeng@intel.com>
Subject: 回复: [edk2-devel] [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages
Date: Fri, 5 May 2023 15:41:15 +0800	[thread overview]
Message-ID: <00e801d97f24$f9033ef0$eb09bcd0$@byosoft.com.cn> (raw)
In-Reply-To: <d0746dc3-f6cd-7789-1c00-3d31298ce646@bsdio.com>

Jiewen:
  As Rebecca describes, IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc GCC49 tool chain adds -flto option to enable link-time optimization. 
  So, new GCCNOLTO also copies this option. QemuFspPkg.dsc is in IntelFsp2Pkg. Fsp2Pkg maintainer may give the answer why adds -flto option for GCC49.

Rebecca:
  This patch makes the changes cross the different packages. So, it may bring the confuse to the different package maintainers. Can these changes be separated for the different packages?

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Rebecca Cran
> 发送时间: 2023年5月5日 10:12
> 收件人: Yao, Jiewen <jiewen.yao@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; devel@edk2.groups.io; Wang, Jian J
> <jian.j.wang@intel.com>; Lu, Xiaoyu1 <xiaoyu1.lu@intel.com>; Jiang, Guomin
> <guomin.jiang@intel.com>; 'Andrew Fish' <afish@apple.com>; Ni, Ray
> <ray.ni@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone,
> Nathaniel L <nathaniel.l.desimone@intel.com>; Zeng, Star
> <star.zeng@intel.com>
> 主题: Re: [edk2-devel] [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains
> to tools_def.txt and update packages
> 
> If you look at the entire block, GCC49 also has -flto, so since GCCNOLTO
> is a copy of GCC49, that's why it has -flto:
> 
> 
> # Append build options for EDK and EDKII drivers (= is Append, == is
> Replace)
>    # Enable link-time optimization when building with GCC49 or GCCNOLTO
>    *_GCC49_IA32_CC_FLAGS = -flto
>    *_GCC49_IA32_DLINK_FLAGS = -flto
>    *_GCCNOLTO_IA32_CC_FLAGS = -flto
>    *_GCCNOLTO_IA32_DLINK_FLAGS = -flto
>    *_GCC5_IA32_CC_FLAGS = -fno-pic
>    *_GCC5_IA32_DLINK_FLAGS = -no-pie
>    *_GCC5_IA32_ASLCC_FLAGS = -fno-pic
>    *_GCC5_IA32_ASLDLINK_FLAGS = -no-pie
>    *_GCC_IA32_CC_FLAGS = -fno-pic
>    *_GCC_IA32_DLINK_FLAGS = -no-pie
>    *_GCC_IA32_ASLCC_FLAGS = -fno-pic
>    *_GCC_IA32_ASLDLINK_FLAGS = -no-pie
> 
> Hopefully we can remove the flag in future, but since it's in
> IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc and not a main .dsc file I'm not
> sure it's very important.
> 
> 
> --
> 
> Rebecca Cran
> 
> 
> On 5/4/23 20:02, Yao, Jiewen wrote:
> > Thanks Liming.
> >
> > I am not sure below change is expected or not. Please feedback if possible.
> Thank you!
> >
> >> Why we add "-flto" for "NOLTO" ?
> >>>> +  *_GCCNOLTO_IA32_CC_FLAGS = -flto
> >>>> +  *_GCCNOLTO_IA32_DLINK_FLAGS = -flto
> >
> >> -----Original Message-----
> >> From: gaoliming <gaoliming@byosoft.com.cn>
> >> Sent: Friday, May 5, 2023 10:00 AM
> >> To: devel@edk2.groups.io; rebecca@bsdio.com; Yao, Jiewen
> >> <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Lu,
> Xiaoyu1
> >> <xiaoyu1.lu@intel.com>; Jiang, Guomin <guomin.jiang@intel.com>;
> 'Andrew
> >> Fish' <afish@apple.com>; Ni, Ray <ray.ni@intel.com>; Chiu, Chasel
> >> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> >> <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com>
> >> Subject: 回复: [edk2-devel] [PATCH v6 08/16] Add GCC and GCCNOLTO
> >> toolchains to tools_def.txt and update packages
> >>
> >> Rebecca:
> >>    I understand this change is to add GCC and GCCNOLTO toolchain. GCC
> is
> >> same to GCC5, GCCNOLTO is same to GCC49. So, new tool chain copies the
> >> same changes from origin one. Right?
> >>
> >> Thanks
> >> Liming
> >>> -----邮件原件-----
> >>> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Rebecca
> >> Cran
> >>> 发送时间: 2023年5月2日 22:23
> >>> 收件人: Yao, Jiewen <jiewen.yao@intel.com>; devel@edk2.groups.io;
> >> Wang,
> >>> Jian J <jian.j.wang@intel.com>; Lu, Xiaoyu1 <xiaoyu1.lu@intel.com>;
> Jiang,
> >>> Guomin <guomin.jiang@intel.com>; Andrew Fish <afish@apple.com>; Ni,
> >> Ray
> >>> <ray.ni@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone,
> >>> Nathaniel L <nathaniel.l.desimone@intel.com>; Zeng, Star
> >>> <star.zeng@intel.com>
> >>> 主题: Re: [edk2-devel] [PATCH v6 08/16] Add GCC and GCCNOLTO
> >> toolchains
> >>> to tools_def.txt and update packages
> >>>
> >>> On 5/2/23 00:35, Yao, Jiewen wrote:
> >>>> Have you evaluated size impact with this new compiler option?
> Especially
> >>> crypto library.
> >>>> Bigger? Smaller?
> >>> The increase in size when we disable LTO doesn't seem too bad:
> >>>
> >>> With LTO:
> >>>
> >>> -rwxrwxr-x 1 bcran bcran   13M May  2 08:11
> >>> CryptoDxe_41A491D1-A972-468B-A299-DABF415A43B7.debug
> >>> -rwxrwxr-x 1 bcran bcran   13M May  2 08:11
> >>> CryptoDxe_AA83B296-F6EA-447F-B013-E80E98629CF8.debug
> >>> -rwxrwxr-x 1 bcran bcran   11M May  2 08:11
> >>> CryptoDxe_9FBDAD27-910C-4229-9EFF-A93BB5FE18C6.debug
> >>> -rwxrwxr-x 1 bcran bcran   11M May  2 08:11
> >>> CryptoDxe_ADD6D05A-52A2-437B-98E7-DBFDA89352CD.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.5M May  2 08:11
> >>> CryptoSmm_C1760694-AB3A-4532-8C6D-52D8F86EB1AA.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.3M May  2 08:11
> >>> CryptoSmm_1930CE7E-6598-48ED-8AB1-EBE7E85EC254.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.0M May  2 08:11
> >>> CryptoPei_A10827AD-7598-4955-B661-52EE2B62B057.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.8M May  2 08:11
> >>> CryptoPei_D51FCE59-6860-49C0-9B35-984470735D17.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.0M May  2 08:11
> >>> BaseCryptLibUnitTestShell.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.0M May  2 08:11
> >>> CryptoSmm_828959D3-CEA6-4B79-B1FC-5AFA0D7F2144.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.9M May  2 08:11
> >>> CryptoDxe_31C17C54-325D-47D5-8622-888098F10E44.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.7M May  2 08:11
> >>> CryptoSmm_E4D7D1E3-E886-4412-A442-EFD6F2502DD3.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.7M May  2 08:11
> >>> CryptoSmm_1A1C9E13-5722-4636-AB73-31328EDE8BAF.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.5M May  2 08:11
> >>> CryptoPei_DCC9CB49-7BE2-47C6-864E-6DCC932360F9.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.2M May  2 08:11
> >>> CryptoPei_EBD49F5C-6D8B-40D1-A56D-9AFA485A8661.debug
> >>> -rwxrwxr-x 1 bcran bcran  6.2M May  2 08:11
> >>> CryptoPei_C693A250-6B36-49B9-B7F3-7283F8136A72.debug
> >>> -rw-rw-r-- 1 bcran bcran 1005K May  2 08:11
> >>> CryptoDxe_41A491D1-A972-468B-A299-DABF415A43B7.efi
> >>> -rw-rw-r-- 1 bcran bcran  903K May  2 08:11
> >>> CryptoDxe_AA83B296-F6EA-447F-B013-E80E98629CF8.efi
> >>> -rw-rw-r-- 1 bcran bcran  811K May  2 08:11
> >>> CryptoDxe_9FBDAD27-910C-4229-9EFF-A93BB5FE18C6.efi
> >>> -rw-rw-r-- 1 bcran bcran  755K May  2 08:11
> >>> CryptoSmm_C1760694-AB3A-4532-8C6D-52D8F86EB1AA.efi
> >>> -rw-rw-r-- 1 bcran bcran  724K May  2 08:11
> >>> CryptoPei_A10827AD-7598-4955-B661-52EE2B62B057.efi
> >>> -rw-rw-r-- 1 bcran bcran  710K May  2 08:11
> >>> CryptoDxe_ADD6D05A-52A2-437B-98E7-DBFDA89352CD.efi
> >>> -rw-rw-r-- 1 bcran bcran  654K May  2 08:11
> >>> CryptoSmm_1930CE7E-6598-48ED-8AB1-EBE7E85EC254.efi
> >>> -rw-rw-r-- 1 bcran bcran  623K May  2 08:11
> >>> CryptoPei_D51FCE59-6860-49C0-9B35-984470735D17.efi
> >>> -rw-rw-r-- 1 bcran bcran  585K May  2 08:11
> >>> CryptoSmm_828959D3-CEA6-4B79-B1FC-5AFA0D7F2144.efi
> >>> -rw-rw-r-- 1 bcran bcran  560K May  2 08:11
> BaseCryptLibUnitTestShell.efi
> >>> -rw-rw-r-- 1 bcran bcran  555K May  2 08:11
> >>> CryptoPei_DCC9CB49-7BE2-47C6-864E-6DCC932360F9.efi
> >>> -rw-rw-r-- 1 bcran bcran  500K May  2 08:11
> >>> CryptoDxe_31C17C54-325D-47D5-8622-888098F10E44.efi
> >>> -rw-rw-r-- 1 bcran bcran  485K May  2 08:11
> >>> CryptoSmm_1A1C9E13-5722-4636-AB73-31328EDE8BAF.efi
> >>> -rw-rw-r-- 1 bcran bcran  485K May  2 08:11
> >>> CryptoSmm_E4D7D1E3-E886-4412-A442-EFD6F2502DD3.efi
> >>> -rw-rw-r-- 1 bcran bcran  454K May  2 08:11
> >>> CryptoPei_C693A250-6B36-49B9-B7F3-7283F8136A72.efi
> >>> -rw-rw-r-- 1 bcran bcran  454K May  2 08:11
> >>> CryptoPei_EBD49F5C-6D8B-40D1-A56D-9AFA485A8661.efi
> >>>
> >>> Without LTO:
> >>> -rwxrwxr-x 1 bcran bcran   14M May  2 08:13
> >>> CryptoDxe_41A491D1-A972-468B-A299-DABF415A43B7.debug
> >>> -rwxrwxr-x 1 bcran bcran   14M May  2 08:13
> >>> CryptoDxe_AA83B296-F6EA-447F-B013-E80E98629CF8.debug
> >>> -rwxrwxr-x 1 bcran bcran   12M May  2 08:13
> >>> CryptoDxe_9FBDAD27-910C-4229-9EFF-A93BB5FE18C6.debug
> >>> -rwxrwxr-x 1 bcran bcran   12M May  2 08:13
> >>> CryptoDxe_ADD6D05A-52A2-437B-98E7-DBFDA89352CD.debug
> >>> -rwxrwxr-x 1 bcran bcran  9.5M May  2 08:13
> >>> CryptoSmm_C1760694-AB3A-4532-8C6D-52D8F86EB1AA.debug
> >>> -rwxrwxr-x 1 bcran bcran  9.2M May  2 08:13
> >>> CryptoSmm_1930CE7E-6598-48ED-8AB1-EBE7E85EC254.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.9M May  2 08:13
> >>> CryptoPei_A10827AD-7598-4955-B661-52EE2B62B057.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.7M May  2 08:13
> >>> CryptoPei_D51FCE59-6860-49C0-9B35-984470735D17.debug
> >>> -rwxrwxr-x 1 bcran bcran  8.0M May  2 08:13
> >>> CryptoSmm_828959D3-CEA6-4B79-B1FC-5AFA0D7F2144.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.9M May  2 08:13
> >>> BaseCryptLibUnitTestShell.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.9M May  2 08:12
> >>> CryptoDxe_31C17C54-325D-47D5-8622-888098F10E44.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.7M May  2 08:12
> >>> CryptoSmm_1A1C9E13-5722-4636-AB73-31328EDE8BAF.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.7M May  2 08:13
> >>> CryptoSmm_E4D7D1E3-E886-4412-A442-EFD6F2502DD3.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.4M May  2 08:13
> >>> CryptoPei_DCC9CB49-7BE2-47C6-864E-6DCC932360F9.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.2M May  2 08:12
> >>> CryptoPei_C693A250-6B36-49B9-B7F3-7283F8136A72.debug
> >>> -rwxrwxr-x 1 bcran bcran  7.2M May  2 08:13
> >>> CryptoPei_EBD49F5C-6D8B-40D1-A56D-9AFA485A8661.debug
> >>> -rw-rw-r-- 1 bcran bcran  1.1M May  2 08:13
> >>> CryptoDxe_41A491D1-A972-468B-A299-DABF415A43B7.efi
> >>> -rw-rw-r-- 1 bcran bcran 1011K May  2 08:13
> >>> CryptoDxe_AA83B296-F6EA-447F-B013-E80E98629CF8.efi
> >>> -rw-rw-r-- 1 bcran bcran  914K May  2 08:13
> >>> CryptoDxe_9FBDAD27-910C-4229-9EFF-A93BB5FE18C6.efi
> >>> -rw-rw-r-- 1 bcran bcran  823K May  2 08:13
> >>> CryptoSmm_C1760694-AB3A-4532-8C6D-52D8F86EB1AA.efi
> >>> -rw-rw-r-- 1 bcran bcran  813K May  2 08:13
> >>> CryptoDxe_ADD6D05A-52A2-437B-98E7-DBFDA89352CD.efi
> >>> -rw-rw-r-- 1 bcran bcran  789K May  2 08:13
> >>> CryptoPei_A10827AD-7598-4955-B661-52EE2B62B057.efi
> >>> -rw-rw-r-- 1 bcran bcran  722K May  2 08:13
> >>> CryptoSmm_1930CE7E-6598-48ED-8AB1-EBE7E85EC254.efi
> >>> -rw-rw-r-- 1 bcran bcran  687K May  2 08:13
> >>> CryptoPei_D51FCE59-6860-49C0-9B35-984470735D17.efi
> >>> -rw-rw-r-- 1 bcran bcran  644K May  2 08:13
> >>> CryptoSmm_828959D3-CEA6-4B79-B1FC-5AFA0D7F2144.efi
> >>> -rw-rw-r-- 1 bcran bcran  632K May  2 08:13
> BaseCryptLibUnitTestShell.efi
> >>> -rw-rw-r-- 1 bcran bcran  610K May  2 08:13
> >>> CryptoPei_DCC9CB49-7BE2-47C6-864E-6DCC932360F9.efi
> >>> -rw-rw-r-- 1 bcran bcran  567K May  2 08:12
> >>> CryptoDxe_31C17C54-325D-47D5-8622-888098F10E44.efi
> >>> -rw-rw-r-- 1 bcran bcran  543K May  2 08:12
> >>> CryptoSmm_1A1C9E13-5722-4636-AB73-31328EDE8BAF.efi
> >>> -rw-rw-r-- 1 bcran bcran  543K May  2 08:13
> >>> CryptoSmm_E4D7D1E3-E886-4412-A442-EFD6F2502DD3.efi
> >>> -rw-rw-r-- 1 bcran bcran  508K May  2 08:12
> >>> CryptoPei_C693A250-6B36-49B9-B7F3-7283F8136A72.efi
> >>> -rw-rw-r-- 1 bcran bcran  508K May  2 08:13
> >>> CryptoPei_EBD49F5C-6D8B-40D1-A56D-9AFA485A8661.efi
> >>>
> >>>> Why we add "-flto" for "NOLTO" ?
> >>>>>> +  *_GCCNOLTO_IA32_CC_FLAGS = -flto
> >>>>>> +  *_GCCNOLTO_IA32_DLINK_FLAGS = -flto
> >>> I don't know why -flto was added for the GCC49 flags, but when I created
> >>> the GCCNOLTO flags I copied it because I presume there's a reason this
> >>> specific test package requires it.
> >>>
> >>>
> >>> --
> >>>
> >>> Rebecca Cran
> >>>
> >>>
> >>>
> >>>
> >>>
> >>
> 
> 
> 
> 




  reply	other threads:[~2023-05-05  7:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-01 16:08 [PATCH v6 00/16] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 01/16] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 02/16] BaseTools: Remove VS2008-VS2013 remnants Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 03/16] MdePkg: " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 04/16] edksetup.bat: " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 05/16] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 06/16] BaseTools: Remove EBC (EFI Byte Code) compiler definitions Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 07/16] BaseTools: Update VS toolchain descriptions in tools_def.txt.template Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages Rebecca Cran
2023-05-02  0:06   ` Rebecca Cran
2023-05-02  6:35     ` [edk2-devel] " Yao, Jiewen
2023-05-02 14:23       ` Rebecca Cran
2023-05-05  2:00         ` 回复: " gaoliming
2023-05-05  2:02           ` Yao, Jiewen
2023-05-05  2:11             ` Rebecca Cran
2023-05-05  7:41               ` gaoliming [this message]
2023-05-05  9:14                 ` Rebecca Cran
2023-05-05  2:05           ` 回复: " Rebecca Cran
     [not found]   ` <175B2AD2536192C7.26969@groups.io>
2023-05-02  0:08     ` Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 09/16] BaseTools/Conf/tools_def.template: Add section for deprecated toolchains Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 10/16] BaseTools: Add ARM and AARCH64 CLANGDWARF support in tools_def.template Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 11/16] BaseTools: As with CLANGDWARF IA32 and X64, use lld for ARM and AARCH64 Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 12/16] BaseTools: Remove CLANG35 toolchain from tools_def.template Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 13/16] BaseTools: Delete CLANG38 " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 14/16] BaseTools/Conf/tools_def.template: Bump VERSION to 3.00 Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 15/16] CryptoPkg: Delete CLANG35 and CLANG38 build flags Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 16/16] CryptoPkg: Copy CLANGPDB build flags to CLANGDWARF Rebecca Cran
2023-05-01 18:36 ` [edk2-devel] [PATCH v6 00/16] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Michael D Kinney
2023-05-04 12:42 ` Rebecca Cran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00e801d97f24$f9033ef0$eb09bcd0$@byosoft.com.cn' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox