On 07/22/15 05:05, Scott Duplichan wrote:
> When a quoted string is used as initialization data in a DEC file PCD
> entry, the PCD data type in that entry must be VOID*. The created
> AutoGen.c defines the PCD data as UINT8[] or UINT16[], depending on
> the string type. The created AutoGen.h, however, declares the PCD data
> as VOID*. For a standard compile/link, this works because AutoGen.c
> doesn't include AutoGen.h. But when GCC LTO is used, the link time
> code generation detects the mismatch and the build fails. This
> change makes the AutoGen.h PCD data declaration match the AutoGen.c
> definition.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Scott Duplichan <sc...@notabs.org>
> ---
> 
> BaseTools/Source/Python/AutoGen/GenC.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/GenC.py 
> b/BaseTools/Source/Python/AutoGen/GenC.py
> index e73ba79..84bd607 100644
> --- a/BaseTools/Source/Python/AutoGen/GenC.py
> +++ b/BaseTools/Source/Python/AutoGen/GenC.py
> @@ -1088,6 +1088,8 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
>      if PcdItemType == TAB_PCDS_FIXED_AT_BUILD or PcdItemType == 
> TAB_PCDS_FEATURE_FLAG:
>          key = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))
>          
> +        if DatumType == 'VOID*' and Array == '[]':
> +          DatumType = ['UINT8', 'UINT16'][Pcd.DefaultValue[0] == 'L']
>          AutoGenH.Append('extern const %s _gPcd_FixedAtBuild_%s%s;\n' 
> %(DatumType, TokenCName, Array))
>          AutoGenH.Append('#define %s  %s_gPcd_FixedAtBuild_%s\n' 
> %(GetModeName, Type, TokenCName))
>          AutoGenH.Append('//#define %s  ASSERT(FALSE)  // It is not allowed 
> to set value for a FIXED_AT_BUILD PCD\n' % SetModeName)
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> 

Until the SVN outage at sourceforge.net gets resolved, we plan to commit
patches that are ready for merging to the "master" branch of the git
repository at <https://github.com/tianocore/edk2-svn-offline.git>.
Please see the announcement:

  http://thread.gmane.org/gmane.comp.bios.edk2.devel/227

This particular patch (or series) appears ready for merging, therefore
it is being picked up:

  http://thread.gmane.org/gmane.comp.bios.edk2.devel/227/focus=251

Further development should be based on edk2-svn-offline/master, until
the SVN outage is fixed. At that point the accumulated patches will be
mass-committed from edk2-svn-offline/master to SVN.

Thanks
Laszlo

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to