From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web10.50847.1680256592558538463 for ; Fri, 31 Mar 2023 02:56:32 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=AKTCawOt; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680256592; x=1711792592; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=FtOcqPJKBOgjpFKZJZQQUoR5Jt/H9MmI2Aej03u+zCg=; b=AKTCawOtcCtHiOv8yAFHCDKwKDv2QQ8ICYQ+6RqV4G5RqGy6udJbZy+C J1ASqoDx21DS+c/5LNRHEtFS90wQVEuLL/UWaCccDnwZDtlcFxALQicyy 7FI0GoQS10fA2x3LFYjs6iPpc6bgzOJOggyYXXheH6+Qnj5uJ+LqEs2x9 pHnfO8wa5YZ+/qnMVHMNqm1oDmJpynnVWxrhUaIoK1v5IwFDbk9QcKYD4 n/ExvJ0uqIXbWGM6KxBD9rTDJ2gKw0P123YZ/g0Fyd5uGzkJ5ojVT744q ClEmfE1KRjNXdjoDKJ866YKmK9RHW7VkZrYLZchoFW+Wm78479NXgiA3D g==; X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="321065187" X-IronPort-AV: E=Sophos;i="5.98,307,1673942400"; d="scan'208";a="321065187" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2023 02:56:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="774308278" X-IronPort-AV: E=Sophos;i="5.98,307,1673942400"; d="scan'208";a="774308278" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 31 Mar 2023 02:56:23 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 31 Mar 2023 02:56:23 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 31 Mar 2023 02:56:23 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Fri, 31 Mar 2023 02:56:23 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Fri, 31 Mar 2023 02:56:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hIdNStwtp9ii88kJgVT6UpnT+dPQcVOpL7yo7yBaMIKuCJ3APZFTwzfVZNhQzpu6uumpxSjfnwIkxH6FjXjUMuPbXWGt6cf5N5XfRo7vrvYZ82fqeFjNpdzyGoPmtq/GBYELkhVtIwEBpd9IjLU5Td7qZEHS5kLVxxsJntalBDd5eqJSOYobvBqh9eKHA2+3/2b0F/cHrXBlMAoos6Q2WD75hC9Ts1M7zI/XmTE/28wohMvwivuhZbD+Z7ciGgEsPnKd/jyTTSi6Eusd0I62jAI0jsswHUsr52hPzQGGdDfWmYJPCXM4cuyolBEhvLLW/GsaD6mHq294xZDVNgTM+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=F7t3rOTHuT6WynNHNksPqsa8eR2tTA0/wO+plAxw+00=; b=Znc2QJKoeyireQRUvendVMfGhMERGt2ycthH5Z7BLUv304eovtMX4ZPoi5uNwsoJTIEm+IULqawqsjSrpLt+x2l3zQb9h7P2V1jCxWfCfNHFRDi0s2lyxVq8yKteJaAuvunKgYVZ59j1oH//9gBmPND3y116tQqnw3PSnU53Zbhqfyfj2MODWwBRmAS9jFqahT1y7Rszh7aZaQ2CTjmLg8kpoh5DGXYKIQ3ZjHFR1/16p7V48xgPZaaGxVGaEWyT84V3kMV/GzXhr7/BPJfV8Nlh1G0ag7JUJRamaOBes5DWCt/H01ixwNNGpAJPZhK2AE4B3HGP4xg+GnVA7F3exQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by MW4PR11MB6909.namprd11.prod.outlook.com (2603:10b6:303:224::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Fri, 31 Mar 2023 09:56:21 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69%8]) with mapi id 15.20.6222.035; Fri, 31 Mar 2023 09:56:20 +0000 From: "Ni, Ray" To: Ard Biesheuvel , "devel@edk2.groups.io" CC: Andrew Fish , "Kinney, Michael D" , "Liu, Zhiguang" , Rebecca Cran , Tom Lendacky , =?iso-8859-1?Q?Marvin_H=E4user?= Subject: Re: [RFT PATCH v3 2/5] UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version Thread-Topic: [RFT PATCH v3 2/5] UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version Thread-Index: AQHZY7Fh30tON8oed0yb8fvrle16gK8UotBQ Date: Fri, 31 Mar 2023 09:56:19 +0000 Message-ID: References: <20230331091437.1593337-1-ardb@kernel.org> <20230331091437.1593337-3-ardb@kernel.org> In-Reply-To: <20230331091437.1593337-3-ardb@kernel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|MW4PR11MB6909:EE_ x-ms-office365-filtering-correlation-id: e5887335-a454-4ff5-cdb3-08db31ce2d80 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EvA8pyNZNDNOKyXSuuP89JnmyxOHb2od5Qrs/C8I7QFwHmkxU+y2EWdjMwdXmx8qmPsp96E+74QLU/hj9Xe7z92Rnqohx7uVZ9kHe3Ab+DDDhMboyBM+YbM0Frb3JQm3AnWyFZW4TE3YGLF/2PedSdSeOkqync78PMh+EwYn8VHiz2HCt8hiT14BgrV/S2q/ZFMxOYCev1K9g5TLnA1+BVfY0jaOi7Qhd8eK9fzxxkWLkg2YWStj/HDKvZuF9iW43rSfcIQYUuiSzLhe0+GD9sUDrEtVtt8VKPi+TeZlenVVIVSwCQO96Go5xsaFD2ptB44FaW7dyf5x5t7NbdIIqnvvYhTYWpJNbmkiPMzJSeLMbTSBjYpXZ6ldV1Uwcns/JQa5n3w0FTfwMF3jJKdowknYUG1hdudjxoAd48pB8ayz65RhBbtmKNCInd97p8FMB2lTjs0nmh3J4TJsjJgwb4hIRgfnbypxEI1Qjar1I/0xfoeD+qFWeIrwFQeTMLaNFmCKyWCvy+r0nsSzcGE51SIKvh6GJmA9JxKNBcvLZNjfPo8w8n55CupYKye/3nor3+pAggji07XVdaoiQfmjnF5uhsZ/WrEBnlNONB7BUPujun9WMJDjZaFzFNqJp0zl x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(346002)(136003)(39860400002)(366004)(451199021)(5660300002)(2906002)(66476007)(38070700005)(316002)(122000001)(54906003)(86362001)(83380400001)(110136005)(478600001)(82960400001)(19627235002)(7696005)(38100700002)(66946007)(66446008)(76116006)(71200400001)(8676002)(66556008)(66574015)(64756008)(33656002)(55016003)(4326008)(6506007)(9686003)(53546011)(52536014)(8936002)(41300700001)(186003)(26005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?qWHFyGIkTSeBNEFxUx+cUSDCTsC7SPZBNd970ddlItTsGe0gWVo21dLjZJ?= =?iso-8859-1?Q?EBr8RzV+12obrPZ5hhM60GYNUucEzTzJZ05yN+bCuhCO/DAjyJyGnbEd4t?= =?iso-8859-1?Q?mu2w/7od9rl4v0MXJFAo2NIxH4nQG8A67xcAVd4Cx5OfAawCtoIDUDa4MS?= =?iso-8859-1?Q?Iam5hPhRnxiwIH+ldMCCsjUegZHG3wHg5xaI8sF9N0o1N0OMLgKEudPvaP?= =?iso-8859-1?Q?ldoA3yA4FXOvNLNJ2dtD22p3+x9ERfXcnnyK9MW4Djl0uBp487khRpFz3P?= =?iso-8859-1?Q?lmzQ6DGwZ9n7EeaNwBPl/lk9TanWWeOz9P8NwDrwaAS4blBIXGaxv+vA1/?= =?iso-8859-1?Q?g2QYxDcXp0q+Eux+kTwjEYHDUK4PzKE5Ekw/ksU0iUCzYS2xbMqRMAdtxd?= =?iso-8859-1?Q?Y832XB74pGAjMs84DVqqlmrCp4joi8oDyZzerrn/OWCroQWPdGvQFUaYzy?= =?iso-8859-1?Q?Kj4CfdERlIpxen0AVp9DgBcxoj3c+/jJifVe3Px5OAbaE+vDGRy9mnk5B/?= =?iso-8859-1?Q?XyRI5yxWuSGK9tlkiPNi8IRCAVn4ZVPjrdcvmNe8/iLT2jILXR93vpa57F?= =?iso-8859-1?Q?QyPvV69NfTxsTXT9NQx4XR//9Uqyp6OmoXO1penUS6Zds4bnz0fi02Lpjx?= =?iso-8859-1?Q?rQSK5gOjv/cpL0Cakfphru5QVYeNLrxMKS/VtZpfyYL4vj2LyfLMkOpbtk?= =?iso-8859-1?Q?eRSJNXOuxBKJlerChA4/pU250OMnWlbaS4Ahg/uxd5M/fIJIQFbXMsaNoG?= =?iso-8859-1?Q?EsLPtQi1X7fZI2yUN+5JU3Aowz1eAq5jE8yLY+nm0asSr96nQSr6wIoVuv?= =?iso-8859-1?Q?aQaQ8xA8hajFDxknnCMzY4UTeFJE4FKDoaG1FVs43udrYM2J6jXKLrs9iI?= =?iso-8859-1?Q?IcAv4dPo9jgVogxDFlBIT99KL4KkYlApB7lvhhnBWvk1Pgu0xx1Fy7r87C?= =?iso-8859-1?Q?N4vo0rNiHO3dCDtbTlUtm2k+idZSX2tJQJ0xSJSvBwFen71+GpYLifK9qG?= =?iso-8859-1?Q?QOZ6vxNo5546MkdIz00IGD+a72AYF5hgClK63w594RvaSjktBeGOiQ2lrI?= =?iso-8859-1?Q?LAgMhB3CvsHSusITOlQQ2eLnsVgKjHRG00NV9ejInlFZ5gZ4x0niBPoZUM?= =?iso-8859-1?Q?Hjg+eaALp4TtRtG3m5Ov8e2CQH09zkjKZtBdd81sC+3+VTa2iay2m1fC6z?= =?iso-8859-1?Q?VmgZO/tejRoz8ORtDQhqfTSiROiyh/Fzbtk0jOuOrR0aB5lsT7PyFiEFCQ?= =?iso-8859-1?Q?rrqMx6CWvdIahbFc9XfO04DRH+RjxV+u+QcveaO9jPICQZvxIPmaL9MP5c?= =?iso-8859-1?Q?DbaDTRcomqKZKcDBoGkjpK+x23p7bOIWrYiJQP2RUojaViLiDIZM312eZy?= =?iso-8859-1?Q?I7MVjtvbV6yAe1dezLAbWG+NUNTSVAX4rHnrhPPO6gb/c0kR1JlslauM7L?= =?iso-8859-1?Q?3Yku8n06u+B3Qp+PAscQ9D75lIT+aO51RGmQglC5uw8CqTu1TpMJ/BEFbG?= =?iso-8859-1?Q?NXMYZHcoZcbJX0MHdy4yBvYFNxBaKUZgjLXHLiZJRb3zEvYD2gKDHt3vsi?= =?iso-8859-1?Q?vaEFkSOQEkEH/8EOzJ0tE3Ldfcd9RXXuZrEW79OGbWyJ4IzM0f/cEH4Pcg?= =?iso-8859-1?Q?+vUMDWqP4vufE=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5887335-a454-4ff5-cdb3-08db31ce2d80 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2023 09:56:19.9219 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: aC+lQIsR3UATh63h43SGKrDnpiqgfsnTj9bNTsw0MYUFX0uvxFlNT6fTgJmOmDzQrnUX/BPVENkddGNALyttNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6909 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Ard, Thanks for the detailed commit messages. That really helps me to understand= why XCODE version was needed. However, I feel it would be great if you can "highlight" what are changed b= y this patch. The following is just an example. You can reword as you like. 1. Change for non-XCODE SecPeiCpuExceptionHandlerLib: * Use SecPeiExceptionHandlerAsm.nasm (renamed from ExceptionHandlerAsm.n= asm) * Removed some unnecessary absolute references * (32 IDT stubs are still in .text.) 2. Change for XCODE SecPeiCpuExceptionHandlerLib: * Use SecPeiExceptionHandlerAsm.nasm instead of Xcode5ExceptionHandlerAs= m.nasm * CET logic is not in SecPeiExceptionHandlerAsm.nasm (but aligns to non-= XCODE lib instance) * Fixed a bug that does runtime fixup in TEXT section in SPI flash. * Emitted the code carrying the absolute symbol references into the .dat= a which XCODE or LLD linkers allow. Then fixup can be done by other build tools such as GenFv if the code = runs in SPI flash, or by PE coff loader if the code is loaded to memory. Again, thanks for the quick patches just because I asked some XCODE questio= ns. Thanks, Ray > -----Original Message----- > From: Ard Biesheuvel > Sent: Friday, March 31, 2023 5:15 PM > To: devel@edk2.groups.io > Cc: Ard Biesheuvel ; Ni, Ray ; Andrew > Fish ; Kinney, Michael D ; > Liu, Zhiguang ; Rebecca Cran > ; Tom Lendacky ; > Marvin H=E4user > Subject: [RFT PATCH v3 2/5] UefiCpuPkg/CpuExceptionHandlerLib: Use single > SEC/PEI version >=20 > Currently, we use the non-Xcode5 version of ExceptionHandlerAsm.nasm > only for the SEC and PEI phases, and this version was not compatible > with the XCODE or LLD linkers, which do not permit absolute relocations > in read-only sections. >=20 > Given that SEC and PEI code typically executes in place from flash and > does not use page alignment for sections, we can simply emit the code > carrying the absolute symbol references into the .data segment instead. > This works around the linker's objections, and the resulting image will > be mapped executable in its entirety anyway. Since this is only needed > for XCODE, let's make this change conditionally using a preprocessor > macro. >=20 > Let's rename the .nasm file to reflect the fact that is used for the > SecPei flavor of this library only, and while at it, remove some > unnecessary absolute references. >=20 > Also update the Xcode specific version of this library, and use this > source file instead. This is necesessary, as the Xcode specific version > modifies its own code at runtime, which is not permitted in SEC or PEI. > Note that this also removes CET support from the Xcode5 specific build > of the SEC/PEI version of this library, but this is not needed this > early in any case, and this aligns it with other toolchains, which use > this version of the library, which does not have CET support either. >=20 > Signed-off-by: Ard Biesheuvel > --- >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib > .inf | 4 +++- >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/{ExceptionHandlerAsm.na > sm =3D> SecPeiExceptionHandlerAsm.nasm} | 12 ++++++++---- >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHa > ndlerLib.inf | 4 +++- > 3 files changed, 14 insertions(+), 6 deletions(-) >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandler > Lib.inf > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandler > Lib.inf > index df44371fe018e06d..885bb6638ab58620 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandler > Lib.inf > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandler > Lib.inf > @@ -28,7 +28,7 @@ [Sources.Ia32] > Ia32/ArchInterruptDefs.h >=20 >=20 >=20 > [Sources.X64] >=20 > - X64/ExceptionHandlerAsm.nasm >=20 > + X64/SecPeiExceptionHandlerAsm.nasm >=20 > X64/ArchExceptionHandler.c >=20 > X64/ArchInterruptDefs.h >=20 >=20 >=20 > @@ -58,3 +58,5 @@ [Pcd] > [FeaturePcd] >=20 > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## > CONSUMES >=20 >=20 >=20 > +[BuildOptions] >=20 > + XCODE:*_*_X64_PP_FLAGS =3D -DNO_ABSOLUTE_RELOCS_IN_TEXT >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.n > asm > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/SecPeiExceptionHandler > Asm.nasm > similarity index 94% > rename from > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nas > m > rename to > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/SecPeiExceptionHandlerA > sm.nasm > index aaf8d622e6f3b8f1..ec45c60181906c14 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.n > asm > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/SecPeiExceptionHandler > Asm.nasm > @@ -27,7 +27,9 @@ extern ASM_PFX(CommonExceptionHandler) > SECTION .data >=20 >=20 >=20 > DEFAULT REL >=20 > +#ifndef NO_ABSOLUTE_RELOCS_IN_TEXT >=20 > SECTION .text >=20 > +#endif >=20 >=20 >=20 > ALIGN 8 >=20 >=20 >=20 > @@ -51,6 +53,9 @@ HookAfterStubHeaderBegin: > push rax >=20 > mov rax, HookAfterStubHeaderEnd >=20 > jmp rax >=20 > + >=20 > +SECTION .text >=20 > + >=20 > HookAfterStubHeaderEnd: >=20 > mov rax, rsp >=20 > and sp, 0xfff0 ; make sure 16-byte aligned for exception= context >=20 > @@ -276,8 +281,7 @@ DrFinish: > ; and make sure RSP is 16-byte aligned >=20 > ; >=20 > sub rsp, 4 * 8 + 8 >=20 > - mov rax, ASM_PFX(CommonExceptionHandler) >=20 > - call rax >=20 > + call ASM_PFX(CommonExceptionHandler) >=20 > add rsp, 4 * 8 + 8 >=20 >=20 >=20 > cli >=20 > @@ -384,10 +388,10 @@ DoIret: > ; comments here for definition of address map >=20 > global ASM_PFX(AsmGetTemplateAddressMap) >=20 > ASM_PFX(AsmGetTemplateAddressMap): >=20 > - mov rax, AsmIdtVectorBegin >=20 > + lea rax, [AsmIdtVectorBegin] >=20 > mov qword [rcx], rax >=20 > mov qword [rcx + 0x8], (AsmIdtVectorEnd - AsmIdtVectorBegin) / = 32 >=20 > - mov rax, HookAfterStubHeaderBegin >=20 > + lea rax, [HookAfterStubHeaderBegin] >=20 > mov qword [rcx + 0x10], rax >=20 > ret >=20 >=20 >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuException > HandlerLib.inf > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuException > HandlerLib.inf > index 619b39d7f1de9ae3..17f872bb15eb0ff7 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuException > HandlerLib.inf > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuException > HandlerLib.inf > @@ -33,7 +33,7 @@ [Sources.Ia32] > Ia32/ArchInterruptDefs.h >=20 >=20 >=20 > [Sources.X64] >=20 > - X64/Xcode5ExceptionHandlerAsm.nasm >=20 > + X64/SecPeiExceptionHandlerAsm.nasm >=20 > X64/ArchExceptionHandler.c >=20 > X64/ArchInterruptDefs.h >=20 >=20 >=20 > @@ -63,3 +63,5 @@ [Pcd] > [FeaturePcd] >=20 > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackGuard ## > CONSUMES >=20 >=20 >=20 > +[BuildOptions] >=20 > + XCODE:*_*_X64_PP_FLAGS =3D -DNO_ABSOLUTE_RELOCS_IN_TEXT >=20 > -- > 2.39.2