From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 59370225B02B6 for ; Tue, 20 Mar 2018 01:16:39 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Mar 2018 01:23:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,334,1517904000"; d="scan'208";a="26406971" Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.129]) by orsmga007.jf.intel.com with ESMTP; 20 Mar 2018 01:23:08 -0700 From: Yonghong Zhu To: edk2-devel@lists.01.org Date: Tue, 20 Mar 2018 16:22:59 +0800 Message-Id: <1521534179-6984-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Mar 2018 08:16:39 -0000 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