Re: [edk2] [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified

2018-03-20 Thread Gao, Liming
Reviewed-by: Liming Gao 

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Yonghong Zhu
> Sent: Tuesday, March 20, 2018 4:23 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [Patch] BaseTools: Fix bug for --pcd VOID* type when no max 
> size is specified
> 
> when VOID* type non-structure pcd used in --pcd, and its max size is not
> specified in DSC or its value is hex value, build break due to the code
> int(Pcd.MaxDatumSize,10).
> Now this patch remove this code, because tool will calculate the size
> info in later phase.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu 
> ---
>  BaseTools/Source/Python/Workspace/DscBuildData.py | 13 -
>  1 file changed, 13 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py 
> b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 517385a..6e30b50 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -1252,23 +1252,10 @@ class DscBuildData(PlatformBuildClassObject):
>  SkuInfo.DefaultValue = 
> NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
>  else:
>  SkuInfo.HiiDefaultValue = 
> NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
>  for defaultstore in SkuInfo.DefaultStoreDict:
>  SkuInfo.DefaultStoreDict[defaultstore] =
> NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
> -if Pcd.DatumType == "VOID*":
> -if Pcd.MaxDatumSize is None:
> -Pcd.MaxDatumSize = '0'
> -MaxSize = int(Pcd.MaxDatumSize,10)
> -if Pcd.DefaultValue.startswith("{") and 
> Pcd.DefaultValue.endswith("}"):
> -MaxSize = 
> max([len(Pcd.DefaultValue.split(",")),MaxSize])
> -elif Pcd.DefaultValue.startswith("\"") or 
> Pcd.DefaultValue.startswith("\'"):
> -MaxSize = 
> max([len(Pcd.DefaultValue)-2+1,MaxSize])
> -elif Pcd.DefaultValue.startswith("L\""):
> -MaxSize = 
> max([2*(len(Pcd.DefaultValue)-3+1),MaxSize])
> -else:
> -MaxSize = max([len(Pcd.DefaultValue),MaxSize])
> -Pcd.MaxDatumSize = str(MaxSize)
>  else:
>  PcdInDec = self.DecPcds.get((Name,Guid))
>  if PcdInDec:
>  PcdInDec.PcdValueFromComm = NoFiledValues[(Guid,Name)][0]
>  if PcdInDec.Type in 
> [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],
> --
> 2.6.1.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] [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified

2018-03-20 Thread Yonghong Zhu
when VOID* type non-structure pcd used in --pcd, and its max size is not
specified in DSC or its value is hex value, build break due to the code
int(Pcd.MaxDatumSize,10).
Now this patch remove this code, because tool will calculate the size
info in later phase.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu 
---
 BaseTools/Source/Python/Workspace/DscBuildData.py | 13 -
 1 file changed, 13 deletions(-)

diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py 
b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 517385a..6e30b50 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -1252,23 +1252,10 @@ class DscBuildData(PlatformBuildClassObject):
 SkuInfo.DefaultValue = 
NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
 else:
 SkuInfo.HiiDefaultValue = 
NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
 for defaultstore in SkuInfo.DefaultStoreDict:
 SkuInfo.DefaultStoreDict[defaultstore] = 
NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
-if Pcd.DatumType == "VOID*":
-if Pcd.MaxDatumSize is None:
-Pcd.MaxDatumSize = '0'
-MaxSize = int(Pcd.MaxDatumSize,10)
-if Pcd.DefaultValue.startswith("{") and 
Pcd.DefaultValue.endswith("}"):
-MaxSize = 
max([len(Pcd.DefaultValue.split(",")),MaxSize])
-elif Pcd.DefaultValue.startswith("\"") or 
Pcd.DefaultValue.startswith("\'"):
-MaxSize = max([len(Pcd.DefaultValue)-2+1,MaxSize])
-elif Pcd.DefaultValue.startswith("L\""):
-MaxSize = 
max([2*(len(Pcd.DefaultValue)-3+1),MaxSize])
-else:
-MaxSize = max([len(Pcd.DefaultValue),MaxSize])
-Pcd.MaxDatumSize = str(MaxSize)
 else:
 PcdInDec = self.DecPcds.get((Name,Guid))
 if PcdInDec:
 PcdInDec.PcdValueFromComm = NoFiledValues[(Guid,Name)][0]
 if PcdInDec.Type in 
[self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],
-- 
2.6.1.windows.1

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