* [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified
@ 2018-03-20 8:22 Yonghong Zhu
2018-03-20 8:45 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2018-03-20 8:22 UTC (permalink / raw)
To: edk2-devel
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 <yonghong.zhu@intel.com>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified
2018-03-20 8:22 [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified Yonghong Zhu
@ 2018-03-20 8:45 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2018-03-20 8:45 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@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 <yonghong.zhu@intel.com>
> ---
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-03-20 8:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-20 8:22 [Patch] BaseTools: Fix bug for --pcd VOID* type when no max size is specified Yonghong Zhu
2018-03-20 8:45 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox