Reviewed-by: Liming Gao <[email protected]>
>-----Original Message----- >From: edk2-devel [mailto:[email protected]] On Behalf Of >Yonghong Zhu >Sent: Monday, July 09, 2018 8:16 PM >To: [email protected] >Subject: [edk2] [Patch] BaseTools: Fix the bug that incorrect size info in the >Lib >autogen > >The case is a PCD used in one library only, and in DSC component >section the PCD value is override in one of module inf. Then it cause >the bug the PCD size in the Lib autogen use the PCD value in the DSC >PCD section, but not use the override value. > >Contributed-under: TianoCore Contribution Agreement 1.0 >Signed-off-by: Yonghong Zhu <[email protected]> >--- > BaseTools/Source/Python/AutoGen/AutoGen.py | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > >diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py >b/BaseTools/Source/Python/AutoGen/AutoGen.py >index 6d76afd..3908697 100644 >--- a/BaseTools/Source/Python/AutoGen/AutoGen.py >+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py >@@ -1291,16 +1291,21 @@ class PlatformAutoGen(AutoGen): > for LibAuto in self.LibraryAutoGenList: > FixedAtBuildPcds = {} > ShareFixedAtBuildPcdsSameValue = {} > for Module in LibAuto._ReferenceModules: > for Pcd in Module.FixedAtBuildPcds + LibAuto.FixedAtBuildPcds: >+ DefaultValue = Pcd.DefaultValue >+ # Cover the case: DSC component override the Pcd value >and the >Pcd only used in one Lib >+ if Pcd in Module.LibraryPcdList: >+ Index = Module.LibraryPcdList.index(Pcd) >+ DefaultValue = >Module.LibraryPcdList[Index].DefaultValue > key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName)) > if key not in FixedAtBuildPcds: > ShareFixedAtBuildPcdsSameValue[key] = True >- FixedAtBuildPcds[key] = Pcd.DefaultValue >+ FixedAtBuildPcds[key] = DefaultValue > else: >- if FixedAtBuildPcds[key] != Pcd.DefaultValue: >+ if FixedAtBuildPcds[key] != DefaultValue: > ShareFixedAtBuildPcdsSameValue[key] = False > for Pcd in LibAuto.FixedAtBuildPcds: > key = ".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName)) > if (Pcd.TokenCName, Pcd.TokenSpaceGuidCName) not in >self.NonDynamicPcdDict: > continue >-- >2.6.1.windows.1 > >_______________________________________________ >edk2-devel mailing list >[email protected] >https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

