[edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Song, BinX posted 1 patch 6 years, 7 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryM.nasm | 10 ++++++++++
IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryS.nasm | 10 ++++++++++
2 files changed, 20 insertions(+)
[edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Song, BinX 6 years, 7 months ago
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 <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bell Song <binx.song@intel.com>
---
 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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Gao, Liming 6 years, 7 months ago
Bin:
  Please remove VS2015 from the comments in source files. 

Thanks
Liming
>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Song, BinX
>Sent: Monday, August 21, 2017 2:35 PM
>To: Yao, Jiewen <jiewen.yao@intel.com>
>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 <jiewen.yao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.0
>Signed-off-by: Bell Song <binx.song@intel.com>
>---
> 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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Song, BinX 6 years, 7 months ago
Hi Liming,

Got it, will update V3.

Best Regards,
Bell Song


> -----Original Message-----
> From: Gao, Liming
> Sent: Monday, August 21, 2017 4:20 PM
> To: Song, BinX <binx.song@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE
> option
> 
> Bin:
>   Please remove VS2015 from the comments in source files.
> 
> Thanks
> Liming
> >-----Original Message-----
> >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> >Song, BinX
> >Sent: Monday, August 21, 2017 2:35 PM
> >To: Yao, Jiewen <jiewen.yao@intel.com>
> >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 <jiewen.yao@intel.com>
> >Contributed-under: TianoCore Contribution Agreement 1.0
> >Signed-off-by: Bell Song <binx.song@intel.com>
> >---
> > 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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Yao, Jiewen 6 years, 7 months ago
Hi
Can we add "JMP $" before ret for the empty function?

It is to prevent the empty function is linked by mistake.

Thank you
Yao Jiewen

> -----Original Message-----
> From: Song, BinX
> Sent: Monday, August 21, 2017 2:35 PM
> To: Yao, Jiewen <jiewen.yao@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: [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 <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Bell Song <binx.song@intel.com>
> ---
>  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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Song, BinX 6 years, 7 months ago
Hi Jiewen,

Yes, I will update.

Best Regards,
Bell Song


> -----Original Message-----
> From: Yao, Jiewen
> Sent: Monday, August 21, 2017 4:26 PM
> To: Song, BinX <binx.song@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE
> option
> 
> Hi
> Can we add "JMP $" before ret for the empty function?
> 
> It is to prevent the empty function is linked by mistake.
> 
> Thank you
> Yao Jiewen
> 
> > -----Original Message-----
> > From: Song, BinX
> > Sent: Monday, August 21, 2017 2:35 PM
> > To: Yao, Jiewen <jiewen.yao@intel.com>
> > Cc: edk2-devel@lists.01.org
> > Subject: [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 <jiewen.yao@intel.com>
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Bell Song <binx.song@intel.com>
> > ---
> >  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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Kinney, Michael D 6 years, 7 months ago
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 <jiewen.yao@intel.com>
> 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 <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Bell Song <binx.song@intel.com>
> ---
>  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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Gao, Liming 6 years, 7 months ago
Mike:
  TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
>Kinney, Michael D <michael.d.kinney@intel.com>
>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 <jiewen.yao@intel.com>
>> 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 <jiewen.yao@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com>
>> ---
>>  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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Yao, Jiewen 6 years, 7 months ago
I checked existing code, we have below styles:
  MD4 Digest Wrapper Implementation which does not provide real capabilities.
  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 <michael.d.kinney@intel.com>; Song, BinX <binx.song@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Cc: edk2-devel@lists.01.org
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Mike:
  TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>;
>Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
>Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com<mailto:binx.song@intel.com>>
>> ---
>>  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<mailto:edk2-devel@lists.01.org>
>> https://lists.01.org/mailman/listinfo/edk2-devel
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org<mailto: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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Song, BinX 6 years, 7 months ago
Hi Jiewen,

Do I need to update this patch?

Best Regards,
Bell Song

From: Yao, Jiewen
Sent: Wednesday, August 23, 2017 10:54 AM
To: Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Song, BinX <binx.song@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Cc: edk2-devel@lists.01.org
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

I checked existing code, we have below styles:
  MD4 Digest Wrapper Implementation which does not provide real capabilities.
  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 <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Song, BinX <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Mike:
  TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>;
>Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
>Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com<mailto:binx.song@intel.com>>
>> ---
>>  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<mailto:edk2-devel@lists.01.org>
>> https://lists.01.org/mailman/listinfo/edk2-devel
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org<mailto: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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Yao, Jiewen 6 years, 7 months ago
Never mind.
If we agree to use "empty" in comment, I can update for you when I check in.

Thank you
Yao Jiewen

From: Song, BinX
Sent: Wednesday, August 23, 2017 11:02 AM
To: Yao, Jiewen <jiewen.yao@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Cc: edk2-devel@lists.01.org
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Hi Jiewen,

Do I need to update this patch?

Best Regards,
Bell Song

From: Yao, Jiewen
Sent: Wednesday, August 23, 2017 10:54 AM
To: Gao, Liming <liming.gao@intel.com<mailto:liming.gao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Song, BinX <binx.song@intel.com<mailto:binx.song@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

I checked existing code, we have below styles:
  MD4 Digest Wrapper Implementation which does not provide real capabilities.
  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 <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Song, BinX <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Mike:
  TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>;
>Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
>Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com<mailto:binx.song@intel.com>>
>> ---
>>  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<mailto:edk2-devel@lists.01.org>
>> https://lists.01.org/mailman/listinfo/edk2-devel
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org<mailto: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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Song, BinX 6 years, 7 months ago
Got it, thanks.

Best Regards,
Bell Song

From: Yao, Jiewen
Sent: Wednesday, August 23, 2017 11:03 AM
To: Song, BinX <binx.song@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Cc: edk2-devel@lists.01.org
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Never mind.
If we agree to use "empty" in comment, I can update for you when I check in.

Thank you
Yao Jiewen

From: Song, BinX
Sent: Wednesday, August 23, 2017 11:02 AM
To: Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Gao, Liming <liming.gao@intel.com<mailto:liming.gao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Hi Jiewen,

Do I need to update this patch?

Best Regards,
Bell Song

From: Yao, Jiewen
Sent: Wednesday, August 23, 2017 10:54 AM
To: Gao, Liming <liming.gao@intel.com<mailto:liming.gao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Song, BinX <binx.song@intel.com<mailto:binx.song@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

I checked existing code, we have below styles:
  MD4 Digest Wrapper Implementation which does not provide real capabilities.
  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 <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Song, BinX <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Cc: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option

Mike:
  TempRamInitApi() is referred in Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com<mailto:binx.song@intel.com>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>;
>Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
>Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Cc: edk2-devel@lists.01.org<mailto: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 <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Bell Song <binx.song@intel.com<mailto:binx.song@intel.com>>
>> ---
>>  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<mailto:edk2-devel@lists.01.org>
>> https://lists.01.org/mailman/listinfo/edk2-devel
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org<mailto: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
Re: [edk2] [PATCH V2] IntelFsp2Pkg: Fix build error with WHOLEARCHIVE option
Posted by Kinney, Michael D 6 years, 7 months ago
Liming,

Yes. "empty" is a better term to use.

Mike

> -----Original Message-----
> From: Gao, Liming
> Sent: Tuesday, August 22, 2017 7:35 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>; Song, BinX
> <binx.song@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
> Kinney, Michael D <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [PATCH V2] IntelFsp2Pkg: Fix build error with
> WHOLEARCHIVE option
> 
> Mike:
>   TempRamInitApi() is referred in
> Library\SecFspSecPlatformLibNull\Ia32\Flat32.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 <binx.song@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>;
> >Kinney, Michael D <michael.d.kinney@intel.com>
> >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 <jiewen.yao@intel.com>
> >> 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 <jiewen.yao@intel.com>
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Bell Song <binx.song@intel.com>
> >> ---
> >>  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
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel