From: Yonghong Zhu Date: Tue, 20 Mar 2018 05:16:12 +0000 (+0800) Subject: BaseTools: Fix bug for --pcd VOID* type when no max size is specified X-Git-Tag: edk2-stable201903~2072 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=29d521b9fa00045eb036c353e0b8f5ebe9c12a98 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 Reviewed-by: Liming Gao --- diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py index 87494df329..d60d491e10 100644 --- a/BaseTools/Source/Python/Workspace/DscBuildData.py +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py @@ -1254,19 +1254,6 @@ class DscBuildData(PlatformBuildClassObject): 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: