From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 46D3C21E7902B for ; Tue, 22 Aug 2017 19:51:31 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Aug 2017 19:54:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,415,1498546800"; d="scan'208,217";a="143500580" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga006.fm.intel.com with ESMTP; 22 Aug 2017 19:54:04 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 22 Aug 2017 19:54:03 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.183]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.135]) with mapi id 14.03.0319.002; Wed, 23 Aug 2017 10:54:01 +0800 From: "Yao, Jiewen" To: "Gao, Liming" , "Kinney, Michael D" , "Song, BinX" , "Kinney, Michael D" CC: "edk2-devel@lists.01.org" Thread-Topic: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option Thread-Index: AdMaR4/UYVIifvoQTgaAWdAk42hJAQBTe1IgAAiJDdAAAKeUwA== Date: Wed, 23 Aug 2017 02:54:01 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A994877@shsmsx102.ccr.corp.intel.com> References: <559D2DF22BC9A3468B4FA1AA547F0EF10258DBE0@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D7747F0@shsmsx102.ccr.corp.intel.com> In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D7747F0@shsmsx102.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Aug 2017 02:51:31 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I checked existing code, we have below styles: MD4 Digest Wrapper Implementation which does not provide real capabilitie= s. Null Base Debug Library instance with empty functions. A emptry template implementation of PCD Library. Base Performance Library which provides no service. I think we can name it to be "empty functions", "empty implementation" Thank you Yao Jiewen From: Gao, Liming Sent: Wednesday, August 23, 2017 10:35 AM To: Kinney, Michael D ; Song, BinX ; Yao, Jiewen ; Kinney, Michael D Cc: edk2-devel@lists.01.org Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE opt= ion Mike: TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Fla= t32.nasm. FspSecCoreM, FspSecCoreS and FspSecCoreT all link this library. How about describe this function as the empty implementation? Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >Kinney, Michael D >Sent: Wednesday, August 23, 2017 6:27 AM >To: Song, BinX >; Yao, Jie= wen >; >Kinney, Michael D > >Cc: edk2-devel@lists.01.org >Subject: Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with >WHOLEARCHIVE option > >Bell Song, > >Why is it documented as a "Dummy" function? > >There must be a reference to this symbol somewhere or it would >not generate a link error. The implementation is an empty >function. Is that a better way to describe this function? > >Mike > >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On >> Behalf Of Song, BinX >> Sent: Sunday, August 20, 2017 11:35 PM >> To: Yao, Jiewen > >> Cc: edk2-devel@lists.01.org >> Subject: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with >> WHOLEARCHIVE option >> >> V2: >> - Recover TempRamInitApi API and add dummy TempRamInitApi >> function to fix >> build error with WHOLEARCHIVE option >> >> V1: >> - Delete useless external TempRamInitApi API to fix >> /WHOLEARCHIVE build >> error with VS2015 tool chain >> >> Cc: Jiewen Yao > >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Bell Song > >> --- >> IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm | 10 ++++++++++ >> IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm | 10 ++++++++++ >> 2 files changed, 20 insertions(+) >> >> diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm >> b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm >> index 9744e16..81b531e 100644 >> --- a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm >> +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm >> @@ -195,6 +195,16 @@ ASM_PFX(AsmGetPeiCoreOffset): >> ret >> >> ;-------------------------------------------------------------- >> -------------- >> +; TempRamInit API >> +; >> +; Dummy function for VS2015 WHOLEARCHIVE build option >> +; >> +;-------------------------------------------------------------- >> -------------- >> +global ASM_PFX(TempRamInitApi) >> +ASM_PFX(TempRamInitApi): >> + ret >> + >> +;-------------------------------------------------------------- >> -------------- >> ; Module Entrypoint API >> ;-------------------------------------------------------------- >> -------------- >> global ASM_PFX(_ModuleEntryPoint) >> diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm >> b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm >> index cdc1149..06a791f 100644 >> --- a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm >> +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm >> @@ -54,6 +54,16 @@ ASM_PFX(FspApiCommonContinue): >> ret >> >> ;-------------------------------------------------------------- >> -------------- >> +; TempRamInit API >> +; >> +; Dummy function for VS2015 WHOLEARCHIVE build option >> +; >> +;-------------------------------------------------------------- >> -------------- >> +global ASM_PFX(TempRamInitApi) >> +ASM_PFX(TempRamInitApi): >> + ret >> + >> +;-------------------------------------------------------------- >> -------------- >> ; Module Entrypoint API >> ;-------------------------------------------------------------- >> -------------- >> global ASM_PFX(_ModuleEntryPoint) >> -- >> 2.10.2.windows.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