From nobody Wed May 15 03:35:47 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89038+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89038+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1650329492; cv=none; d=zohomail.com; s=zohoarc; b=QocI9OaEvcDuTVyeaHye/dHzpauU7D94lyFODfB2HtEy3J3G9Pi0IhBjYjXE3ScQW+F96+J2pajr44w58BBn/2FhFcVvSPXNWryfDRkeHb42Y3HkH0a5mGzL1EbPCiLcKdmDAKey9+rWNd8IMddIVZQRh9jRrsJrBa2AWraejQ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1650329492; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=1ZYKQVv1inclmKEAo7S13JP583qmQo9BYSQL2nZG9ok=; b=HBfWi2DdKIFBqZR5zT3t0XoYhqHnp7zRgwfS9b3eBOG6BA/ktJONAh1pJkI7SaTE36wU7a3TaG0HfD0mR5yU/n+qiHYtLF+cO1pw+fZFAasXGmi93jBVH3wpOH5vYYDjuB7GKyfXEC9YKZzmUr8bvQWjwx/hU5ksk8mV+LCOtO4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89038+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1650329492814803.6942646163695; Mon, 18 Apr 2022 17:51:32 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Cx2qYY1788612xrhY98UvnFd; Mon, 18 Apr 2022 17:51:32 -0700 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web09.4040.1650329491505346366 for ; Mon, 18 Apr 2022 17:51:31 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10321"; a="245535322" X-IronPort-AV: E=Sophos;i="5.90,271,1643702400"; d="scan'208";a="245535322" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 17:51:30 -0700 X-IronPort-AV: E=Sophos;i="5.90,271,1643702400"; d="scan'208";a="575830557" X-Received: from danwei-mobl4.ccr.corp.intel.com (HELO duntan-mobl.ccr.corp.intel.com) ([10.249.171.201]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 17:51:28 -0700 From: "duntan" To: devel@edk2.groups.io Cc: Ray Ni , Guo Dong , Benjamin You , Zhiguang Liu Subject: [edk2-devel] [PATCH] UefiPayloadPkg: Fix IA32 entry build failure Date: Tue, 19 Apr 2022 08:51:10 +0800 Message-Id: <20220419005110.369-1-dun.tan@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: 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,dun.tan@intel.com X-Gm-Message-State: j6JRxQC5xpBi9n57Iruk0um3x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1650329492; bh=DpxIr89lDvaaZ1zeymWkSkc/89OkiVt9j7b93pw0Vaw=; h=Cc:Date:From:Reply-To:Subject:To; b=Q+v+vqBXWstV+ivUPEDgEv5eqwN/KE0P3rF4aPt1XgiwT+UKpVD61k6gJFJEW3cytmt K0GBjtGiVM6ozh6xZhrmi3VsmEnXQ5LHXABm5UyY7gxyp4XRXcaKJEKpRDD29R3MR41yW KZog5gbe9emN3zZ/t/3QtlvuJu4V89EnHig= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1650329494306100007 Content-Type: text/plain; charset="utf-8" The ObjCopyFlag and EntryOutputDir need to be modified when building IA32 UniversalPayload Entry Signed-off-by: Dun Tan Cc: Ray Ni Cc: Guo Dong Cc: Benjamin You Cc: Zhiguang Liu Reviewed-by: Guo Dong Reviewed-by: Ray Ni --- UefiPayloadPkg/UniversalPayloadBuild.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/UefiPayloadPkg/UniversalPayloadBuild.py b/UefiPayloadPkg/Unive= rsalPayloadBuild.py index 99410d244d..8af381336d 100644 --- a/UefiPayloadPkg/UniversalPayloadBuild.py +++ b/UefiPayloadPkg/UniversalPayloadBuild.py @@ -54,14 +54,20 @@ def BuildUniversalPayload(Args, MacroList): BuildTarget =3D Args.Target ToolChain =3D Args.ToolChain Quiet =3D "--quiet" if Args.Quiet else "" - BuildArch =3D "X64" if Args.Arch =3D=3D 'X64' else "IA32 -a X64" ElfToolChain =3D 'CLANGDWARF' + BuildDir =3D os.path.join(os.environ['WORKSPACE'], os.path.normpat= h("Build/UefiPayloadPkgX64")) + if Args.Arch =3D=3D 'X64': + BuildArch =3D "X64" + ObjCopyFlag =3D "elf64-x86-64" + EntryOutputDir =3D os.path.join(BuildDir, f"{BuildTarget}_{ElfTool= Chain}", os.path.normpath("X64/UefiPayloadPkg/UefiPayloadEntry/UniversalPay= loadEntry/DEBUG/UniversalPayloadEntry.dll")) + else: + BuildArch =3D "IA32 -a X64" + ObjCopyFlag =3D "elf32-i386" + EntryOutputDir =3D os.path.join(BuildDir, f"{BuildTarget}_{ElfTool= Chain}", os.path.normpath("IA32/UefiPayloadPkg/UefiPayloadEntry/UniversalPa= yloadEntry/DEBUG/UniversalPayloadEntry.dll")) =20 EntryModuleInf =3D os.path.normpath("UefiPayloadPkg/UefiPayloadEntry/U= niversalPayloadEntry.inf") DscPath =3D os.path.normpath("UefiPayloadPkg/UefiPayloadPkg.dsc") - BuildDir =3D os.path.join(os.environ['WORKSPACE'], os.path.normpath("B= uild/UefiPayloadPkgX64")) FvOutputDir =3D os.path.join(BuildDir, f"{BuildTarget}_{ToolChain}", o= s.path.normpath("FV/DXEFV.Fv")) - EntryOutputDir =3D os.path.join(BuildDir, f"{BuildTarget}_{ElfToolChai= n}", os.path.normpath("X64/UefiPayloadPkg/UefiPayloadEntry/UniversalPayload= Entry/DEBUG/UniversalPayloadEntry.dll")) PayloadReportPath =3D os.path.join(BuildDir, "UefiUniversalPayload.txt= ") ModuleReportPath =3D os.path.join(BuildDir, "UefiUniversalPayloadEntry= .txt") UpldInfoFile =3D os.path.join(BuildDir, "UniversalPayloadInfo.bin") @@ -105,9 +111,9 @@ def BuildUniversalPayload(Args, MacroList): # # Copy the DXEFV as a section in elf format Universal Payload entry. # - remove_section =3D '"%s" -I elf64-x86-64 -O elf64-x86-64 --remove-sect= ion .upld_info --remove-section .upld.uefi_fv %s'%(LlvmObjcopyPath, EntryOu= tputDir) - add_section =3D '"%s" -I elf64-x86-64 -O elf64-x86-64 --add-section= .upld_info=3D%s --add-section .upld.uefi_fv=3D%s %s'%(LlvmObjcopyPath, Upl= dInfoFile, FvOutputDir, EntryOutputDir) - set_section =3D '"%s" -I elf64-x86-64 -O elf64-x86-64 --set-section= -alignment .upld.upld_info=3D16 --set-section-alignment .upld.uefi_fv=3D16 = %s'%(LlvmObjcopyPath, EntryOutputDir) + remove_section =3D f"{LlvmObjcopyPath} -I {ObjCopyFlag} -O {ObjCopyFla= g} --remove-section .upld_info --remove-section .upld.uefi_fv {EntryOutputD= ir}" + add_section =3D f"{LlvmObjcopyPath} -I {ObjCopyFlag} -O {ObjCopyFla= g} --add-section .upld_info=3D{UpldInfoFile} --add-section .upld.uefi_fv=3D= {FvOutputDir} {EntryOutputDir}" + set_section =3D f"{LlvmObjcopyPath} -I {ObjCopyFlag} -O {ObjCopyFla= g} --set-section-alignment .upld.upld_info=3D16 --set-section-alignment .up= ld.uefi_fv=3D16 {EntryOutputDir}" RunCommand(remove_section) RunCommand(add_section) RunCommand(set_section) --=20 2.31.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 (#89038): https://edk2.groups.io/g/devel/message/89038 Mute This Topic: https://groups.io/mt/90553049/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-