From nobody Fri Apr 19 16:39:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+42171+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+42171+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1560232424; cv=none; d=zoho.com; s=zohoarc; b=G29F+5WZxLAp0aYL2oJPxVrt8kYbbOeMpfQwXavYbfmtMn9vqKuKHdUaMcRD4L5inQF27UR2LcaQ8bavoPAEZ4Ts+uq+8maH89uP1kpTSC1+OzoC2c2wpTdrIs14G1B0tl0Xv1VO8CQveIGCq6RO7j+TI+cF1zZ4yGz6vB+mXWk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1560232424; h=Cc:Date:From:List-Id:List-Unsubscribe:Message-ID:Reply-To:Sender:Subject:To:ARC-Authentication-Results; bh=wHJj0JnDw3WLXnIg7jwElLr3E+M26yr4MpOHL4pwKKM=; b=aIzfHvADuE88eT5sfloaj4V1M0ReUBrCKtCc6fwOTB/jqbpZimLfpjCXbU5DPFnZWFN+p5hIzOXAZ3MfLHCDkE/BeKK+ZwmGo8ZurD9Tk6QR43k4TdU+ToA76N6GqKA64VVRgAeW+ZlAlgS6pMFb/rjJwbJuDe1m93Th/U9IBbM= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+42171+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1560232424962111.48975138416665; Mon, 10 Jun 2019 22:53:44 -0700 (PDT) Return-Path: X-Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Mon, 10 Jun 2019 22:53:44 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jun 2019 22:53:43 -0700 X-ExtLoop1: 1 X-Received: from jshi19-mobl.ccr.corp.intel.com ([10.239.197.120]) by orsmga003.jf.intel.com with ESMTP; 10 Jun 2019 22:53:42 -0700 From: "Steven Shi" To: devel@edk2.groups.io Cc: liming.gao@intel.com, bob.c.feng@intel.com, christian.rodriguez@intel.com Subject: [edk2-devel] [PATCH] BaseTools: Cannot store library cache of different arch together Date: Tue, 11 Jun 2019 13:53:27 +0800 Message-Id: <20190611055327.18508-1-steven.shi@intel.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,steven.shi@intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1560232424; bh=96XlTj89ZpgMt4HRyntSW+c0dmklqqvup7l1aOqBaFc=; h=Cc:Date:From:Reply-To:Subject:To; b=WR/fWD+WAGL78S7h/4P2RnO3fQlXBgoiCp5h103lsWqudRoxhFwzd7cALgI/ZKIhAzs cI7twszMFdkuIcLmV3g1xI583ukrX7hCxr2HCUMeXAHrbV0+zv/IicuAENs039m504Ze1 YEGW55mnN5Q3iiIw4o7lVRhIvnIn+1tM9k8= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D1895 Build cache cannot store cache for the same library modules in different arch together. E.g. Both the below IA32 and X64 arch BaseLib caches should exist after build Ovmf3264, but now only the one in X64 arch exist. The reason is the current Basetool use a set() to same all library AutoGen objects, but the different arch lib AutoGen objects have same __hash_ value which comes from the lib MetaFile(The path of module file): def __hash__(self): return hash(self.MetaFile) So the different arch lib AutoGen objects are duplicated one to the set() and only one can exist. This is why the Basetool can only store one arch cache for library. This patch avoid to use the set() as the container to save the library and module objects because the objects might have same __hash__ value. Cc: Liming Gao Cc: Bob Feng Cc: Christian Rodriguez Signed-off-by: Steven Shi --- BaseTools/Source/Python/build/build.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Pyth= on/build/build.py index 0855d4561c..f7a79cbbab 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -2203,21 +2203,14 @@ class Build(): RemoveDirectory(os.path.dirname(GlobalData.gDatabasePath), Tru= e) =20 def CreateAsBuiltInf(self): - all_lib_set =3D set() - all_mod_set =3D set() for Module in self.BuildModules: Module.CreateAsBuiltInf() - all_mod_set.add(Module) + for lib in Module.LibraryAutoGenList: + lib.CreateAsBuiltInf(True) for Module in self.HashSkipModules: Module.CreateAsBuiltInf(True) - all_mod_set.add(Module) - for Module in all_mod_set: for lib in Module.LibraryAutoGenList: - all_lib_set.add(lib) - for lib in all_lib_set: - lib.CreateAsBuiltInf(True) - all_lib_set.clear() - all_mod_set.clear() + lib.CreateAsBuiltInf(True) self.BuildModules =3D [] self.HashSkipModules =3D [] ## Do some clean-up works when error occurred --=20 2.17.1.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42171): https://edk2.groups.io/g/devel/message/42171 Mute This Topic: https://groups.io/mt/32013233/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-