* [Patch] BaseTools: Fix the bug to correctly check Pcd type that in FDF file
@ 2017-07-27 3:38 Yonghong Zhu
2017-08-01 2:41 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2017-07-27 3:38 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao
We set Pcd value in FDF and used this Pcd as PatchableInModule type in
module, it cause build report generate failure. because we incorrectly
set the Pcd type during check whether the Pcd is used.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
BaseTools/Source/Python/build/BuildReport.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py
index a1ee43a..a7cbb6a 100644
--- a/BaseTools/Source/Python/build/BuildReport.py
+++ b/BaseTools/Source/Python/build/BuildReport.py
@@ -736,10 +736,17 @@ class PcdReport(object):
#
UnusedPcdFullList = []
for item in Pa.Platform.Pcds:
Pcd = Pa.Platform.Pcds[item]
if not Pcd.Type:
+ # check the Pcd in FDF file, whether it is used in module first
+ for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]:
+ PcdList = self.AllPcds.setdefault(Pcd.TokenSpaceGuidCName, {}).setdefault(T, [])
+ if Pcd in PcdList:
+ Pcd.Type = T
+ break
+ if not Pcd.Type:
PcdTypeFlag = False
for package in Pa.PackageList:
for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]:
if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, T) in package.Pcds:
Pcd.Type = T
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] BaseTools: Fix the bug to correctly check Pcd type that in FDF file
2017-07-27 3:38 [Patch] BaseTools: Fix the bug to correctly check Pcd type that in FDF file Yonghong Zhu
@ 2017-08-01 2:41 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2017-08-01 2:41 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
> -----Original Message-----
> From: Zhu, Yonghong
> Sent: Thursday, July 27, 2017 11:38 AM
> To: edk2-devel@lists.01.org
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: [Patch] BaseTools: Fix the bug to correctly check Pcd type that in FDF file
>
> We set Pcd value in FDF and used this Pcd as PatchableInModule type in
> module, it cause build report generate failure. because we incorrectly
> set the Pcd type during check whether the Pcd is used.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
> BaseTools/Source/Python/build/BuildReport.py | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py
> index a1ee43a..a7cbb6a 100644
> --- a/BaseTools/Source/Python/build/BuildReport.py
> +++ b/BaseTools/Source/Python/build/BuildReport.py
> @@ -736,10 +736,17 @@ class PcdReport(object):
> #
> UnusedPcdFullList = []
> for item in Pa.Platform.Pcds:
> Pcd = Pa.Platform.Pcds[item]
> if not Pcd.Type:
> + # check the Pcd in FDF file, whether it is used in module first
> + for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]:
> + PcdList = self.AllPcds.setdefault(Pcd.TokenSpaceGuidCName, {}).setdefault(T, [])
> + if Pcd in PcdList:
> + Pcd.Type = T
> + break
> + if not Pcd.Type:
> PcdTypeFlag = False
> for package in Pa.PackageList:
> for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]:
> if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, T) in package.Pcds:
> Pcd.Type = T
> --
> 2.6.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-08-01 2:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-27 3:38 [Patch] BaseTools: Fix the bug to correctly check Pcd type that in FDF file Yonghong Zhu
2017-08-01 2:41 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox