From nobody Wed May 8 16:01:52 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+46977+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+46977+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1567776188; cv=none; d=zoho.com; s=zohoarc; b=KlWmtHTjVSBLesKE2NYWBli1rgZObZIq2yAdOEX2VC69Nr4/DeAgg9REXdIW711xqP4U1ibcpvEfPvBlMKYWnLgavsOwoluBH+x089JGavJw2dkmFYbJggGPYG7uvvyzTSqLZVjycfbzlzszCPVaVKm7xMmI2QdkLeGfax1j/Wc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1567776188; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=EWoGpbNNh2WTasr6Q8xdgEP9taLOHV4f+ifEZe1X7F4=; b=VQnXcIg1UvjxksCoNpcjeO7JV6SeSE3f6iUfY++HS1IfoKX2XYVvomUELOb2TAW5ycsdR8/7YRDrOuj9PKI6ChT2C+pkJnTM9ig2ehN7PDJq2NoktRbe9rxUbMudPmD3O32iD06VXWuNXtu1mBIzE9Ka3IGVpGl4Vd7Haywxoz8= 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+46977+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 1567776188412406.39417570555236; Fri, 6 Sep 2019 06:23:08 -0700 (PDT) Return-Path: X-Received: from mga14.intel.com (mga14.intel.com []) by groups.io with SMTP; Fri, 06 Sep 2019 06:23:07 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2019 06:23:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,473,1559545200"; d="scan'208";a="174279565" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga007.jf.intel.com with ESMTP; 06 Sep 2019 06:23:06 -0700 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Bob Feng Subject: [edk2-devel] [Patch 1/3] BaseTools: Fixed the build fail on Linux with --genfds-multi-thread Date: Fri, 6 Sep 2019 21:22:57 +0800 Message-Id: <20190906132259.29500-2-bob.c.feng@intel.com> In-Reply-To: <20190906132259.29500-1-bob.c.feng@intel.com> References: <20190906132259.29500-1-bob.c.feng@intel.com> MIME-Version: 1.0 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,bob.c.feng@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1567776187; bh=9+9isJD8F42FhSEMGs+33B3gE9iCQIZfFiKpreAwg7w=; h=Cc:Date:From:Reply-To:Subject:To; b=LlV61HXy/4dMdXcbdNTa2Uz5Leily+dKiv958ua0CAhD9qr1vK3ihA624u8c3Hd84q8 b4iBrAytQ7hX2eWsL/hy+3Z8wZ5D1FgyrEXg/d9JgTwDA0xsK5Is+11AbZW7UC6qi+Sez mXQg3mePG5CnyjQPHU6ibelGElJctKythW0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1302 If GenSec input file not exist, the related command will fail and make will stop on Linux. GenSec input file is allow to be non-existent. This patch is to let "make" continue if gensec input file not exist. Cc: Liming Gao Signed-off-by: Bob Feng --- BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseT= ools/Source/Python/GenFds/GenFdsGlobalVariable.py index 037828ea1cca..0f691ae52420 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -487,11 +487,11 @@ class GenFdsGlobalVariable: SaveFileOnChange(CommandFile, ' '.join(Cmd), False) if IsMakefile: if GlobalData.gGlobalDefines.get("FAMILY") =3D=3D "MSFT": Cmd =3D ['if', 'exist', Input[0]] + Cmd else: - Cmd =3D ['test', '-e', Input[0], "&&"] + Cmd + Cmd =3D ['-test', '-e', Input[0], "&&"] + Cmd if ' '.join(Cmd).strip() not in GenFdsGlobalVariable.SecCm= dList: GenFdsGlobalVariable.SecCmdList.append(' '.join(Cmd).s= trip()) elif GenFdsGlobalVariable.NeedsUpdate(Output, list(Input) + [C= ommandFile]): GenFdsGlobalVariable.DebugLogger(EdkLogger.DEBUG_5, "%s ne= eds update because of newer %s" % (Output, Input)) GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to gene= rate section") --=20 2.20.1.windows.1 -=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 (#46977): https://edk2.groups.io/g/devel/message/46977 Mute This Topic: https://groups.io/mt/33166299/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- From nobody Wed May 8 16:01:52 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+46978+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+46978+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1567776189; cv=none; d=zoho.com; s=zohoarc; b=YkGE7L1sZB+aXVqkFuo2lpF4S5wKF1tF0uMswjwe7RkhvUgOw8RIPzo3f9UB9gbvlO+36ZfaccFR0J6oPvaXoeAbovygtcD1uQXeKan7yFyY+iGmjyqdBVK/d0B1kT/Oz4QX0+jFFNAabMTpJkSon19EVct1SIKlKzvmG76NtB4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1567776189; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=AlwpZKEbh+yZsYHW3jUHMRZEENOH6Be3jox4NwtIZB4=; b=E/YxnskTam7Rbs1LQGFAcEHguhOgmYUE6p8so6k2C+ko4DDUwcPv3f2/aFjf5tli3ZYXr5WybWVetBSfwf8a+f5lX4d8iRjxZ3JRyYqbdCF48DxmlnQwE7xbnIQM9ww7U461jJuugwnSWgUq4DXnaYWnaA5Q6nsGLvXDa+OdWZ8= 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+46978+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 1567776189305188.66003349180676; Fri, 6 Sep 2019 06:23:09 -0700 (PDT) Return-Path: X-Received: from mga14.intel.com (mga14.intel.com []) by groups.io with SMTP; Fri, 06 Sep 2019 06:23:08 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2019 06:23:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,473,1559545200"; d="scan'208";a="174279576" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga007.jf.intel.com with ESMTP; 06 Sep 2019 06:23:07 -0700 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Bob Feng Subject: [edk2-devel] [Patch 2/3] BaseTools: Enable --genfds-multi-thread to default build Date: Fri, 6 Sep 2019 21:22:58 +0800 Message-Id: <20190906132259.29500-3-bob.c.feng@intel.com> In-Reply-To: <20190906132259.29500-1-bob.c.feng@intel.com> References: <20190906132259.29500-1-bob.c.feng@intel.com> MIME-Version: 1.0 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,bob.c.feng@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1567776188; bh=nY3ebuA6HQwscAiu482FH9y7Mq0eN+WrJWRkXDFGzgI=; h=Cc:Date:From:Reply-To:Subject:To; b=rdKnrVQbjRk2iAsUbvEMdVC2HVCfiE0wrG6sBkmYvmDUjttdf7SeLcHoUEAatNMT1my VZi1eKnZSuT1/SOmfjTumPDWG/x+zN5+xvIkIkWSAbSh1uraGYWl8fvNStbELONr3x2WC pjAFrJehqkFORPi5fHoudx4XJcvGTJtKZDU= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1302 This patch enable --genfds-multi-thread to default build. This patch keep --genfds-multi-thread build option for compatibility and also add a new build option to disable genfds-multi-thread as --no-genfds-multi-thread. Cc: Liming Gao Signed-off-by: Bob Feng --- BaseTools/Source/Python/AutoGen/GenMake.py | 4 ++-- BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py | 3 +-- BaseTools/Source/Python/Common/GlobalData.py | 2 +- BaseTools/Source/Python/Common/buildoptions.py | 3 ++- BaseTools/Source/Python/GenFds/GenFds.py | 9 ++++++--- BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 2 +- BaseTools/Source/Python/build/build.py | 2 +- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/= Python/AutoGen/GenMake.py index 47dae82e1aeb..4f85a93055ab 100755 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -1578,12 +1578,12 @@ class TopLevelMakefile(BuildFile): elif LogLevel =3D=3D EdkLogger.QUIET: ExtraOption +=3D " -q" =20 if GlobalData.gCaseInsensitive: ExtraOption +=3D " -c" - if GlobalData.gEnableGenfdsMultiThread: - ExtraOption +=3D " --genfds-multi-thread" + if not GlobalData.gEnableGenfdsMultiThread: + ExtraOption +=3D " --no-genfds-multi-thread" if GlobalData.gIgnoreSource: ExtraOption +=3D " --ignore-sources" =20 for pcd in GlobalData.BuildOptionPcd: if pcd[2]: diff --git a/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py b/BaseTool= s/Source/Python/AutoGen/WorkspaceAutoGen.py index 24942674721f..365cfdefeaa1 100644 --- a/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py +++ b/BaseTools/Source/Python/AutoGen/WorkspaceAutoGen.py @@ -832,12 +832,11 @@ class WorkspaceAutoGen(AutoGen): elif LogLevel <=3D EdkLogger.DEBUG_9: FdsCommandDict["debug"] =3D LogLevel - 1 elif LogLevel =3D=3D EdkLogger.QUIET: FdsCommandDict["quiet"] =3D True =20 - if GlobalData.gEnableGenfdsMultiThread: - FdsCommandDict["GenfdsMultiThread"] =3D True + FdsCommandDict["GenfdsMultiThread"] =3D GlobalData.gEnableGenfdsMu= ltiThread if GlobalData.gIgnoreSource: FdsCommandDict["IgnoreSources"] =3D True =20 FdsCommandDict["OptionPcd"] =3D [] for pcd in GlobalData.BuildOptionPcd: diff --git a/BaseTools/Source/Python/Common/GlobalData.py b/BaseTools/Sourc= e/Python/Common/GlobalData.py index 61327ad8f10e..8eb72aa1d6f5 100755 --- a/BaseTools/Source/Python/Common/GlobalData.py +++ b/BaseTools/Source/Python/Common/GlobalData.py @@ -104,11 +104,11 @@ gUseHashCache =3D None gBinCacheDest =3D None gBinCacheSource =3D None gPlatformHash =3D None gPackageHash =3D {} gModuleHash =3D {} -gEnableGenfdsMultiThread =3D False +gEnableGenfdsMultiThread =3D True gSikpAutoGenCache =3D set() =20 # Dictionary for tracking Module build status as success or failure # Top Dict: Key: Arch Type Value: Dictionary # Second Dict: Key: AutoGen Obj Value: 'SUCCESS'\'FAIL'\'FAIL_METAFILE' diff --git a/BaseTools/Source/Python/Common/buildoptions.py b/BaseTools/Sou= rce/Python/Common/buildoptions.py index 7161aa66f23e..a717c58d8c9a 100644 --- a/BaseTools/Source/Python/Common/buildoptions.py +++ b/BaseTools/Source/Python/Common/buildoptions.py @@ -82,11 +82,12 @@ def MyOptionParser(): Parser.add_option("--pcd", action=3D"append", dest=3D"OptionPcd", help= =3D"Set PCD value by command line. Format: \"PcdName=3DValue\" ") Parser.add_option("-l", "--cmd-len", action=3D"store", type=3D"int", d= est=3D"CommandLength", help=3D"Specify the maximum line length of build com= mand. Default is 4096.") Parser.add_option("--hash", action=3D"store_true", dest=3D"UseHashCach= e", default=3DFalse, help=3D"Enable hash-based caching during build process= .") Parser.add_option("--binary-destination", action=3D"store", type=3D"st= ring", dest=3D"BinCacheDest", help=3D"Generate a cache of binary files in t= he specified directory.") Parser.add_option("--binary-source", action=3D"store", type=3D"string"= , dest=3D"BinCacheSource", help=3D"Consume a cache of binary files from the= specified directory.") - Parser.add_option("--genfds-multi-thread", action=3D"store_true", dest= =3D"GenfdsMultiThread", default=3DFalse, help=3D"Enable GenFds multi thread= to generate ffs file.") + Parser.add_option("--genfds-multi-thread", action=3D"store_true", dest= =3D"GenfdsMultiThread", default=3DTrue, help=3D"Enable GenFds multi thread = to generate ffs file.") + Parser.add_option("--no-genfds-multi-thread", action=3D"store_true", d= est=3D"NoGenfdsMultiThread", default=3DFalse, help=3D"Disable GenFds multi = thread to generate ffs file.") Parser.add_option("--disable-include-path-check", action=3D"store_true= ", dest=3D"DisableIncludePathCheck", default=3DFalse, help=3D"Disable the i= nclude path check for outside of package.") (Opt, Args) =3D Parser.parse_args() return (Opt, Args) =20 BuildOption, BuildTarget =3D MyOptionParser() diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Py= thon/GenFds/GenFds.py index 51943411ad1f..d8bc28e4d0f8 100644 --- a/BaseTools/Source/Python/GenFds/GenFds.py +++ b/BaseTools/Source/Python/GenFds/GenFds.py @@ -91,11 +91,11 @@ def resetFdsGlobalVariable(): GenFdsGlobalVariable.GuidToolDefinition =3D {} GenFdsGlobalVariable.FfsCmdDict =3D {} GenFdsGlobalVariable.SecCmdList =3D [] GenFdsGlobalVariable.CopyList =3D [] GenFdsGlobalVariable.ModuleFile =3D '' - GenFdsGlobalVariable.EnableGenfdsMultiThread =3D False + GenFdsGlobalVariable.EnableGenfdsMultiThread =3D True =20 GenFdsGlobalVariable.LargeFileInFvFlags =3D [] GenFdsGlobalVariable.EFI_FIRMWARE_FILE_SYSTEM3_GUID =3D '5473C07A-3DCB= -4dca-BD6F-1E9689E7349A' GenFdsGlobalVariable.LARGE_FILE_SIZE =3D 0x1000000 =20 @@ -138,10 +138,12 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=3DNon= e): GenFdsGlobalVariable.WorkSpaceDir =3D Workspace if FdsCommandDict.get("debug"): GenFdsGlobalVariable.VerboseLogger("Using Workspace:" + Wo= rkspace) if FdsCommandDict.get("GenfdsMultiThread"): GenFdsGlobalVariable.EnableGenfdsMultiThread =3D True + else: + GenFdsGlobalVariable.EnableGenfdsMultiThread =3D False os.chdir(GenFdsGlobalVariable.WorkSpaceDir) =20 # set multiple workspace PackagesPath =3D os.getenv("PACKAGES_PATH") mws.setWs(GenFdsGlobalVariable.WorkSpaceDir, PackagesPath) @@ -400,11 +402,11 @@ def OptionsToCommandDict(Options): FdsCommandDict["verbose"] =3D Options.verbose FdsCommandDict["FixedAddress"] =3D Options.FixedAddress FdsCommandDict["quiet"] =3D Options.quiet FdsCommandDict["debug"] =3D Options.debug FdsCommandDict["Workspace"] =3D Options.Workspace - FdsCommandDict["GenfdsMultiThread"] =3D Options.GenfdsMultiThread + FdsCommandDict["GenfdsMultiThread"] =3D not Options.NoGenfdsMultiThread FdsCommandDict["fdf_file"] =3D [PathClass(Options.filename)] if Option= s.filename else [] FdsCommandDict["build_target"] =3D Options.BuildTarget FdsCommandDict["toolchain_tag"] =3D Options.ToolChain FdsCommandDict["active_platform"] =3D Options.activePlatform FdsCommandDict["OptionPcd"] =3D Options.OptionPcd @@ -457,11 +459,12 @@ def myOptionParser(): Parser.add_option("-D", "--define", action=3D"append", type=3D"string"= , dest=3D"Macros", help=3D"Macro: \"Name [=3D Value]\".") Parser.add_option("-s", "--specifyaddress", dest=3D"FixedAddress", act= ion=3D"store_true", type=3DNone, help=3D"Specify driver load address.") Parser.add_option("--conf", action=3D"store", type=3D"string", dest=3D= "ConfDirectory", help=3D"Specify the customized Conf directory.") Parser.add_option("--ignore-sources", action=3D"store_true", dest=3D"I= gnoreSources", default=3DFalse, help=3D"Focus to a binary build and ignore = all source files") Parser.add_option("--pcd", action=3D"append", dest=3D"OptionPcd", help= =3D"Set PCD value by command line. Format: \"PcdName=3DValue\" ") - Parser.add_option("--genfds-multi-thread", action=3D"store_true", dest= =3D"GenfdsMultiThread", default=3DFalse, help=3D"Enable GenFds multi thread= to generate ffs file.") + Parser.add_option("--genfds-multi-thread", action=3D"store_true", dest= =3D"GenfdsMultiThread", default=3DTrue, help=3D"Enable GenFds multi thread = to generate ffs file.") + Parser.add_option("--no-genfds-multi-thread", action=3D"store_true", d= est=3D"NoGenfdsMultiThread", default=3DFalse, help=3D"Disable GenFds multi = thread to generate ffs file.") =20 Options, _ =3D Parser.parse_args() return Options =20 ## The class implementing the EDK2 flash image generation process diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseT= ools/Source/Python/GenFds/GenFdsGlobalVariable.py index 0f691ae52420..3dc73c8f61f9 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -67,11 +67,11 @@ class GenFdsGlobalVariable: GuidToolDefinition =3D {} FfsCmdDict =3D {} SecCmdList =3D [] CopyList =3D [] ModuleFile =3D '' - EnableGenfdsMultiThread =3D False + EnableGenfdsMultiThread =3D True =20 # # The list whose element are flags to indicate if large FFS or SECTION= files exist in FV. # At the beginning of each generation of FV, false flag is appended to= the list, # after the call to GenerateSection returns, check the size of the out= put file, diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Pyth= on/build/build.py index 0406ac314b65..2a10f99a1e70 100755 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -726,11 +726,11 @@ class Build(): #Set global flag for build mode GlobalData.gIgnoreSource =3D BuildOptions.IgnoreSources GlobalData.gUseHashCache =3D BuildOptions.UseHashCache GlobalData.gBinCacheDest =3D BuildOptions.BinCacheDest GlobalData.gBinCacheSource =3D BuildOptions.BinCacheSource - GlobalData.gEnableGenfdsMultiThread =3D BuildOptions.GenfdsMultiTh= read + GlobalData.gEnableGenfdsMultiThread =3D not BuildOptions.NoGenfdsM= ultiThread GlobalData.gDisableIncludePathCheck =3D BuildOptions.DisableInclud= ePathCheck =20 if GlobalData.gBinCacheDest and not GlobalData.gUseHashCache: EdkLogger.error("build", OPTION_NOT_SUPPORTED, ExtraData=3D"--= binary-destination must be used together with --hash.") =20 --=20 2.20.1.windows.1 -=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 (#46978): https://edk2.groups.io/g/devel/message/46978 Mute This Topic: https://groups.io/mt/33166300/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- From nobody Wed May 8 16:01:52 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+46979+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+46979+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1567776190; cv=none; d=zoho.com; s=zohoarc; b=jj6akYdgmBdZLsXd2f6u3vBSvAKPwAeYW5YOMbHgrnXfhYVPciNKiQVC5a5bU5TJ5p9tdUuDnQ4ZPnK9+T05Z5LqcBPeBFjbrrw7F8KZsaZnyLPxy8HjttTXBODhiFhfPsiF6IdV5lfYkAFbPKtiMc/M9ifk8Nkn61+KJpQS5Mg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1567776190; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=h/vGWgqlTbt2i+yg9SrZ9t8tUeRKzrMIzQV1EC4stHo=; b=irAmTZK9F/oyT3GlnpEHFTWN87gnjWTaCTUIB1nzwxy+YPzSwUn4Ek4FJTmoQuhuL7Uk69q+yVlqtC+uRZIAwFA7q8xJ9f+Cm/zclS3cuvbIF4UOC6LTy8tabVI21z953oVV24S7mmyUB2nzIvUxx7nTuS9boMI8nHejOeuKP9w= 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+46979+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 1567776190950419.2919404915816; Fri, 6 Sep 2019 06:23:10 -0700 (PDT) Return-Path: X-Received: from mga14.intel.com (mga14.intel.com []) by groups.io with SMTP; Fri, 06 Sep 2019 06:23:09 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2019 06:23:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,473,1559545200"; d="scan'208";a="174279588" X-Received: from shwdepsi1121.ccr.corp.intel.com ([10.239.158.47]) by orsmga007.jf.intel.com with ESMTP; 06 Sep 2019 06:23:08 -0700 From: "Bob Feng" To: devel@edk2.groups.io Cc: Liming Gao , Steven Shi , Bob Feng Subject: [edk2-devel] [Patch 3/3] BaseTools: Fixed the bug of multi-thread genffs for override inf Date: Fri, 6 Sep 2019 21:22:59 +0800 Message-Id: <20190906132259.29500-4-bob.c.feng@intel.com> In-Reply-To: <20190906132259.29500-1-bob.c.feng@intel.com> References: <20190906132259.29500-1-bob.c.feng@intel.com> MIME-Version: 1.0 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,bob.c.feng@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1567776190; bh=9Vuiq/vRiUQEhM1qTNyRdPwaYmp8kowiOC0EV0+0m6U=; h=Cc:Date:From:Reply-To:Subject:To; b=U6skDUwABblP1y7hNnEkaT/ylzdiujxL2CGJWgNDIBIuckVl29RszQuM/gOID5vnl48 UMFMz5CrId9mqaVQZ3qnEjiK18S11UVf3HiD2m9o+WI+54sIZY1u/n+hyUalaApoly5Si 16atajT2/XHq1p0mPrx6tVp2ydJ1kZbpKAw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1302 If there is a inf override, and multi-thread genffs is enabled, build will fail. This patch is going to fix this bug. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng --- BaseTools/Source/Python/AutoGen/AutoGenWorker.py | 2 +- BaseTools/Source/Python/AutoGen/ModuleAutoGen.py | 2 +- BaseTools/Source/Python/GenFds/FfsInfStatement.py | 5 ++++- BaseTools/Source/Python/build/build.py | 8 ++++---- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGenWorker.py b/BaseTools/S= ource/Python/AutoGen/AutoGenWorker.py index 2e68538b1cb4..0d0ee319393c 100755 --- a/BaseTools/Source/Python/AutoGen/AutoGenWorker.py +++ b/BaseTools/Source/Python/AutoGen/AutoGenWorker.py @@ -239,11 +239,11 @@ class AutoGenWorkerInProcess(mp.Process): Ma.GenPreMakefileHash(GlobalData.gCacheIR) if Ma.CanSkipbyPreMakefileCache(GlobalData.gCacheIR): continue =20 Ma.CreateCodeFile(False) - Ma.CreateMakeFile(False,GenFfsList=3DFfsCmd.get((Ma.MetaFi= le.File, Ma.Arch),[])) + Ma.CreateMakeFile(False,GenFfsList=3DFfsCmd.get((Ma.MetaFi= le.Path, Ma.Arch),[])) =20 if GlobalData.gBinCacheSource and CommandTarget in [None, = "", "all"]: Ma.GenMakeHeaderFilesHash(GlobalData.gCacheIR) Ma.GenMakeHash(GlobalData.gCacheIR) if Ma.CanSkipbyMakeCache(GlobalData.gCacheIR): diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/S= ource/Python/AutoGen/ModuleAutoGen.py index 3bb7e91154ac..8250b93fd440 100755 --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py @@ -2121,11 +2121,11 @@ class ModuleAutoGen(AutoGen): if (self.MetaFile.File,self.MetaFile.Root,self.Arch,self.M= etaFile.Path) in GlobalData.Refes: self.ReferenceModules =3D GlobalData.Refes[(self.MetaF= ile.File,self.MetaFile.Root,self.Arch,self.MetaFile.Path)] self.CreateCodeFile() if not (self.MetaFile.Path, self.Arch) in gDict or \ not gDict[(self.MetaFile.Path, self.Arch)].CreateMakeFileDone: - self.CreateMakeFile(GenFfsList=3DGlobalData.FfsCmd.get((self.M= etaFile.File, self.Arch),[])) + self.CreateMakeFile(GenFfsList=3DGlobalData.FfsCmd.get((self.M= etaFile.Path, self.Arch),[])) =20 if not (self.MetaFile.Path, self.Arch) in gDict or \ not gDict[(self.MetaFile.Path, self.Arch)].CreateCodeFileDone o= r \ not gDict[(self.MetaFile.Path, self.Arch)].CreateMakeFileDone: EdkLogger.quiet("[cache warning]: Cannot create CodeFile or Mak= efile for module %s[%s]" %(self.MetaFile.Path, self.Arch)) diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py b/BaseTools/= Source/Python/GenFds/FfsInfStatement.py index ebb93b14c4ff..43dbd0102f5e 100644 --- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py +++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py @@ -500,11 +500,14 @@ class FfsInfStatement(FfsInfStatementClassObject): # MakefilePath =3D None if self.IsBinaryModule: IsMakefile =3D False if IsMakefile: - MakefilePath =3D self.InfFileName, Arch + PathClassObj =3D PathClass(self.InfFileName, GenFdsGlobalVaria= ble.WorkSpaceDir) + if self.OverrideGuid: + PathClassObj =3D ProcessDuplicatedInf(PathClassObj, self.O= verrideGuid, GenFdsGlobalVariable.WorkSpaceDir) + MakefilePath =3D PathClassObj.Path, Arch if isinstance (Rule, RuleSimpleFile.RuleSimpleFile): SectionOutputList =3D self.__GenSimpleFileSection__(Rule, IsMa= kefile=3DIsMakefile) FfsOutput =3D self.__GenSimpleFileFfs__(Rule, SectionOutputLis= t, MakefilePath=3DMakefilePath) return FfsOutput # diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Pyth= on/build/build.py index 2a10f99a1e70..94318420196f 100755 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -840,11 +840,11 @@ class Build(): PcdMa.GenPreMakefileHash(share_data) if PcdMa.CanSkipbyPreMakefileCache(share_data): continue =20 PcdMa.CreateCodeFile(False) - PcdMa.CreateMakeFile(False,GenFfsList =3D DataPipe.Get= ("FfsCommand").get((PcdMa.MetaFile.File, PcdMa.Arch),[])) + PcdMa.CreateMakeFile(False,GenFfsList =3D DataPipe.Get= ("FfsCommand").get((PcdMa.MetaFile.Path, PcdMa.Arch),[])) =20 if GlobalData.gBinCacheSource and self.Target in [None= , "", "all"]: PcdMa.GenMakeHeaderFilesHash(share_data) PcdMa.GenMakeHash(share_data) if PcdMa.CanSkipbyMakeCache(share_data): @@ -1867,13 +1867,13 @@ class Build(): self.Progress.Stop("done!") if self.Target =3D=3D "genc": return True if not self.SkipAutoGen or self.Target =3D= =3D 'genmake': self.Progress.Start("Generating makefi= le") - if CmdListDict and self.Fdf and (Modul= e.File, Arch) in CmdListDict: - Ma.CreateMakeFile(True, CmdListDic= t[Module.File, Arch]) - del CmdListDict[Module.File, Arch] + if CmdListDict and self.Fdf and (Modul= e.Path, Arch) in CmdListDict: + Ma.CreateMakeFile(True, CmdListDic= t[Module.Path, Arch]) + del CmdListDict[Module.Path, Arch] else: Ma.CreateMakeFile(True) self.Progress.Stop("done!") if self.Target =3D=3D "genmake": return True --=20 2.20.1.windows.1 -=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 (#46979): https://edk2.groups.io/g/devel/message/46979 Mute This Topic: https://groups.io/mt/33166301/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-