mirror of https://github.com/acidanthera/audk.git
BaseTools: Fix bug PCD type in component is not same with Pcd section
Per DSC spec 3.11 [Components] Sections: The PCD access methods (and storage methods) are selected on a platform basis - it is not permitted to have a PCD listed in one of the Pcd sections and use it differently in an individual module. For example, if a PCD is listed in a [PcdsFixedAtBuild] section, it is not permitted to list it in a <PcdsPatchableInModule> sub-section of an INF file. but current code doesn't report error for this case. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=951 Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
parent
1ea08a3dcd
commit
74f59e9275
|
@ -423,6 +423,7 @@ class WorkspaceAutoGen(AutoGen):
|
|||
PcdInPlatform = Platform.Pcds[key]
|
||||
if PcdInPlatform.Type:
|
||||
BuildData.Pcds[key].Type = PcdInPlatform.Type
|
||||
BuildData.Pcds[key].Pending = False
|
||||
|
||||
if BuildData.MetaFile in Platform.Modules:
|
||||
PlatformModule = Platform.Modules[str(BuildData.MetaFile)]
|
||||
|
@ -430,6 +431,7 @@ class WorkspaceAutoGen(AutoGen):
|
|||
PcdInPlatform = PlatformModule.Pcds[key]
|
||||
if PcdInPlatform.Type:
|
||||
BuildData.Pcds[key].Type = PcdInPlatform.Type
|
||||
BuildData.Pcds[key].Pending = False
|
||||
|
||||
if TAB_PCDS_DYNAMIC_EX in BuildData.Pcds[key].Type:
|
||||
if BuildData.IsBinaryModule:
|
||||
|
|
Loading…
Reference in New Issue