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.web12.27121.1592138315209971500 for ; Sun, 14 Jun 2020 05:38:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=cMckg+7g; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jiewen.yao@intel.com) IronPort-SDR: y/PbFzQIxtm4YsGa329dIrnnC/o3JpEfOiH+tHilDj6jvXYAaynVdl/DxsFlCvxft7axDrMUcO BiLoXlWUndWg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2020 05:38:34 -0700 IronPort-SDR: oMdJlVcfdH0JPuVyYkHobTFiLDgf+4Du0nc2xOsds2ZPwrZYMxbIbOM9wSKo+TXP7BcE30ESwj WYiDzXWK3keA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,511,1583222400"; d="scan'208";a="272449570" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 14 Jun 2020 05:38:33 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 14 Jun 2020 05:38:33 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 14 Jun 2020 05:38:33 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 14 Jun 2020 05:38:33 -0700 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (104.47.38.58) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 14 Jun 2020 05:38:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EPNc9hxtUvuUl+8LfkGXa1DKg2Y8M92g1kg0ESsfA7eumal2M6CHL3qNYzobr/wW9+mi48iXKoW3+sj4nLKRb9Jfx5SjUhHRD7kMlrmKNjTfW9tb0dZ9tAWiiOOoinASQj9YVc/1mPPGpwIIlH7VNj0hoBT7oo7x6z9I0S/BrnsTnGQ7csZq6rTAF1Gi0qaIO4Ty56GNFE0qUKITp4pPI7/5n/r468Qa+iB5rMPk3o/3L+I+FpszcJeUo2JIsZgMajZxc+3QkGKmAYFNG/EuCHuip9Q4CZuEVdnwGfxN1iNF2U/cR8CyNbC21n3PhYIXri02D0VvDfAMFuS+C5dd0g== 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-SenderADCheck; bh=2BlEvACpBraz6Pb7wHoQ7kgUrKcjGYQh5tLZXwvPlvM=; b=QX/VLnftlarY/EpAH6Q6gVFZVmMabV5Ki1o5tLjD7xKPRvt1XTuTVYu7ch+CFmBHaKg07DHIcZvhUqV85KYsg4HSFxfTK7p+rUIblfirxflUjzKErfAewGUc6yb/1zfw7fbicx+uAWKa5tsSVX87ZGVZZuCegYGRYHPZcDB19OtDu/eaI2mwnHxE553ApciwUWiCC4Ed/KtTr/ZEQwrcpJIUnlPBiTEbRNc2DFglc0KDfumzYW64l7C2FR8LSWdl9xtusuYDh3a9J0Ed8QTS+3Gky7Sc18P1hSXAR/ZLPirGg6UPnp6GfB1TFkqi/FC6RIMfFBIopZbmYkdrSaopbg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2BlEvACpBraz6Pb7wHoQ7kgUrKcjGYQh5tLZXwvPlvM=; b=cMckg+7g1b1F+tSpCWq+hkjJMvxxO9YImnNVD9BQdqwuH9zTz3bGyyCcrA1I6kpEsZPCNTtfgPE4DD47T9ue1zWOHYNwkjMGtXQIhiD3IRj7qzBCclVhiYBQYoFpUp7SMvT3Pg1fIAzoPqbfxjZklqQwnKjqAKJ0SpJkPGMKgtw= Received: from BL0PR11MB3412.namprd11.prod.outlook.com (2603:10b6:208:7c::32) by BL0PR11MB2964.namprd11.prod.outlook.com (2603:10b6:208:7c::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.22; Sun, 14 Jun 2020 12:38:30 +0000 Received: from BL0PR11MB3412.namprd11.prod.outlook.com ([fe80::a0dd:b860:2661:de87]) by BL0PR11MB3412.namprd11.prod.outlook.com ([fe80::a0dd:b860:2661:de87%6]) with mapi id 15.20.3088.028; Sun, 14 Jun 2020 12:38:30 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "ard.biesheuvel@arm.com" CC: "Kinney, Michael D" , "Gao, Liming" , Sami Mujawar , Ilias Apalodimas Subject: Re: [edk2-devel] [PATCH 4/5] StandaloneMmPkg: generate position independent code for StMM core Thread-Topic: [edk2-devel] [PATCH 4/5] StandaloneMmPkg: generate position independent code for StMM core Thread-Index: AQHWPv+vPkQcY3gmc0avQMIPPmwcc6jYE0OA Date: Sun, 14 Jun 2020 12:38:30 +0000 Message-ID: References: <20200610081740.54581-1-ard.biesheuvel@arm.com> <20200610081740.54581-5-ard.biesheuvel@arm.com> In-Reply-To: <20200610081740.54581-5-ard.biesheuvel@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTE4ZjI5YjctMmExOC00NjQ5LWFmYjEtZjM5NWJkODFkM2Y4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiam5EUVhFMGN5VERuXC85dWgzbm9NZ1dcL0RHeU9VSHBZSEJMNXpGOVZOVUlJczFSaTZHaXVrQm1Gamhud0ZyRkIwIn0= x-ctpclassification: CTP_NT dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.207] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0f38bb24-bb5d-4706-062f-08d8105fd80a x-ms-traffictypediagnostic: BL0PR11MB2964: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04347F8039 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dlwOmxyRjHn4Zb+n2kJUJVWIIWe7sHJrPdtrsry3u/+pnKaqS59dXMxOA5d0b5wyqfxmbFtT+zynEo7SYSJ6mwvetAdcQMs1hkvWyXQ3d1oEH4SBPC816xEGuDaOAXLCIGQANo+SI7O4kyt2/6fXalCm6qwnYwI6iF4LHCobrkZ4oKxqW1H4gda7g7a9MoAhpYwJuq10IEBmSTe4BXZO8XGisI1fIJodODcNBtfp/oeT0kn/eFdE1ULRzcf5Z56RtJlbV62kx/NG0AWu3omjp3BFSS9HmU4u0m8oTghS4Qbp8W1o4tXbTDbavMNEjclcpwT5Hu+8x4JoPOr/9nOU+UNt1IpJHiFp1uLqo0VgdX1JHFL6tN/WDZDlcoMtLnApidp0CClyJfQRT46AfossRA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR11MB3412.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(6029001)(376002)(136003)(366004)(39860400002)(346002)(396003)(478600001)(64756008)(66446008)(9686003)(26005)(55016002)(66556008)(966005)(71200400001)(66476007)(186003)(54906003)(66946007)(110136005)(5660300002)(33656002)(53546011)(6506007)(52536014)(8936002)(316002)(8676002)(4326008)(83380400001)(86362001)(76116006)(7696005)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: cC69sxJ16xHesy996PVEb2zE1Ds8v4ps5VEZyczcc+uaIYvaggRKnzJowgUAQe6yeQr7pzwhp7eQOsCZrSTrwAEY08jw3CRIr9FvIDcNthp0SrXd2UTz9COwVSuYidaQHhYSJYB7UH3lAPknhx1vEN5vu/sMBv2rZsBAhVQ6SEAkMoyKv//cuTt49ZPl56ZOBaFt8WZzIuVD8PV/+B1sAa0S4fOSDpZwR3OVtkl0GEUepFawAsXTzp5EjXA8RQornlxE81cmcZjd3yGl0sfwxGqOLYOqK93UHZoHmMB8UjrkEOhvqQrct31NwHaIUqrLNgid2qiD+1i3EfSglgfZPZGpYFFqj76NXZXaIu9AzjFVV/9f0Eetj1jod7alDX62Tzc3vJ1vq6T67PYAqrvOW76X64CRLgzqnryr2l9ZkAjSCyOtJLHUTGLsMZEpOAsKMb8Tl28mOjIrkqP7djnwgy3Duq+OMPDbLU9+oF0bsis= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 0f38bb24-bb5d-4706-062f-08d8105fd80a X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2020 12:38:30.3949 (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: zSwv7FdNmdF4v1uVdLo4wGcSZRDPeZGXB8QiWa2gUUiOoowSaItRhQw+7mpljZcuFqjsUVVcj01YiYQU3R7eFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB2964 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Jiewen Yao I hope GCC expert can review this and double confirm. Thank you Yao Jiewen > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Ard > Biesheuvel > Sent: Wednesday, June 10, 2020 4:18 PM > To: devel@edk2.groups.io > Cc: Ard Biesheuvel ; Kinney, Michael D > ; Gao, Liming ; Yao, > Jiewen ; Sami Mujawar ; > Ilias Apalodimas > Subject: [edk2-devel] [PATCH 4/5] StandaloneMmPkg: generate position > independent code for StMM core >=20 > The standalone MM core runs in a restricted environment that is set > up by a higher privilege level, and which may not allow memory regions > to be writable and executable at the same time. >=20 > This means that making the StMM core self-relocatable requires that > all the targets of the relocation fixups are outside of the executable > region of the image, given that we cannot remap the executable code > writable from the executable code itself without losing those execute > permissions. >=20 > So instead, use the existing toolchain support to ensure that position > independent code is used where possible, and that all the remaining > relocated quantities are emitted into the data section. (Note that > staticallly initialized const pointers will be emitted into the > .data.rel.ro section, which gets pulled into the .data section by > our linker script) >=20 > To ensure that we don't pick up any absolute references in executable > code inadvertently (e.g., in assembler code), add the '-z text' linker > option which will force the build to fail in this case. >=20 > Signed-off-by: Ard Biesheuvel > --- > StandaloneMmPkg/Core/StandaloneMmCore.inf = | 4 ++++ >=20 > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreE > ntryPoint.inf | 3 +++ > 2 files changed, 7 insertions(+) >=20 > diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.inf > b/StandaloneMmPkg/Core/StandaloneMmCore.inf > index d17ff9965bdc..87bf6e9440a7 100644 > --- a/StandaloneMmPkg/Core/StandaloneMmCore.inf > +++ b/StandaloneMmPkg/Core/StandaloneMmCore.inf > @@ -75,3 +75,7 @@ [Guids] > gEfiEventLegacyBootGuid >=20 > gEfiEventExitBootServicesGuid >=20 > gEfiEventReadyToBootGuid >=20 > + >=20 > +[BuildOptions] >=20 > + GCC:*_*_*_CC_FLAGS =3D -fpie >=20 > + GCC:*_*_*_DLINK_FLAGS =3D -Wl,-z,text,-Bsymbolic,-pie >=20 > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > eEntryPoint.inf > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > eEntryPoint.inf > index 891c292e92f8..7d6ee4e08ecb 100644 > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > eEntryPoint.inf > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > eEntryPoint.inf > @@ -48,3 +48,6 @@ [Guids] > gEfiMmPeiMmramMemoryReserveGuid >=20 > gEfiStandaloneMmNonSecureBufferGuid >=20 > gEfiArmTfCpuDriverEpDescriptorGuid >=20 > + >=20 > +[BuildOptions] >=20 > + GCC:*_*_*_CC_FLAGS =3D -fpie >=20 > -- > 2.26.2 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. >=20 > View/Reply Online (#61042): https://edk2.groups.io/g/devel/message/61042 > Mute This Topic: https://groups.io/mt/74792291/1772286 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [jiewen.yao@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D