From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: liming.gao@intel.com) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by groups.io with SMTP; Wed, 05 Jun 2019 08:47:54 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Jun 2019 08:47:53 -0700 X-ExtLoop1: 1 Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga004.fm.intel.com with ESMTP; 05 Jun 2019 08:47:53 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 5 Jun 2019 08:47:52 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 5 Jun 2019 08:47:52 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.137]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.10]) with mapi id 14.03.0415.000; Wed, 5 Jun 2019 23:47:50 +0800 From: "Liming Gao" To: Roman Agafonov , "devel@edk2.groups.io" CC: "Feng, Bob C" , "Zhu, Yonghong" Subject: Re: [PATCH v1 1/1] BaseTools: don't use WHOLEARCHIVE linker flag for VS2017 toolchain Thread-Topic: [PATCH v1 1/1] BaseTools: don't use WHOLEARCHIVE linker flag for VS2017 toolchain Thread-Index: AQHVGuv4d0wQOBhGyUqkX7qQMDJqw6aLpZbg//+SMACAAf3jIA== Date: Wed, 5 Jun 2019 15:47:50 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E46C5EF@SHSMSX104.ccr.corp.intel.com> References: <20190604154059.30380-1-roman.agafonov@aquantia.com> <20190604154059.30380-2-roman.agafonov@aquantia.com>,<4A89E2EF3DFEDB4C8BFDE51014F606A14E46BAAE@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMWYwMTk1M2EtZmViOC00M2JjLWExNjUtZWU0ZDE0YTJlYzIzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSkdcL2JyK1wvQUNWQVk5VndjUU80SFJHVW9TRUx2SCtmemN5WThYcGVQdXdaRVdyQjZFeXBISkM0RWw3ZDNEeFRwIn0= dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I build edk2 OVMF with VS2015 and VS2017. Their image size are almost same.= Have you the additional options to disable the optimization? In fact, /GL = option will remove the unused function and logic.=20 > -----Original Message----- > From: Roman Agafonov [mailto:Roman.Agafonov@aquantia.com] > Sent: Wednesday, June 5, 2019 1:21 AM > To: Gao, Liming ; devel@edk2.groups.io > Cc: Feng, Bob C ; Zhu, Yonghong > Subject: Re: [PATCH v1 1/1] BaseTools: don't use WHOLEARCHIVE linker flag= for VS2017 toolchain >=20 > Hi Liming, >=20 > Sure. Here is what I get after building our NIC driver binary with VS2015= x86 and VS2017 toolchains: >=20 > pcfist@pcfist-pc:/mnt/c/src/uefi/udk2018$ du -h Build/xgbe_atl/RELEASE_VS= 2015x86/X64/xgbe_atl.efi > Build/xgbe_atl/RELEASE_VS2017/X64/xgbe_atl.efi > 36K =A0 =A0 Build/xgbe_atl/RELEASE_VS2015x86/X64/xgbe_atl.efi > 68K =A0 =A0 Build/xgbe_atl/RELEASE_VS2017/X64/xgbe_atl.efi >=20 > Best regards, > Roman >=20 > From: Gao, Liming > Sent: Tuesday, June 4, 2019 6:54 PM > To: Roman Agafonov; devel@edk2.groups.io > Cc: Feng, Bob C; Zhu, Yonghong > Subject: RE: [PATCH v1 1/1] BaseTools: don't use WHOLEARCHIVE linker flag= for VS2017 toolchain >=20 > Can you show the size data with VS2017 and VS2015 for the same code? >=20 > Thanks > Liming > > -----Original Message----- > > From: Roman Agafonov [mailto:Roman.Agafonov@aquantia.com] > > Sent: Tuesday, June 4, 2019 11:41 PM > > To: devel@edk2.groups.io > > Cc: Feng, Bob C ; Gao, Liming ; Zhu, Yonghong > > Subject: [PATCH v1 1/1] BaseTools: don't use WHOLEARCHIVE linker flag f= or VS2017 toolchain > > > > I have noticed the resulting binaries are about twice as large when > > using VS2017 toolchain compared to the ones built with VS2015. It appea= rs > > this is caused by /WHOLEARCHIVE linker flag used by this toolchain. Thi= s > > flag was previously removed from VS2015 toolchain due to compatibility > > issues. I believe it should not be used with VS2017 as well. > > > > Cc: Bob Feng > > Cc: Liming Gao > > Cc: Yonghong Zhu > > Signed-off-by: Roman Agafonov > > --- > >=A0 BaseTools/Conf/tools_def.template | 2 +- > >=A0 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_d= ef.template > > index 26a2cf604f74..482a526f3052 100755 > > --- a/BaseTools/Conf/tools_def.template > > +++ b/BaseTools/Conf/tools_def.template > > @@ -1545,7 +1545,7 @@ NOOPT_VS2015x86_X64_DLINK_FLAGS=A0=A0=A0 =3D /NOL= OGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF > >=A0 *_VS2017_*_APP_FLAGS=A0=A0=A0=A0=A0=A0 =3D /nologo /E /TC > >=A0 *_VS2017_*_PP_FLAGS=A0=A0=A0=A0=A0=A0=A0 =3D /nologo /E /TC /FIAutoG= en.h > >=A0 *_VS2017_*_VFRPP_FLAGS=A0=A0=A0=A0 =3D /nologo /E /TC /DVFRCOMPILE /= FI$(MODULE_NAME)StrDefs.h > > -*_VS2017_*_DLINK2_FLAGS=A0=A0=A0 =3D /WHOLEARCHIVE > > +*_VS2017_*_DLINK2_FLAGS=A0=A0=A0 =3D > >=A0 *_VS2017_*_ASM16_PATH=A0=A0=A0=A0=A0 =3D DEF(VS2017_BIN_IA32)\ml.exe > > > >=A0 ################## > > -- > > 2.9.0.windows.1