From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.151912.1680760501627583751 for ; Wed, 05 Apr 2023 22:55:02 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=eHIkBByv; spf=pass (domain: intel.com, ip: 134.134.136.20, 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=1680760501; x=1712296501; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=N0Rwei9pvWfmrMwCMEXm8uBudz5gWy5+PaSySM5TfgY=; b=eHIkBByvldCitEjLZCXOjNB1Rh4TEjkL0EvrEgyQ0ynytfwgVugAEocj gV3ZCRVDfML6Ah7ZHKNow3MJqgpGYB8fNRD1bDyMLk4YJ58PD4/mvKUlY ltFdaL9U85dG3bsTkPRmumv+MxURKwcJvEIdwk8Uk2R3i5nwsgdWpqAHD ThmfXcN2BNbOdA9bmkWRU1u8qCHySARTLMliu6t9G1BafWCzr5kyUNMib MqwdmJqQRjHvVx2V5StTZNnqdaz7Uwuikgxu2j+PE6EE+v0JF7liK4c/C TSyI4dvEuAwwm2SyBfKYzp/gULJLh1ZmpXAGWD3t7qTURXhw5/iUysrgZ w==; X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="331257138" X-IronPort-AV: E=Sophos;i="5.98,322,1673942400"; d="scan'208";a="331257138" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Apr 2023 22:55:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10671"; a="687015440" X-IronPort-AV: E=Sophos;i="5.98,322,1673942400"; d="scan'208";a="687015440" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga002.jf.intel.com with ESMTP; 05 Apr 2023 22:55:00 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 5 Apr 2023 22:54:59 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Wed, 5 Apr 2023 22:54:59 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Wed, 5 Apr 2023 22:54:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jIQvs1jNknfkrsd/XppLqML/bXsG7LwCZoaBSChVqnwmPMBysgEBdc+b2LZe0rFeekEXSBb29wCXEVRy0SMi0tRd9urlct1fGXEotgqPB4L7dHGp6XgNIX9ZmPjIkHX5J9G5OSxnaXqM7WBiu9AXg5eezc1oOCE2me2631RFFE9dDG8nLdqq5WNu4asuXxMcjo0ZTMIASDnBCDv1HiRhrKvgTYS/Bw18kwyghiVB8mGdVMgTMkLMnA+ZHZDw9CWEGo6R2UrdLTw+ltkcS6icdHrUoqNs1Num/sM1V8FkQ1R/A4T5TE3tMc2ELQFCNUiyQATFlC8xjwsTV5DE4exXIQ== 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=kZrIoNC/AuNYyjv/lL74ry2+uEHog5h0sE/LOYntDbY=; b=ZzAOJxVncPZFvR+BAy0TfPRggeaSJ9FqWFA5axs/pWFNIpwltZNSQw5gHTG4Ir/Ed8DIlsQi0xdvRv0gDuJ1SeLDQpYfHmXMA5niDvxj7dixQg6a/xIpjG+QP5KleJoeJR+VKICuaKkfdUF4jP3cUGFHKO+AwNo9mFCEzApL9BAJbd7r0tj/Sl7covWNo/MICnPoPwOgefMmWRgT2WoK0hxZHWZK6a4WEg0VL3AssqeINho3bl3IFWEt7l4xMIG7Jezbfvcs7MaTTbAbT/0ZT/bgI4iBYsw/Pn/1lTRBM5IJWJ4vxG1P0zIi+p9IRBAW2kIfQ4kqYZWb5Vflpc2EIg== 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 PH0PR11MB4776.namprd11.prod.outlook.com (2603:10b6:510:30::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 6 Apr 2023 05:54:57 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69%7]) with mapi id 15.20.6254.030; Thu, 6 Apr 2023 05:54:56 +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: [PATCH v4 2/6] UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version Thread-Topic: [PATCH v4 2/6] UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version Thread-Index: AQHZZjjCPb+nCzNxX0GpbIaX68e95q8dzC8A Date: Thu, 6 Apr 2023 05:54:56 +0000 Message-ID: References: <20230403142920.1921619-1-ardb@kernel.org> <20230403142920.1921619-3-ardb@kernel.org> In-Reply-To: <20230403142920.1921619-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_|PH0PR11MB4776:EE_ x-ms-office365-filtering-correlation-id: ac256233-c458-4c73-6324-08db36637326 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CLi2zOj93twbxvtPUB45BVa6gi8U1Zjjz18b83aj5it9ZqbiiX9YecXHW4/R975y1hwBUdK3hZDK7xjI3Hnm/nyOAICc9nHTWUgelpjZptfHHMvuddScnZpgD7TtQT1XMht3HqRpZ6wKuYihm9jkxXAuNj8EW/p/yhoSGIrhaWJWDXbE4z6TweEqPiIsSNLmEI1s75aHLUAHkIw6NgC9yv943aATYQ6FdB6CNrAnesbNJ/tgPHYwi9WiFDbtHYq64/MW72JTlCLYMS5JS72Sy9rmJyUoT8yPA3whjBGcW1+LdjnoZ5kAw7cdLWd8rofgvnJgtdGXJDBAM+Ll7YPjtotZM86KfsS/DCNSM30Xr9XPPtf4zbpDnxJs6Jm+Whyjg9ArfuSh37ahjlozxlPJQU7ORfdhXE63MY8de42ydSODFSra3dESCpOWoBzXFHdpfb0TNTYu9+lZ1E7Fa36onOrTXjtTXrfX17hHSqwaDApGOsYcZgrTrfouFktxg/Bf4fLbL/hC6YlH9JHYwUdc3nRC7g//o+xLFFSuOZrKWh/7JVb2i6kuwlx146qEKHMwBMlj7Idbn9US6zds3Qy8JHvFe5UlYFYypippuX3EhcNIvCUoRZi/tDS2rMZ87IN4 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)(396003)(346002)(39860400002)(376002)(136003)(366004)(451199021)(6506007)(26005)(38070700005)(66574015)(9686003)(38100700002)(2906002)(83380400001)(66446008)(82960400001)(19627235002)(316002)(186003)(55016003)(64756008)(122000001)(53546011)(4326008)(110136005)(66476007)(5660300002)(41300700001)(71200400001)(8936002)(33656002)(66556008)(76116006)(66946007)(52536014)(86362001)(8676002)(478600001)(7696005)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Z36h0Iz5ocwNQPsLFNqL3t5om889XZ7xMXor7paEZKFRBrnoRiBWjWcBJD?= =?iso-8859-1?Q?KVi1ESSIgdfo2eU1xWsJMt7nJSGxLTdB6VtuOYmToGG/xTjR2rxZvHpYXr?= =?iso-8859-1?Q?WM4mwWsnSRx4ux10+SEvMUU9qLHV9Xc9CPgHE1AlXtL3XcUkkMrAkkwji1?= =?iso-8859-1?Q?V6unj/9pHbpyq5wdm46TfIZ87ZhqV95pO1BwmHbAcu6X2n04xa036hIfV3?= =?iso-8859-1?Q?I903YgdKAaNOmjARtoEXOirXeB2SYa/lbWY0bkke+Bpewj0AtZbxLCEF5S?= =?iso-8859-1?Q?+GLlPFf1z/HHiCZgrislrsZk5GLxvRrA/jljebpZrX1//fqemY8iYzwR7+?= =?iso-8859-1?Q?7kH4U1sibdKJ/GYOZWRIVUv1ssRbq0fjBU5Qhsu0yXKPaHv8F6Dlx1EOya?= =?iso-8859-1?Q?BxHzZfGz9VIBzXa3e2Tzoaye0SEXQGNWPMyNwbWBrsYVSgpTvLSYBCnTAJ?= =?iso-8859-1?Q?u+bXQ+zqmVAS8LQ5Bjlimk2F+EC5KmDJyDUfcRk2IKswM9uNegL5UurlW/?= =?iso-8859-1?Q?63tnbCBTIX+fuyvmCnYXBfeCBU8Dh4esWUSrx7Hrwu48bRZm5g5cY7a+jk?= =?iso-8859-1?Q?9DFPJYMgz8VRksV1C/t6bdRRCg4cnc4LzJYDtiaB164ZZl2kzHXLX26iF2?= =?iso-8859-1?Q?35YZPfwwJbM0magpIfMdJNIHJYOUM5sNUgwUTTtFq0VsR/rz2lVasl/FWH?= =?iso-8859-1?Q?iSwGjNnYhdUjlTQtKncVTYKwGm1/j39jLqwVuVjD+CoXjjIq+jTOsNWo/+?= =?iso-8859-1?Q?JaSmC/lz0vXIA1gCuPa3HHDuyO2ZbCBsJWu2f0yma/nrgxIA9Rh6YerBXX?= =?iso-8859-1?Q?IhpWa6kkeYcBrCdPFLEmH2o+IegvFI3DLE2XS/lk7HqLRb26qJgl8LnaRg?= =?iso-8859-1?Q?5ZygWqgYAQqt9mjHjG5J36IT1EY0XdMtR5+uyThdxCkOeyG8fxMIoKjPHl?= =?iso-8859-1?Q?rqkDt+K2JiYTqlkpACzKViW9AGsNp0dErb/0f4EAFQXNLYFeGUFyxOZgj6?= =?iso-8859-1?Q?W6sVTEi0EniEpCe9W7+htixBWTdIJciNciowr3UMT80GCmUiMUrjMbRNaY?= =?iso-8859-1?Q?tHArC7XVYfl/NC7bOQGolRsgBwmIfTtSmxEdnGRlJkx38wtdCdpyOmH9BF?= =?iso-8859-1?Q?HVl8/sC1/d13nShKbOKvkwfBfUDMj+v9FcnQmyMh7CnzDbOKPPCwOoIUvq?= =?iso-8859-1?Q?lynxI1mBFzNMg8gNPxD4UiDygel5PZ26vlFzf392vPmGw18HJgiMTTV3of?= =?iso-8859-1?Q?G0LWg5Ia5beI2MzSAdhwEgSe3jnKbFoT/cQ6UZreiR0ZxKLZP/ZWTx01MT?= =?iso-8859-1?Q?yr/FOoFF01upTkFXhO4jdfa7VPwya9zRrQYZIDQS7fbN9UxBMNh1ZNZy+0?= =?iso-8859-1?Q?CNRfpZj5J6bEgQRKE9i7YfZUaoOPE7TsDHrsGJLtMK88qO9DEinr6KpuL6?= =?iso-8859-1?Q?GZLkmEB+1oJFqkLy/ATVYFlzhcPMtdLHHyIRlcVuLY9BGmKWgp+AbtdBVH?= =?iso-8859-1?Q?xjQa++2GLjcaiQMqsdfPuRD1FHbzRacORvUdGMaUBVYhk5nuBOUPWtR2hs?= =?iso-8859-1?Q?a1HmsbyCKyVwvFj6TcSB0F5IZvdy6pn6RXD10XiLNAf6b2LyweBkrzzAI4?= =?iso-8859-1?Q?665E/y97cFRvs=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: ac256233-c458-4c73-6324-08db36637326 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2023 05:54:56.4144 (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: V+Vs0Wo4k9n+W6RpNMDF62pEx1zivXhlkSjwYxOGEbI0FTgZCf6rSpQ0pa6kQoMWPg6jRO4w7KkZpAR0lvxNjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4776 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 Reviewed-by: Ray Ni > -----Original Message----- > From: Ard Biesheuvel > Sent: Monday, April 3, 2023 10:29 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: [PATCH v4 2/6] 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 > 1. Change for non-XCODE SecPeiCpuExceptionHandlerLib: > . Use SecPeiExceptionHandlerAsm.nasm (renamed from > ExceptionHandlerAsm.nasm) > . Removed some unnecessary absolute references > (32 IDT stubs are still in .text.) >=20 > 2. Change for XCODE SecPeiCpuExceptionHandlerLib: > . Use SecPeiExceptionHandlerAsm.nasm instead of > Xcode5ExceptionHandlerAsm.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 > .data 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. >=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..e7b1144f694183b7 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_NASM_FLAGS =3D -D NO_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..5c7a59c99d3210f1 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..accc081a95f53453 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_NASM_FLAGS =3D -D NO_ABSOLUTE_RELOCS_IN_TEXT >=20 > -- > 2.39.2