From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web08.1286.1610585187484566000 for ; Wed, 13 Jan 2021 16:46:28 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Thu, 14 Jan 2021 08:46:23 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , Cc: "'Yuwei Chen'" References: <20210106022157.1748-1-bob.c.feng@intel.com> In-Reply-To: <20210106022157.1748-1-bob.c.feng@intel.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BhdGNoIDEvMV0gQmFzZVRvb2xzOiBGaXggdGhlIGJ1aWxkIHJlcG9ydCBjcmFzaCBpc3N1ZQ==?= Date: Thu, 14 Jan 2021 08:46:25 +0800 Message-ID: <00fe01d6ea0e$b03e8f60$10bbae20$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIcFULOSJRMzSSRfeDI+jSPqNZrxqmb8sbg Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Reviewed-by: Liming Gao > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: bounce+27952+69772+4905953+8761045@groups.io > =B4=FA=B1=ED Bob Feng > =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA1=D4=C26=C8=D5 10:22 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Liming Gao ; Yuwei Chen > > =D6=F7=CC=E2: [edk2-devel] [Patch 1/1] BaseTools: Fix the build report c= rash issue >=20 > In the following corner case, the build report > will crash. This patch is to fix this problem. >=20 > Case: > Multiple SKU are used and 2 more DynamicHii structure Pcds > are set in dsc file under different SKU. And 1 more of those > Pcds are not used in any INF file. >=20 > Signed-off-by: Bob Feng > Cc: Liming Gao > Cc: Yuwei Chen > --- > BaseTools/Source/Python/build/BuildReport.py | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) >=20 > diff --git a/BaseTools/Source/Python/build/BuildReport.py > b/BaseTools/Source/Python/build/BuildReport.py > index 3b1add9999d2..468772930ca1 100644 > --- a/BaseTools/Source/Python/build/BuildReport.py > +++ b/BaseTools/Source/Python/build/BuildReport.py > @@ -1123,14 +1123,15 @@ class PcdReport(object): > for Sku in SkuList: > SkuInfo =3D > Pcd.SkuInfoList[Sku] > if > SkuInfo.DefaultStoreDict: > DefaultStoreList > =3D sorted(SkuInfo.DefaultStoreDict.keys()) > for DefaultStore > in DefaultStoreList: > - > OverrideValues =3D Pcd.SkuOverrideValues[Sku] > - > DscOverride =3D self.ParseStruct(OverrideValues[DefaultStore]) > - if > DscOverride: > - break > + > OverrideValues =3D Pcd.SkuOverrideValues.get(Sku) > + if > OverrideValues: > + > DscOverride =3D self.ParseStruct(OverrideValues[DefaultStore]) > + if > DscOverride: > + > break > if DscOverride: > break > if DscOverride: > DscDefaultValue =3D True > DscMatch =3D True > @@ -1386,13 +1387,14 @@ class PcdReport(object): > FileWrite(File, > ' %-*s : %6s %10s %10s =3D %s' % (self.MaxLen, ' ', TypeName, '(' + > Pcd.DatumType + ')', '(' + DefaultStore + ')', Value)) > else: > FileWrite(File, > ' %-*s : %6s %10s %10s %10s =3D %s' % (self.MaxLen, ' ', TypeName, '('= + > Pcd.DatumType + ')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', Value)) > FileWrite(File, '%*s: %s: %s' % > (self.MaxLen + 4, SkuInfo.VariableGuid, SkuInfo.VariableName, > SkuInfo.VariableOffset)) > if IsStructure: > - OverrideValues =3D > Pcd.SkuOverrideValues[Sku] > - OverrideFieldStruct =3D > self.OverrideFieldValue(Pcd, OverrideValues[DefaultStore]) > - self.PrintStructureInfo(File, > OverrideFieldStruct) > + OverrideValues =3D > Pcd.SkuOverrideValues.get(Sku) > + if OverrideValues: > + OverrideFieldStruct =3D > self.OverrideFieldValue(Pcd, OverrideValues[DefaultStore]) > + self.PrintStructureInfo(File, > OverrideFieldStruct) > self.PrintPcdDefault(File, Pcd, IsStructure= , > DscMatch, DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, > DecDefaultValue) > else: > Value =3D SkuInfo.DefaultValue > IsByteArray, ArrayList =3D ByteArrayForamt(Value) > if Pcd.DatumType =3D=3D 'BOOLEAN': > -- > 2.29.1.windows.1 >=20 >=20 >=20 >=20 >=20