From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: bob.c.feng@intel.com) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by groups.io with SMTP; Tue, 30 Apr 2019 19:56:42 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Apr 2019 19:56:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,416,1549958400"; d="scan'208";a="228243579" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 30 Apr 2019 19:56:41 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 30 Apr 2019 19:56:41 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 30 Apr 2019 19:56:41 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.150]) with mapi id 14.03.0415.000; Wed, 1 May 2019 10:56:39 +0800 From: "Bob Feng" To: "Fan, ZhijuX" , "devel@edk2.groups.io" CC: "Gao, Liming" Subject: Re: [PATCH V2] BaseTools:Fixed an issue where the order of GuidS changed in guid.xref Thread-Topic: [PATCH V2] BaseTools:Fixed an issue where the order of GuidS changed in guid.xref Thread-Index: AdT71++s99QyUzYwT7qimIu5Qm4uQgD8Ygog Date: Wed, 1 May 2019 02:56:39 +0000 Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D16010116F@SHSMSX101.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDY2NGNjNTctOWQ3Mi00ZWU3LTg3OWEtZDVhY2Q3YWQ0NjZmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiXC84b01IVWpxS2oxdXBHZHJ5SmM4NVBxSWE2czAxcGNwclwvMlZDdjVCS2swRVBnWVFBZVJUK3FCMnREXC9aM25QMyJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Bob Feng -----Original Message----- From: Fan, ZhijuX=20 Sent: Friday, April 26, 2019 10:30 AM To: devel@edk2.groups.io Cc: Gao, Liming ; Feng, Bob C Subject: [PATCH V2] BaseTools:Fixed an issue where the order of GuidS chang= ed in guid.xref BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=3D1749 Add content to dsc [PcdsPatchableInModule.common] gEfiMdeModulePkgTokenSpaceGuid.test1|FALSE The order of file Guid.xref will change after increment build. The root cause is set() is used in Get all the PCDS the order of the data m= ay change if set() is used This patch is going to fix that issue. Cc: Bob Feng Cc: Liming Gao Signed-off-by: Zhiju.Fan --- BaseTools/Source/Python/Workspace/DscBuildData.py | 20 ++++++++++---------= - 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/= Source/Python/Workspace/DscBuildData.py index 5431296b5a..1d7a6a11b8 100644 --- a/BaseTools/Source/Python/Workspace/DscBuildData.py +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py @@ -1632,7 +1632,7 @@ class DscBuildData(PlatformBuildClassObject): AvailableSkuIdSet =3D copy.copy(self.SkuIds) =20 PcdDict =3D tdict(True, 4) - PcdSet =3D set() + PcdList =3D [] # Find out all possible PCD candidates for self._Arch RecordList =3D self._RawData[Type, self._Arch] PcdValueDict =3D OrderedDict() @@ -1643,11 +1643,11 @@ class DscBuildData(PlatformBuildClassObject): EdkLogger.error('build ', PARAMETER_INVALID, 'Sku %s is no= t defined in [SkuIds] section' % SkuName, File=3Dself.MetaFile, Line=3DD= ummy5) if SkuName in (self.SkuIdMgr.SystemSkuId, TAB_DEFAULT, TAB_COM= MON): - if "." not in TokenSpaceGuid and "[" not in PcdCName: - PcdSet.add((PcdCName, TokenSpaceGuid, SkuName, Dummy5)= ) + if "." not in TokenSpaceGuid and "[" not in PcdCName and (= PcdCName, TokenSpaceGuid, SkuName, Dummy5) not in PcdList: + PcdList.append((PcdCName, TokenSpaceGuid, SkuName,=20 + Dummy5)) PcdDict[Arch, PcdCName, TokenSpaceGuid, SkuName] =3D Setti= ng =20 - for PcdCName, TokenSpaceGuid, SkuName, Dummy4 in PcdSet: + for PcdCName, TokenSpaceGuid, SkuName, Dummy4 in PcdList: Setting =3D PcdDict[self._Arch, PcdCName, TokenSpaceGuid, SkuN= ame] if Setting is None: continue @@ -2700,7 +2700,7 @@ class DscBuildData(PlatformBuildClassObject): if SkuName not in AvailableSkuIdSet: EdkLogger.error('build', PARAMETER_INVALID, 'Sku %s is not= defined in [SkuIds] section' % SkuName, File=3Dself.MetaFile, Line=3DD= ummy5) - if "." not in TokenSpaceGuid and "[" not in PcdCName: + if "." not in TokenSpaceGuid and "[" not in PcdCName and (PcdC= Name, TokenSpaceGuid, SkuName, Dummy5) not in PcdList: PcdList.append((PcdCName, TokenSpaceGuid, SkuName, Dummy5)= ) PcdDict[Arch, SkuName, PcdCName, TokenSpaceGuid] =3D Setting =20 @@ -2852,7 +2852,7 @@ class DscBuildData(PlatformBuildClassObject): # PCD settings for certain ARCH and SKU # PcdDict =3D tdict(True, 5) - PcdSet =3D set() + PcdList =3D [] RecordList =3D self._RawData[Type, self._Arch] # Find out all possible PCD candidates for self._Arch AvailableSkuIdSet =3D copy.copy(self.SkuIds) @@ -2873,13 +2873,13 = @@ class DscBuildData(PlatformBuildClassObject): if DefaultStore not in DefaultStoresDefine: EdkLogger.error('build', PARAMETER_INVALID, 'DefaultStores= %s is not defined in [DefaultStores] section' % DefaultStore, File=3Dself.MetaFile, Line=3DD= ummy5) - if "." not in TokenSpaceGuid and "[" not in PcdCName: - PcdSet.add((PcdCName, TokenSpaceGuid, SkuName, DefaultStor= e, Dummy5)) + if "." not in TokenSpaceGuid and "[" not in PcdCName and (PcdC= Name, TokenSpaceGuid, SkuName, DefaultStore, Dummy5) not in PcdList: + PcdList.append((PcdCName, TokenSpaceGuid, SkuName,=20 + DefaultStore, Dummy5)) PcdDict[Arch, SkuName, PcdCName, TokenSpaceGuid, DefaultStore]= =3D Setting =20 =20 # Remove redundant PCD candidates, per the ARCH and SKU - for PcdCName, TokenSpaceGuid, SkuName, DefaultStore, Dummy4 in Pcd= Set: + for PcdCName, TokenSpaceGuid, SkuName, DefaultStore, Dummy4 in Pcd= List: =20 Setting =3D PcdDict[self._Arch, SkuName, PcdCName, TokenSpaceG= uid, DefaultStore] if Setting is None: @@ -3036,7 +3036,7 @@ class DscBuildData(PlatformBuildClassObject): if SkuName not in AvailableSkuIdSet: EdkLogger.error('build', PARAMETER_INVALID, 'Sku %s is not= defined in [SkuIds] section' % SkuName, File=3Dself.MetaFile, Line=3DD= ummy5) - if "." not in TokenSpaceGuid and "[" not in PcdCName: + if "." not in TokenSpaceGuid and "[" not in PcdCName and (PcdC= Name, TokenSpaceGuid, SkuName, Dummy5) not in PcdList: PcdList.append((PcdCName, TokenSpaceGuid, SkuName, Dummy5)= ) PcdDict[Arch, SkuName, PcdCName, TokenSpaceGuid] =3D Setting =20 -- 2.14.1.windows.1