public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Rebecca Cran" <rebecca@bsdio.com>
To: "Yao, Jiewen" <jiewen.yao@intel.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	"devel@edk2.groups.io" <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>
Subject: Re: [edk2-devel] [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages
Date: Thu, 4 May 2023 20:11:46 -0600	[thread overview]
Message-ID: <d0746dc3-f6cd-7789-1c00-3d31298ce646@bsdio.com> (raw)
In-Reply-To: <MW4PR11MB5872039DAC6B32981E909BD38C729@MW4PR11MB5872.namprd11.prod.outlook.com>

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  2:11 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 [this message]
2023-05-05  7:41               ` 回复: " gaoliming
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=d0746dc3-f6cd-7789-1c00-3d31298ce646@bsdio.com \
    --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