From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28035 invoked by alias); 14 Aug 2019 15:59:53 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 28026 invoked by uid 89); 14 Aug 2019 15:59:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_MANYTO,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com Received: from mail-eopbgr80085.outbound.protection.outlook.com (HELO EUR04-VI1-obe.outbound.protection.outlook.com) (40.107.8.85) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Aug 2019 15:59:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3mRhtvfadEwJ1354vMF4gmIDsoSJYQzD0lYRwTcGXy0=; b=Be4mXPXo1uGyThikY5TT3t4loxLXPE6YUFZiwc9S/saNHgE3VlOofP6Y3CkfF8zFizV4FxpI1KEpze1ZLouBdWipDvPjIzF8RiALHIA3N/xnBIIDkbvz+8LjhyL/BYGMT75YdoZjZdxPvkK9Bdxujiz/I8BGj9ecS7WJGR3f+jM= Received: from AM4PR08CA0067.eurprd08.prod.outlook.com (10.171.185.166) by VI1PR0801MB1854.eurprd08.prod.outlook.com (10.168.68.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.14; Wed, 14 Aug 2019 15:59:44 +0000 Received: from VE1EUR03FT039.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::209) by AM4PR08CA0067.outlook.office365.com (2603:10a6:205:2::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.16 via Frontend Transport; Wed, 14 Aug 2019 15:59:44 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT039.mail.protection.outlook.com (10.152.19.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2115.18 via Frontend Transport; Wed, 14 Aug 2019 15:59:43 +0000 Received: ("Tessian outbound 578a71fe5eaa:v26"); Wed, 14 Aug 2019 15:59:39 +0000 X-CR-MTA-TID: 64aa7808 Received: from 3b5020437072.1 (cr-mta-lb-1.cr-mta-net [104.47.8.54]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 92F81A83-2536-4681-B55E-FC66BAD7E93F.1; Wed, 14 Aug 2019 15:59:34 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2054.outbound.protection.outlook.com [104.47.8.54]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3b5020437072.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384); Wed, 14 Aug 2019 15:59:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z1zsZHOdrGrR96MvH1fv7Z9hjd4XPUOzr1HPsiuhELI+ygtiMVea1dTknbrhlf0hRtyMf2TUuICYJ40VSaP7bvE8ly2R+K5lOtTfwPrLnPo+RaxmstNwxCowf1D4lEzkXQe8pl5reDDzL1N2GW0r4bglZwi2MBQhNk0/2L6AVJgflwj7bZ8UK1cFIwA0xl8JzKpgboxxgtvCwDM4952SvmQy/hVgHGoGDHa8onZGlBa2kwN9XiOJuUCiSKzQYR4mkwLpCWjLK2rrj3+JhI7iIfZRSBmCMjHj7cWJOtNlXZuidJE7fI8z6rxlmOF6HHFcLhlMkUq0Ow4XVtRnkbSA/g== 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=3mRhtvfadEwJ1354vMF4gmIDsoSJYQzD0lYRwTcGXy0=; b=TARAXLq6djZO6CFENDQFPZMP2gt3ZyKqEb45mDu5TSyGwGrAdgPRkii43UTFtVaJxe6vdPxeJ8igVlzjRKBX+ZPPINYGTWUbcx0vsqansPZEKtBY3I+X1COWcpLkJPiFTd5ROgWQDger0MGQX4i2GnSGcqS7Ft6wFgLCAlKBfg/shUR6EQgcIj18/tRy1swufLg7OtSyanlDLtSAwa335WW89y5X5RNwNyBXKB3MGBq7WR+KxnKbLaCZrmu4PfwzRNyhmdoIFCPLM7e6BjpgbEM6+4hkIJxjF3ezSYoikhQ8lZ9E01/dXAA0qWHpfUrMo0UexLdQsvQrIShHWHalhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3mRhtvfadEwJ1354vMF4gmIDsoSJYQzD0lYRwTcGXy0=; b=Be4mXPXo1uGyThikY5TT3t4loxLXPE6YUFZiwc9S/saNHgE3VlOofP6Y3CkfF8zFizV4FxpI1KEpze1ZLouBdWipDvPjIzF8RiALHIA3N/xnBIIDkbvz+8LjhyL/BYGMT75YdoZjZdxPvkK9Bdxujiz/I8BGj9ecS7WJGR3f+jM= Received: from DB6PR0802MB2309.eurprd08.prod.outlook.com (10.172.228.13) by DB6PR0802MB2214.eurprd08.prod.outlook.com (10.172.226.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2157.21; Wed, 14 Aug 2019 15:59:33 +0000 Received: from DB6PR0802MB2309.eurprd08.prod.outlook.com ([fe80::11ef:b7bd:5239:fc68]) by DB6PR0802MB2309.eurprd08.prod.outlook.com ([fe80::11ef:b7bd:5239:fc68%5]) with mapi id 15.20.2157.022; Wed, 14 Aug 2019 15:59:33 +0000 From: Tamar Christina To: Christophe Lyon , Martin Sebor , gcc Patches , Richard Earnshaw , "nickc@redhat.com" , "Jozef Lawrynowicz" , Richard Sandiford CC: nd Subject: RE: [PATCH] Add generic support for "noinit" attribute Date: Wed, 14 Aug 2019 16:11:00 -0000 Message-ID: References: In-Reply-To: x-ts-tracking-id: 17c7f92e-ab68-4f04-a462-e0d230df838e.1 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Tamar.Christina@arm.com; X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DB6PR0802MB2214; x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(346002)(136003)(376002)(396003)(366004)(199004)(189003)(13464003)(186003)(81156014)(256004)(53546011)(33656002)(66946007)(14444005)(66446008)(229853002)(476003)(478600001)(66476007)(66556008)(14454004)(6506007)(53936002)(316002)(6636002)(76116006)(486006)(110136005)(5660300002)(102836004)(52536014)(6246003)(76176011)(26005)(2501003)(25786009)(7736002)(64756008)(7696005)(4326008)(66066001)(99286004)(446003)(305945005)(8936002)(6116002)(3846002)(11346002)(2906002)(71200400001)(74316002)(55016002)(71190400001)(8676002)(6436002)(9686003)(86362001)(81166006)(41533002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0802MB2214;H:DB6PR0802MB2309.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: IzvX+mLFjsfBFHUThPZCDX/5TmEUo4q+8Eu0J5K3Dy9WnqzUP9JLcVVZ96cmzyk+mGf8Q2ZMMzUBEtO8213j5J+xdN9UNJOxuVNXx5nPDFWIhXrl2zqnpEyOksdPpKDMAjXz7xgzv6jBdC6lH4s7f8AWqlqViqzW5sFXRQP0I508DgPNC0nkrI9zPYh/Hdj8yPZB2/dWtNX68sCBM4j4dACvkua2qU61d6a+oH1vXR4tQTXVryQ+lEuUYtesrrjFqauJNXL2fO4S+cvG2xNqIThMcMSg8AHhrmBiCcdAuem5L/5xsTjPz7QpHTvEhH84Kwjo4OlQVrDLpSbYPqlsXODn0Za9IIwlTVx7VC3HK82ToHVi+GVt2M6EXX6prVcVxkwnqNBc82AlMRDbqlZo28f06ONcTgvpHJAtpL3IHSU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Tamar.Christina@arm.com; Return-Path: Tamar.Christina@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 8262b762-4f34-48a8-4fd3-08d720d06605 X-IsSubscribed: yes X-SW-Source: 2019-08/txt/msg00994.txt.bz2 SGkgQ2hyaXN0b3BoLA0KDQpUaGUgbm9pbml0IHRlc3RjYXNlIGlzIGN1cnJl bnRseSBmYWlsaW5nIG9uIHg4Nl82NC4NCg0KSXMgdGhlIHRlc3Qgc3VwcG9z ZWQgdG8gYmUgcnVubmluZyB0aGVyZT8NCg0KVGhhbmtzLA0KVGFtYXINCg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGdjYy1wYXRjaGVz LW93bmVyQGdjYy5nbnUub3JnIDxnY2MtcGF0Y2hlcy1vd25lckBnY2MuZ251 Lm9yZz4gT24gQmVoYWxmIE9mIENocmlzdG9waGUgTHlvbg0KU2VudDogV2Vk bmVzZGF5LCBBdWd1c3QgMTQsIDIwMTkgMjoxOCBQTQ0KVG86IENocmlzdG9w aGUgTHlvbiA8Y2hyaXN0b3BoZS5seW9uQGxpbmFyby5vcmc+OyBNYXJ0aW4g U2Vib3IgPG1zZWJvckBnbWFpbC5jb20+OyBnY2MgUGF0Y2hlcyA8Z2NjLXBh dGNoZXNAZ2NjLmdudS5vcmc+OyBSaWNoYXJkIEVhcm5zaGF3IDxSaWNoYXJk LkVhcm5zaGF3QGFybS5jb20+OyBuaWNrY0ByZWRoYXQuY29tOyBKb3plZiBM YXdyeW5vd2ljeiA8am96ZWYubEBtaXR0b3N5c3RlbXMuY29tPjsgUmljaGFy ZCBTYW5kaWZvcmQgPFJpY2hhcmQuU2FuZGlmb3JkQGFybS5jb20+DQpTdWJq ZWN0OiBSZTogW1BBVENIXSBBZGQgZ2VuZXJpYyBzdXBwb3J0IGZvciAibm9p bml0IiBhdHRyaWJ1dGUNCg0KT24gV2VkLCAxNCBBdWcgMjAxOSBhdCAxNDox NCwgUmljaGFyZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlmb3JkQGFybS5j b20+IHdyb3RlOg0KPg0KPiBTb3JyeSBmb3IgdGhlIHNsb3cgcmVzcG9uc2Us IEknZCBtaXNzZWQgdGhhdCB0aGVyZSB3YXMgYW4gdXBkYXRlZCBwYXRjaC4u Lg0KPg0KPiBDaHJpc3RvcGhlIEx5b24gPGNocmlzdG9waGUubHlvbkBsaW5h cm8ub3JnPiB3cml0ZXM6DQo+ID4gICAgIDIwMTktMDctMDQgIENocmlzdG9w aGUgTHlvbiAgPGNocmlzdG9waGUubHlvbkBsaW5hcm8ub3JnPg0KPiA+DQo+ ID4gICAgICAgKiBsaWIvdGFyZ2V0LXN1cHBvcnRzLmV4cCAoY2hlY2tfZWZm ZWN0aXZlX3RhcmdldF9ub2luaXQpOiBOZXcNCj4gPiAgICAgICBwcm9jLg0K PiA+ICAgICAgICAgICAgICogZ2NjLmMtdG9ydHVyZS9leGVjdXRlL25vaW5p dC1hdHRyaWJ1dGUuYzogTmV3IHRlc3QuDQo+DQo+IFNlY29uZCBsaW5lIHNo b3VsZCBiZSBpbmRlbnRlZCBieSB0YWJzIHJhdGhlciB0aGFuIHNwYWNlcy4N Cj4NCj4gPiBAQCAtMjIyNCw2ICsyMjM0LDU0IEBAIGhhbmRsZV93ZWFrX2F0 dHJpYnV0ZSAodHJlZSAqbm9kZSwgdHJlZSBuYW1lLA0KPiA+ICAgIHJldHVy biBOVUxMX1RSRUU7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKiBIYW5kbGUgYSAi bm9pbml0IiBhdHRyaWJ1dGU7IGFyZ3VtZW50cyBhcyBpbiBzdHJ1Y3QNCj4g PiArICAgYXR0cmlidXRlX3NwZWMuaGFuZGxlci4gIENoZWNrIHdoZXRoZXIg dGhlIGF0dHJpYnV0ZSBpcyBhbGxvd2VkDQo+ID4gKyAgIGhlcmUgYW5kIGFk ZCB0aGUgYXR0cmlidXRlIHRvIHRoZSB2YXJpYWJsZSBkZWNsIHRyZWUgb3Ig b3RoZXJ3aXNlDQo+ID4gKyAgIGlzc3VlIGEgZGlhZ25vc3RpYy4gIFRoaXMg ZnVuY3Rpb24gY2hlY2tzIE5PREUgaXMgb2YgdGhlIGV4cGVjdGVkDQo+ID4g KyAgIHR5cGUgYW5kIGlzc3VlcyBkaWFnbm9zdGljcyBvdGhlcndpc2UgdXNp bmcgTkFNRS4gIElmIGl0IGlzIG5vdCBvZg0KPiA+ICsgICB0aGUgZXhwZWN0 ZWQgdHlwZSAqTk9fQUREX0FUVFJTIHdpbGwgYmUgc2V0IHRvIHRydWUuICAq Lw0KPiA+ICsNCj4gPiArc3RhdGljIHRyZWUNCj4gPiAraGFuZGxlX25vaW5p dF9hdHRyaWJ1dGUgKHRyZWUgKiBub2RlLA0KPiA+ICsgICAgICAgICAgICAg ICB0cmVlICAgbmFtZSwNCj4gPiArICAgICAgICAgICAgICAgdHJlZSAgIGFy Z3MsDQo+ID4gKyAgICAgICAgICAgICAgIGludCAgICBmbGFncyBBVFRSSUJV VEVfVU5VU0VELA0KPiA+ICsgICAgICAgICAgICAgICBib29sICpub19hZGRf YXR0cnMpDQo+ID4gK3sNCj4gPiArICBjb25zdCBjaGFyICptZXNzYWdlID0g TlVMTDsNCj4gPiArDQo+ID4gKyAgZ2NjX2Fzc2VydCAoREVDTF9QICgqbm9k ZSkpOw0KPiA+ICsgIGdjY19hc3NlcnQgKGFyZ3MgPT0gTlVMTCk7DQo+ID4g Kw0KPiA+ICsgIGlmIChUUkVFX0NPREUgKCpub2RlKSAhPSBWQVJfREVDTCkN Cj4gPiArICAgIG1lc3NhZ2UgPSBHXygiJXFFIGF0dHJpYnV0ZSBvbmx5IGFw cGxpZXMgdG8gdmFyaWFibGVzIik7DQo+ID4gKw0KPiA+ICsgIC8qIENoZWNr IHRoYXQgaXQncyBwb3NzaWJsZSBmb3IgdGhlIHZhcmlhYmxlIHRvIGhhdmUg YSBzZWN0aW9uLiAgDQo+ID4gKyAqLyAgZWxzZSBpZiAoKFRSRUVfU1RBVElD ICgqbm9kZSkgfHwgREVDTF9FWFRFUk5BTCAoKm5vZGUpIHx8IGluX2x0b19w KQ0KPiA+ICsgICAgICAgICYmIERFQ0xfU0VDVElPTl9OQU1FICgqbm9kZSkp DQo+ID4gKyAgICBtZXNzYWdlID0gR18oIiVxRSBhdHRyaWJ1dGUgY2Fubm90 IGJlIGFwcGxpZWQgdG8gdmFyaWFibGVzICINCj4gPiArICAgICAgICAgICAg ICAid2l0aCBzcGVjaWZpYyBzZWN0aW9ucyIpOw0KPiA+ICsNCj4gPiArICBp ZiAoIXRhcmdldG0uaGF2ZV9zd2l0Y2hhYmxlX2Jzc19zZWN0aW9ucykNCj4g PiArICAgIG1lc3NhZ2UgPSBHXygiJXFFIGF0dHJpYnV0ZSBpcyBzcGVjaWZp YyB0byBFTEYgdGFyZ2V0cyIpOw0KPg0KPiBNYXliZSBtYWtlIHRoaXMgYW4g ZWxzZSBpZiB0b28/ICBPciBtYWtlIHRoZSBWQVJfREVDTCBhbiBlbHNlIGlm IGlmIA0KPiB5b3UgdGhpbmsgdGhlIEVMRiBvbmUgc2hvdWxkIHdpbi4gIEVp dGhlciB3YXksIGl0IHNlZW1zIG9kZCB0byBoYXZlIA0KPiB0aGUgbWl4dHVy ZSBiZXR3ZWVuIGVsc2UgaWYgYW5kIG5vdC4NCj4NClJpZ2h0LCBJIGNoYW5n ZWQgdGhpcyBpbnRvIGFuIGVsc2UgaWYuDQoNCj4gPiArICBpZiAobWVzc2Fn ZSkNCj4gPiArICAgIHsNCj4gPiArICAgICAgd2FybmluZyAoT1BUX1dhdHRy aWJ1dGVzLCBtZXNzYWdlLCBuYW1lKTsNCj4gPiArICAgICAgKm5vX2FkZF9h dHRycyA9IHRydWU7DQo+ID4gKyAgICB9DQo+ID4gKyAgZWxzZQ0KPiA+ICsg IC8qIElmIHRoaXMgdmFyIGlzIHRob3VnaHQgdG8gYmUgY29tbW9uLCB0aGVu IGNoYW5nZSB0aGlzLiAgQ29tbW9uDQo+ID4gKyAgICAgdmFyaWFibGVzIGFy ZSBhc3NpZ25lZCB0byBzZWN0aW9ucyBiZWZvcmUgdGhlIGJhY2tlbmQgaGFz IGENCj4gPiArICAgICBjaGFuY2UgdG8gcHJvY2VzcyB0aGVtLiAgRG8gdGhp cyBvbmx5IGlmIHRoZSBhdHRyaWJ1dGUgaXMNCj4gPiArICAgICB2YWxpZC4g ICovDQo+DQo+IENvbW1lbnQgc2hvdWxkIGJlIGluZGVudGVkIHR3byBzcGFj ZXMgbW9yZS4NCj4NCj4gPiArICAgIGlmIChERUNMX0NPTU1PTiAoKm5vZGUp KQ0KPiA+ICsgICAgICBERUNMX0NPTU1PTiAoKm5vZGUpID0gMDsNCj4gPiAr DQo+ID4gKyAgcmV0dXJuIE5VTExfVFJFRTsNCj4gPiArfQ0KPiA+ICsNCj4g PiArDQo+ID4gIC8qIEhhbmRsZSBhICJub3BsdCIgYXR0cmlidXRlOyBhcmd1 bWVudHMgYXMgaW4NCj4gPiAgICAgc3RydWN0IGF0dHJpYnV0ZV9zcGVjLmhh bmRsZXIuICAqLw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2djYy9kb2MvZXh0 ZW5kLnRleGkgYi9nY2MvZG9jL2V4dGVuZC50ZXhpIGluZGV4IA0KPiA+IGYy NjE5ZTEuLmYxYWYxZGMgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2RvYy9leHRl bmQudGV4aQ0KPiA+ICsrKyBiL2djYy9kb2MvZXh0ZW5kLnRleGkNCj4gPiBA QCAtNzEyOSw2ICs3MTI5LDE0IEBAIFRoZSBAY29kZXt2aXNpYmlsaXR5fSBh dHRyaWJ1dGUgaXMgZGVzY3JpYmVkIA0KPiA+IGluICBUaGUgQGNvZGV7d2Vh a30gYXR0cmlidXRlIGlzIGRlc2NyaWJlZCBpbiAgQHJlZntDb21tb24gRnVu Y3Rpb24gDQo+ID4gQXR0cmlidXRlc30uDQo+ID4NCj4gPiArQGl0ZW0gbm9p bml0DQo+ID4gK0BjaW5kZXggQGNvZGV7bm9pbml0fSB2YXJpYWJsZSBhdHRy aWJ1dGUgQW55IGRhdGEgd2l0aCB0aGUgDQo+ID4gK0Bjb2Rle25vaW5pdH0g YXR0cmlidXRlIHdpbGwgbm90IGJlIGluaXRpYWxpemVkIGJ5IHRoZSBDIHJ1 bnRpbWUgDQo+ID4gK3N0YXJ0dXAgY29kZSwgb3IgdGhlIHByb2dyYW0gbG9h ZGVyLiAgTm90IGluaXRpYWxpemluZyBkYXRhIGluIHRoaXMgDQo+ID4gK3dh eSBjYW4gcmVkdWNlIHByb2dyYW0gc3RhcnR1cCB0aW1lcy4gIFNwZWNpZmlj IHRvIEVMRiB0YXJnZXRzLCANCj4gPiArdGhpcyBhdHRyaWJ1dGUgcmVsaWVz IG9uIHRoZSBsaW5rZXIgdG8gcGxhY2Ugc3VjaCBkYXRhIGluIHRoZSByaWdo dCANCj4gPiArbG9jYXRpb24uDQo+DQo+IE1heWJlOg0KPg0KPiAgICBUaGlz IGF0dHJpYnV0ZSBpcyBzcGVjaWZpYyB0byBFTEYgdGFyZ2V0cyBhbmQgcmVs aWVzIG9uIHRoZSBsaW5rZXIgdG8NCj4gICAgcGxhY2Ugc3VjaCBkYXRhIGlu IHRoZSByaWdodCBsb2NhdGlvbi4NCj4NClRoYW5rcywgSSB0aG91Z2h0IEkg aGFkIGNob3NlbiBhIG5pY2UgdHVybiBvZiBwaHJhc2UgOi0pDQoNCg0KPiA+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhl Y3V0ZS9ub2luaXQtYXR0cmlidXRlLmMgDQo+ID4gYi9nY2MvdGVzdHN1aXRl L2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9ub2luaXQtYXR0cmlidXRlLmMNCj4g PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLmZm Y2Y4YzYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1dGUvbm9pbml0LWF0dHJpYnV0ZS5j DQo+ID4gQEAgLTAsMCArMSw1OSBAQA0KPiA+ICsvKiB7IGRnLWRvIHJ1biB9 ICovDQo+ID4gKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG5v aW5pdCAqLw0KPiA+ICsvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLw0KPiA+ ICsNCj4gPiArLyogVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IG5vaW5pdCBkYXRh IGlzIGhhbmRsZWQgY29ycmVjdGx5LiAgKi8NCj4gPiArDQo+ID4gK2V4dGVy biB2b2lkIF9zdGFydCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKG5vcmV0dXJu KSk7IGV4dGVybiB2b2lkIA0KPiA+ICthYm9ydCAodm9pZCkgX19hdHRyaWJ1 dGVfXyAoKG5vcmV0dXJuKSk7IGV4dGVybiB2b2lkIGV4aXQgKGludCkgDQo+ ID4gK19fYXR0cmlidXRlX18gKChub3JldHVybikpOw0KPiA+ICsNCj4gPiAr aW50IHZhcl9jb21tb247DQo+ID4gK2ludCB2YXJfemVybyA9IDA7DQo+ID4g K2ludCB2YXJfb25lID0gMTsNCj4gPiAraW50IF9fYXR0cmlidXRlX18oKG5v aW5pdCkpIHZhcl9ub2luaXQ7IGludCB2YXJfaW5pdCA9IDI7DQo+ID4gKw0K PiA+ICtpbnQgX19hdHRyaWJ1dGVfXygobm9pbml0KSkgZnVuYygpOyAvKiB7 IGRnLXdhcm5pbmcgImF0dHJpYnV0ZSBvbmx5IA0KPiA+ICthcHBsaWVzIHRv IHZhcmlhYmxlcyIgfSAqLyBpbnQgX19hdHRyaWJ1dGVfXygoc2VjdGlvbiAN Cj4gPiArKCJteXNlY3Rpb24iKSwgbm9pbml0KSkgdmFyX3NlY3Rpb24xOyAv KiB7IGRnLXdhcm5pbmcgImJlY2F1c2UgaXQgDQo+ID4gK2NvbmZsaWN0cyB3 aXRoIGF0dHJpYnV0ZSIgfSAqLyBpbnQgX19hdHRyaWJ1dGVfXygobm9pbml0 LCBzZWN0aW9uIA0KPiA+ICsoIm15c2VjdGlvbiIpKSkgdmFyX3NlY3Rpb24y OyAvKiB7IGRnLXdhcm5pbmcgImJlY2F1c2UgaXQgY29uZmxpY3RzIA0KPiA+ ICt3aXRoIGF0dHJpYnV0ZSIgfSAqLw0KPiA+ICsNCj4gPiArDQo+ID4gK2lu dA0KPiA+ICttYWluICh2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgLyogTWFrZSBz dXJlIHRoYXQgdGhlIEMgc3RhcnR1cCBjb2RlIGhhcyBjb3JyZWN0bHkgaW5p dGlhbGl6ZWQgDQo+ID4gK3RoZSBvcmRpbmFyeSB2YXJpYWJsZXMuICAqLw0K PiA+ICsgIGlmICh2YXJfY29tbW9uICE9IDApDQo+ID4gKyAgICBhYm9ydCAo KTsNCj4gPiArDQo+ID4gKyAgLyogSW5pdGlhbGl6ZWQgdmFyaWFibGVzIGFy ZSBub3QgcmUtaW5pdGlhbGl6ZWQgZHVyaW5nIHN0YXJ0dXAsIHNvDQo+ID4g KyAgICAgY2hlY2sgdGhlaXIgb3JpZ2luYWwgdmFsdWVzIG9ubHkgZHVyaW5n IHRoZSBmaXJzdCBydW4gb2YgdGhpcw0KPiA+ICsgICAgIHRlc3QuICAqLw0K PiA+ICsgIGlmICh2YXJfaW5pdCA9PSAyKQ0KPiA+ICsgICAgaWYgKHZhcl96 ZXJvICE9IDAgfHwgdmFyX29uZSAhPSAxKQ0KPiA+ICsgICAgICBhYm9ydCAo KTsNCj4gPiArDQo+ID4gKyAgc3dpdGNoICh2YXJfaW5pdCkNCj4gPiArICAg IHsNCj4gPiArICAgIGNhc2UgMjoNCj4gPiArICAgICAgLyogRmlyc3QgdGlt ZSB0aHJvdWdoIC0gY2hhbmdlIGFsbCB0aGUgdmFsdWVzLiAgKi8NCj4gPiAr ICAgICAgdmFyX2NvbW1vbiA9IHZhcl96ZXJvID0gdmFyX29uZSA9IHZhcl9u b2luaXQgPSB2YXJfaW5pdCA9IDM7DQo+ID4gKyAgICAgIGJyZWFrOw0KPiA+ ICsNCj4gPiArICAgIGNhc2UgMzoNCj4gPiArICAgICAgLyogU2Vjb25kIHRp bWUgdGhyb3VnaCAtIG1ha2Ugc3VyZSB0aGF0IGQgaGFzIG5vdCBiZWVuIHJl c2V0LiAgKi8NCj4gPiArICAgICAgaWYgKHZhcl9ub2luaXQgIT0gMykNCj4g PiArICAgICBhYm9ydCAoKTsNCj4gPiArICAgICAgZXhpdCAoMCk7DQo+ID4g Kw0KPiA+ICsgICAgZGVmYXVsdDoNCj4gPiArICAgICAgLyogQW55IG90aGVy IHZhbHVlIGZvciB2YXJfaW5pdCBpcyBhbiBlcnJvci4gICovDQo+ID4gKyAg ICAgIGFib3J0ICgpOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAvKiBT aW11bGF0ZSBhIHByb2Nlc3NvciByZXNldCBieSBjYWxsaW5nIHRoZSBDIHN0 YXJ0dXAgY29kZS4gICovICANCj4gPiArIF9zdGFydCAoKTsNCj4gPiArDQo+ ID4gKyAgLyogU2hvdWxkIG5ldmVyIHJlYWNoIGhlcmUuICAqLw0KPiA+ICsg IGFib3J0ICgpOw0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAgDQo+ID4gYi9nY2MvdGVz dHN1aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwDQo+ID4gaW5kZXggODE1 ZTgzNy4uYWUwNWMwYSAxMDA2NDQNCj4gPiAtLS0gYS9nY2MvdGVzdHN1aXRl L2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwDQo+ID4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cA0KPiA+IEBAIC0zNjQsNiAr MzY0LDE4IEBAIHByb2MgY2hlY2tfd2Vha19vdmVycmlkZV9hdmFpbGFibGUg eyB9IHsNCj4gPiAgICAgIHJldHVybiBbY2hlY2tfd2Vha19hdmFpbGFibGVd DQo+ID4gIH0NCj4gPg0KPiA+ICsjIFRoZSBub2luaXQgYXR0cmlidXRlIGlz IG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWUgdGFyZ2V0cy4NCj4gPiArIyBUaGlz IHByb2MgcmV0dXJucyAxIGlmIGl0J3Mgc3VwcG9ydGVkLCAwIGlmIGl0J3Mg bm90Lg0KPiA+ICsNCj4gPiArcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0 X25vaW5pdCB7IH0gew0KPiA+ICsgICAgaWYgeyBbaXN0YXJnZXQgYXJtKi0q LWVhYmldDQo+ID4gKyAgICAgIHx8IFtpc3RhcmdldCBtc3A0MzAtKi0qXSB9 IHsNCj4gPiArICAgICByZXR1cm4gMQ0KPiA+ICsgICAgfQ0KPiA+ICsNCj4g PiArICAgIHJldHVybiAwDQo+ID4gK30NCj4gPiArDQo+ID4gICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gPiAgIyBwcm9jIGNoZWNrX3Zp c2liaWxpdHlfYXZhaWxhYmxlIHsgd2hhdF9raW5kIH0gIA0KPiA+ICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgZGlmZiAtLWdpdCBhL2djYy92 YXJhc20uYyANCj4gPiBiL2djYy92YXJhc20uYyBpbmRleCA2MjZhNGM5Li42 ZGRhYjBjZSAxMDA2NDQNCj4gPiAtLS0gYS9nY2MvdmFyYXNtLmMNCj4gPiAr KysgYi9nY2MvdmFyYXNtLmMNCj4gPiBAQCAtNjQyOCw2ICs2NDI4LDkgQEAg ZGVmYXVsdF9zZWN0aW9uX3R5cGVfZmxhZ3MgKHRyZWUgZGVjbCwgY29uc3Qg Y2hhciAqbmFtZSwgaW50IHJlbG9jKQ0KPiA+ICAgICAgICB8fCBzdHJuY21w IChuYW1lLCAiLmdudS5saW5rb25jZS50Yi4iLCAxNykgPT0gMCkNCj4gPiAg ICAgIGZsYWdzIHw9IFNFQ1RJT05fVExTIHwgU0VDVElPTl9CU1M7DQo+ID4N Cj4gPiArICBpZiAoc3RyY21wIChuYW1lLCAiLm5vaW5pdCIpID09IDApDQo+ ID4gKyAgICBmbGFncyB8PSBTRUNUSU9OX1dSSVRFIHwgU0VDVElPTl9CU1Mg fCBTRUNUSU9OX05PVFlQRTsNCj4gPiArDQo+ID4gICAgLyogVmFyaW91cyBz ZWN0aW9ucyBoYXZlIHNwZWNpYWwgRUxGIHR5cGVzIHRoYXQgdGhlIGFzc2Vt YmxlciB3aWxsDQo+ID4gICAgICAgYXNzaWduIGJ5IGRlZmF1bHQgYmFzZWQg b24gdGhlIG5hbWUuICBUaGV5IGFyZSBuZWl0aGVyIFNIVF9QUk9HQklUUw0K PiA+ICAgICAgIG5vciBTSFRfTk9CSVRTLCBzbyB3aGVuIGNoYW5naW5nIHNl Y3Rpb25zIHdlIGRvbid0IHdhbnQgdG8gDQo+ID4gcHJpbnQgYSBAQCAtNjc0 OCwxMSArNjc1MSwxNCBAQCBkZWNsX3JlYWRvbmx5X3NlY3Rpb24gKGNvbnN0 X3RyZWUgDQo+ID4gZGVjbCwgaW50IHJlbG9jKQ0KPiA+DQo+ID4gIC8qIFNl bGVjdCBhIHNlY3Rpb24gYmFzZWQgb24gdGhlIGFib3ZlIGNhdGVnb3JpemF0 aW9uLiAgKi8NCj4gPg0KPiA+ICtzdGF0aWMgc2VjdGlvbiAqbm9pbml0X3Nl Y3Rpb24gPSBOVUxMOw0KPiA+ICsNCj4NCj4gTm8gbG9uZ2VyIG5lZWRlZC4N CkluZGVlZC4NCg0KPg0KPiBPSyB3aXRoIHRob3NlIGNoYW5nZXMsIHRoYW5r cy4NClRoYW5rcywgY29tbWl0dGVkIGFzIHIyNzQ0ODIuDQoNCkNocmlzdG9w aGUNCg0KPiBSaWNoYXJkDQo+DQo+ID4gIHNlY3Rpb24gKg0KPiA+ICBkZWZh dWx0X2VsZl9zZWxlY3Rfc2VjdGlvbiAodHJlZSBkZWNsLCBpbnQgcmVsb2Ms DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBIT1NU X1dJREVfSU5UIGFsaWduKSAgew0KPiA+ICAgIGNvbnN0IGNoYXIgKnNuYW1l Ow0KPiA+ICsNCj4gPiAgICBzd2l0Y2ggKGNhdGVnb3JpemVfZGVjbF9mb3Jf c2VjdGlvbiAoZGVjbCwgcmVsb2MpKQ0KPiA+ICAgICAgew0KPiA+ICAgICAg Y2FzZSBTRUNDQVRfVEVYVDoNCj4gPiBAQCAtNjc5MCw2ICs2Nzk2LDEzIEBA IGRlZmF1bHRfZWxmX3NlbGVjdF9zZWN0aW9uICh0cmVlIGRlY2wsIGludCBy ZWxvYywNCj4gPiAgICAgICAgc25hbWUgPSAiLnRkYXRhIjsNCj4gPiAgICAg ICAgYnJlYWs7DQo+ID4gICAgICBjYXNlIFNFQ0NBVF9CU1M6DQo+ID4gKyAg ICAgIGlmIChERUNMX1AgKGRlY2wpDQo+ID4gKyAgICAgICAmJiBsb29rdXBf YXR0cmlidXRlICgibm9pbml0IiwgREVDTF9BVFRSSUJVVEVTIChkZWNsKSkg IT0gTlVMTF9UUkVFKQ0KPiA+ICsgICAgIHsNCj4gPiArICAgICAgIHNuYW1l ID0gIi5ub2luaXQiOw0KPiA+ICsgICAgICAgYnJlYWs7DQo+ID4gKyAgICAg fQ0KPiA+ICsNCj4gPiAgICAgICAgaWYgKGJzc19zZWN0aW9uKQ0KPiA+ICAg ICAgIHJldHVybiBic3Nfc2VjdGlvbjsNCj4gPiAgICAgICAgc25hbWUgPSAi LmJzcyI7DQo=