From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68804 invoked by alias); 22 May 2017 16:05:18 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 68786 invoked by uid 89); 22 May 2017 16:05:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-25.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,KAM_STOCKGEN,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=it=e2, It=e2, It, Sometimes?= X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0068.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.68) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 22 May 2017 16:05:14 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com (10.160.211.19) by AM3PR08MB0103.eurprd08.prod.outlook.com (10.160.211.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Mon, 22 May 2017 16:05:13 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::b823:64c1:afc5:3a08]) by AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::b823:64c1:afc5:3a08%17]) with mapi id 15.01.1101.019; Mon, 22 May 2017 16:05:13 +0000 From: Alan Hayward To: Yao Qi CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH 3/11] Add MIPS_MAX_REGISTER_SIZE (2/4) Date: Mon, 22 May 2017 16:05:00 -0000 Message-ID: <78A7E8EA-7203-44DF-B7FD-63E75A5ECEF5@arm.com> References: <3C00280E-37C9-4C0A-9DA6-F3B9DB1A6E8F@arm.com> <86y3v7uf9j.fsf@gmail.com> <806B436F-EFA1-4200-AC54-9036D166C9B9@arm.com> <867f1m8nhm.fsf@gmail.com> <8637bx9jsw.fsf@gmail.com> In-Reply-To: <8637bx9jsw.fsf@gmail.com> authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM3PR08MB0103;7:33YCxZZ6WQ6eIM8+JnclnsTKunjljRnQGyEabN2OMvkiYnwpcdrg62AZMAco1yA0pLUKv2dCIisrIwz0jwXqf65/uetIFp4cQo1ptfY/oQM2cnL1yKyPo48cT4WYNMDuTwf/z4HcBOHphRobJu7E/XCAC4f63sxIflgJvnI34XiXzmEptGGssGsBk0CZam4KI2GfZ7G9dWvhzGZ9/903VImgDNvxau+06iXLotl6COQ+0nAw3G+dD+44osmHR7x0n6JsBsaPrD4X13PqUekOetbAUibxOxIY/iaME3eS+CNv0HzapXuWemx7Bf6JrOvRfjzE+wS5EM6v8Gl7Wrb8bg== x-ms-traffictypediagnostic: AM3PR08MB0103: x-ms-office365-filtering-correlation-id: ef9dc6b0-68a3-4ce4-a412-08d4a12c5454 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);SRVR:AM3PR08MB0103; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148);SRVR:AM3PR08MB0103;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0103; x-forefront-prvs: 03152A99FF x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39410400002)(39400400002)(39860400002)(39850400002)(39450400003)(39840400002)(24454002)(377424004)(6436002)(2906002)(66066001)(8936002)(8676002)(1411001)(81166006)(5660300001)(3660700001)(76176999)(50986999)(6506006)(93886004)(3280700002)(6486002)(3846002)(86362001)(575784001)(102836003)(97736004)(6116002)(2950100002)(6916009)(7736002)(189998001)(33656002)(229853002)(305945005)(6246003)(54356999)(38730400002)(110136004)(53946003)(83716003)(25786009)(72206003)(36756003)(39060400002)(5250100002)(82746002)(53936002)(53546009)(4326008)(478600001)(2900100001)(6512007)(99286003)(54906002)(579004);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR08MB0103;H:AM3PR08MB0101.eurprd08.prod.outlook.com;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2017 16:05:12.6834 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0103 X-SW-Source: 2017-05/txt/msg00492.txt.bz2 DQo+IE9uIDIyIE1heSAyMDE3LCBhdCAxMzowNywgWWFvIFFpIDxxaXlhb2x0 Y0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gQWxhbiBIYXl3YXJkIDxBbGFu LkhheXdhcmRAYXJtLmNvbT4gd3JpdGVzOg0KPiANCj4+IC1leHRlcm4gVUxP TkdFU1QgZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChjb25zdCBnZGJfYnl0 ZSAqLCBpbnQsDQo+PiAtCQkJCQkgIGVudW0gYmZkX2VuZGlhbik7DQo+PiAr aW5saW5lIFVMT05HRVNUIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciAoY29u c3QgZ2RiX2J5dGUgKmFkZHIsIGludCBsZW4sDQo+PiArCQkJCQkgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyKQ0KPj4gK3sNCj4+ICsgIHJldHVybiBl eHRyYWN0X2ludGVnZXI8TE9OR0VTVD4gKGFkZHIsIGxlbiwgYnl0ZV9vcmRl cik7DQo+IA0KPiBzL0xPTkdFU1QvVUxPTkdFU1QvDQoNCk9vcHMuIEZpeGVk Lg0KDQo+IA0KPj4gK30NCj4+IA0KPiANCj4gW015IEMrKyBrbm93bGVkZ2Ug aXMgc3RpbGwgcG9vciwgc28gZm9yZ2l2ZSBtZSBpZiBJIGFzayBzb21ldGhp bmcgc3R1cGlkXQ0KPiANCj4gSXMgdGhlcmUgYW55IHJlYXNvbiB5b3UgZG8g bm90IHB1dCBmdW5jdGlvbiB0ZW1wbGF0ZSAoZXh0cmFjdF9pbnRlZ2VyIGFu ZA0KPiBzdG9yZV9pbnRlZ2VyKSBpbiBoZWFkZXI/ICBBbnkgYmVuZWZpdCBv ZiBkb2luZyB0aGlzPw0KDQpJdCBtYWRlIHRoZSBoZWFkZXIgZmlsZSBuZWF0 ZXIuDQpCdXQsIHB1dHRpbmcgaW4gdGhlIGhlYWRlciBtZWFucyB0aGUgaW5z dGFudGlhdGlvbnMgYXJlIGluIHRoZSBoZWFkZXIuDQpJ4oCZdmUgbm93IG1v dmVkIGl0IGludG8gdGhlIGhlYWRlci4NCg0KDQo+IA0KPj4gZXh0ZXJuIGlu dCBleHRyYWN0X2xvbmdfdW5zaWduZWRfaW50ZWdlciAoY29uc3QgZ2RiX2J5 dGUgKiwgaW50LA0KPj4gCQkJCQkgIGVudW0gYmZkX2VuZGlhbiwgTE9OR0VT VCAqKTsNCj4+IEBAIC02NDksMTEgKzY2NCwyMSBAQCBleHRlcm4gaW50IGV4 dHJhY3RfbG9uZ191bnNpZ25lZF9pbnRlZ2VyIChjb25zdCBnZGJfYnl0ZSAq LCBpbnQsDQo+PiBleHRlcm4gQ09SRV9BRERSIGV4dHJhY3RfdHlwZWRfYWRk cmVzcyAoY29uc3QgZ2RiX2J5dGUgKmJ1ZiwNCj4+IAkJCQkJc3RydWN0IHR5 cGUgKnR5cGUpOw0KPj4gDQo+PiAtZXh0ZXJuIHZvaWQgc3RvcmVfc2lnbmVk X2ludGVnZXIgKGdkYl9ieXRlICosIGludCwNCj4+IC0JCQkJICBlbnVtIGJm ZF9lbmRpYW4sIExPTkdFU1QpOw0KPj4gK3RlbXBsYXRlPHR5cGVuYW1lIFQ+ IHZvaWQgc3RvcmVfaW50ZWdlciAoZ2RiX2J5dGUgKmFkZHIsIGludCBsZW4s DQo+PiArCQkJCQkgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIsDQo+PiAr CQkJCQkgTG9uZ1R5cGU8VD4gdmFsKTsNCj4gDQo+IFdlIGNhbiBkZWZpbmUg c3RvcmVfaW50ZWdlciBzbGlnaHRseSBkaWZmZXJlbnRseSwgc28gdGhhdCB3 ZSBjYW4gdXNlDQo+IGltcGxpY2l0IGluc3RhbnRpYXRpb24sDQo+IA0KPiB0 ZW1wbGF0ZTx0eXBlbmFtZSBUPg0KPiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p Zjwoc3RkOjppc19zYW1lPFQsIExPTkdFU1Q+Ojp2YWx1ZQ0KPiAJCQkgfHwg c3RkOjppc19zYW1lPFQsIFVMT05HRVNUPjo6dmFsdWUpLA0KPiAJCQl2b2lk Pjo6dHlwZQ0KPiBzdG9yZV9pbnRlZ2VyIChnZGJfYnl0ZSAqYWRkciwgaW50 IGxlbiwgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIsIFQgdmFsKQ0KPiB7 fSBzbyB0aGF0IOKApg0KPiANCg0KRG9uZS4gSXTigJlzIGEgc2hhbWUgd2Ug Y2Fu4oCZdCBkbyB0aGUgc2FtZSB3aXRoIGV4dHJhY3RfaW50ZWdlci4NCg0K DQo8U05JUD4gKENvbW1lbnRzIHJlc29sdmVkIGFzIHN1Z2dlc3RlZCkNCg0K PiANCj4+IA0KPj4gKy8qIFN1cHBseSByZWdpc3RlciBSRUdOVU0sIHdob3Nl IGNvbnRlbnRzIGFyZSBzdG9yZWQgaW4gVkFMLCB0bw0KPj4gKyAgIFJFR0NB Q0hFLiAgKi8NCj4+ICsNCj4+ICt0ZW1wbGF0ZTx0eXBlbmFtZSBUPg0KPj4g K3ZvaWQNCj4+ICtyZWdjYWNoZTo6cmF3X3N1cHBseSAoaW50IHJlZ251bSwg TG9uZ1R5cGU8VD4gdmFsKQ0KPj4gK3sNCj4+ICsgIGVudW0gYmZkX2VuZGlh biBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChtX2Rlc2NyLT5n ZGJhcmNoKTsNCj4+ICsgIGdkYl9ieXRlICpyZWdidWY7DQo+PiArICBzaXpl X3Qgc2l6ZTsNCj4+ICsNCj4+ICsgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAw ICYmIHJlZ251bSA8IG1fZGVzY3ItPm5yX3Jhd19yZWdpc3RlcnMpOw0KPj4g KyAgZ2RiX2Fzc2VydCAoIW1fcmVhZG9ubHlfcCk7DQo+PiArDQo+PiArICBy ZWdidWYgPSByZWdpc3Rlcl9idWZmZXIgKHJlZ251bSk7DQo+PiArICBzaXpl ID0gbV9kZXNjci0+c2l6ZW9mX3JlZ2lzdGVyW3JlZ251bV07DQo+PiArDQo+ PiArICBzdG9yZV9pbnRlZ2VyPFQ+IChyZWdidWYsIHNpemUsIGJ5dGVfb3Jk ZXIsIHZhbCk7DQo+PiArICBtX3JlZ2lzdGVyX3N0YXR1c1tyZWdudW1dID0g UkVHX1ZBTElEOw0KPj4gK30NCj4gDQo+IEFnYWluLCB3aHkgZG9uJ3QgeW91 IHB1dCBpdCBpbiByZWdjYWNoZS5oPw0KPiANCg0KVGhpcyBiaXQgY2Fubm90 IGdvIGludG8gcmVnY2FjaGUuaC4NClRoZSBmdW5jdGlvbiB1c2VzIG1fZGVz Y3IgLSBhbmQgcmVnY2FjaGVfZGVzY3IgaXMgZGVmaW5lZCBpbiByZWNhY2hl LmMNCkkgZGlkIG5vdCB3YW50IHRvIG1vdmUgcmVnY2FjaGVfZGVzY3IgaW50 byByZWNhY2hlLmgNCg0KDQpUZXN0ZWQgb24gYSAtLWVuYWJsZS10YXJnZXRz PWFsbCBidWlsZCB1c2luZyBtYWtlIGNoZWNrIHdpdGggYm9hcmQgZmlsZXMN CnVuaXggYW5kIG5hdGl2ZS1nZGJzZXJ2ZXIuDQpJIGRvIG5vdCBoYXZlIGEg TUlQUyBtYWNoaW5lIHRvIHRlc3Qgb24uDQpPayB0byBjb21taXQ/DQoNCkFs YW4uDQoNCg0KDQoyMDE3LTA1LTIyICBBbGFuIEhheXdhcmQgIDxhbGFuLmhh eXdhcmRAYXJtLmNvbT4NCg0KCSogZ2RiL2RlZnMuaCAoTG9uZ1R5cGUpOiBO ZXcgdGVtcGxhdGVkIHR5cGUuDQoJKGV4dHJhY3RfaW50ZWdlcik6IE5ldyBk ZWNsYXJhdGlvbi4NCgkoZXh0cmFjdF9zaWduZWRfaW50ZWdlcik6IFN3aXRj aGVkIHRvIGlubGluZS4NCgkoZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyKTog TGlrZXdpc2UuDQoJKHN0b3JlX2ludGVnZXIpOiBOZXcgZGVjbGFyYXRpb24N Cgkoc3RvcmVfc2lnbmVkX2ludGVnZXIpOiBTd2l0Y2hlZCB0byBpbmxpbmUu DQoJKHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIpOiBMaWtld2lzZS4NCgkqIGdk Yi9maW5kdmFyLmMgKGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIpOiBSZW1vdmVk IGZ1bmN0aW9uLg0KCShleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIpOiBMaWtl d2lzZS4NCgkoc3RvcmVfc2lnbmVkX2ludGVnZXIpOiBSZW1vdmVkIGZ1bmN0 aW9uLg0KCShzdG9yZV91bnNpZ25lZF9pbnRlZ2VyKTogTGlrZXdpc2UuDQoJ KiBtaXBzLWZic2QtdGRlcC5jIChtaXBzX2Zic2Rfc3VwcGx5X3JlZyk6IFVz ZSB0ZW1wbGF0ZWQgcmF3X3N1cHBseS4NCgkobWlwc19mYnNkX2NvbGxlY3Rf cmVnKTogVXNlIHRlbXBsYXRlZCByYXdfY29sbGVjdC4NCgkqIG1pcHMtbGlu dXgtdGRlcC5jIChzdXBwbHlfMzJiaXRfcmVnKTogVXNlIHRlbXBsYXRlZCBy YXdfc3VwcGx5Lg0KCShtaXBzNjRfZmlsbF9ncmVnc2V0KTogVXNlIHRlbXBs YXRlZCByYXdfY29sbGVjdC4NCgkobWlwczY0X2ZpbGxfZnByZWdzZXQpOiBV c2UgdGVtcGxhdGVkIHJhd19zdXBwbHkuDQoJKiBnZGIvcmVnY2FjaGUuYyAo cmVnY2FjaGU6OnJhd19zdXBwbHkpOiBOZXcgZnVuY3Rpb24gYW5kDQoJaW5z dGFudGlhdGlvbnMuDQoJKExvbmdUeXBlIHJlZ2NhY2hlOjpyYXdfY29sbGVj dCk6IExpa2V3aXNlDQoJKiBnZGIvcmVnY2FjaGUuaCAocmVnY2FjaGU6OnJh d19zdXBwbHkpOiBOZXcgZGVjbGFyYXRpb24uDQoJKHJlZ2NhY2hlOjpyYXdf Y29sbGVjdCk6IExpa2V3aXNlDQoNCg0KDQpkaWZmIC0tZ2l0IGEvZ2RiL2Rl ZnMuaCBiL2dkYi9kZWZzLmgNCmluZGV4IGEwYjU4NmY0MDFlY2EyMDUzMzRl OWYyMzcwODFmNGRhOTdjODNhYTEuLjAxMGZlNTVhNDc2MGViYzdhNDIwMTE1 ZTc1OTAxOTlmY2FiODk5YTAgMTAwNjQ0DQotLS0gYS9nZGIvZGVmcy5oDQor KysgYi9nZGIvZGVmcy5oDQpAQCAtNjI3LDYgKzYyNywxMSBAQCBlbnVtIHN5 bWJvbF9uZWVkc19raW5kDQogICBTWU1CT0xfTkVFRFNfRlJBTUUNCiB9Ow0K DQordGVtcGxhdGU8dHlwZW5hbWUgVD4NCit1c2luZyBMb25nVHlwZSA9IHR5 cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPChzdGQ6OmlzX3NhbWU8VCwgTE9OR0VT VD46OnZhbHVlDQorCQkJCQkgIHx8IHN0ZDo6aXNfc2FtZTxULCBVTE9OR0VT VD46OnZhbHVlKSwNCisJCQkJCSBUPjo6dHlwZTsNCisNCiAvKiBEeW5hbWlj IHRhcmdldC1zeXN0ZW0tZGVwZW5kZW50IHBhcmFtZXRlcnMgZm9yIEdEQi4g ICovDQogI2luY2x1ZGUgImdkYmFyY2guaCINCg0KQEAgLTYzNywxMSArNjQy LDY5IEBAIGVudW0geyBNQVhfUkVHSVNURVJfU0laRSA9IDY0IH07DQoNCiAv KiBJbiBmaW5kdmFyLmMuICAqLw0KDQotZXh0ZXJuIExPTkdFU1QgZXh0cmFj dF9zaWduZWRfaW50ZWdlciAoY29uc3QgZ2RiX2J5dGUgKiwgaW50LA0KLQkJ CQkgICAgICAgZW51bSBiZmRfZW5kaWFuKTsNCisvKiBBbGwgJ2V4dHJhY3Qn IGZ1bmN0aW9ucyByZXR1cm4gYSBob3N0LWZvcm1hdCBpbnRlZ2VyIGZyb20g YSB0YXJnZXQtZm9ybWF0DQorICAgaW50ZWdlciBhdCBBRERSIHdoaWNoIGlz IExFTiBieXRlcyBsb25nLiAgKi8NCg0KLWV4dGVybiBVTE9OR0VTVCBleHRy YWN0X3Vuc2lnbmVkX2ludGVnZXIgKGNvbnN0IGdkYl9ieXRlICosIGludCwN Ci0JCQkJCSAgZW51bSBiZmRfZW5kaWFuKTsNCit0ZW1wbGF0ZTx0eXBlbmFt ZSBUPg0KK0xvbmdUeXBlPFQ+DQorZXh0cmFjdF9pbnRlZ2VyIChjb25zdCBn ZGJfYnl0ZSAqYWRkciwgaW50IGxlbiwgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIpDQorew0KKyAgVCByZXR2YWwgPSAwOw0KKyAgY29uc3QgdW5zaWdu ZWQgY2hhciAqcDsNCisgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXJ0YWRk ciA9IGFkZHI7DQorICBjb25zdCB1bnNpZ25lZCBjaGFyICplbmRhZGRyID0g c3RhcnRhZGRyICsgbGVuOw0KKw0KKyAgaWYgKGxlbiA+IChpbnQpIHNpemVv ZiAoVCkpDQorICAgIGVycm9yIChfKCJcDQorVGhhdCBvcGVyYXRpb24gaXMg bm90IGF2YWlsYWJsZSBvbiBpbnRlZ2VycyBvZiBtb3JlIHRoYW4gJWQgYnl0 ZXMuIiksDQorCSAgIChpbnQpIHNpemVvZiAoVCkpOw0KKw0KKyAgLyogU3Rh cnQgYXQgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgZW5kIG9mIHRoZSBpbnRlZ2Vy LCBhbmQgd29yayB0b3dhcmRzDQorICAgICB0aGUgbGVhc3Qgc2lnbmlmaWNh bnQuICAqLw0KKyAgaWYgKGJ5dGVfb3JkZXIgPT0gQkZEX0VORElBTl9CSUcp DQorICAgIHsNCisgICAgICBwID0gc3RhcnRhZGRyOw0KKyAgICAgIGlmIChz dGQ6OmlzX3NpZ25lZDxUPjo6dmFsdWUpDQorCXsNCisJICAvKiBEbyB0aGUg c2lnbiBleHRlbnNpb24gb25jZSBhdCB0aGUgc3RhcnQuICAqLw0KKwkgIHJl dHZhbCA9ICgoTE9OR0VTVCkgKiBwIF4gMHg4MCkgLSAweDgwOw0KKwkgICsr cDsNCisJfQ0KKyAgICAgIGZvciAoOyBwIDwgZW5kYWRkcjsgKytwKQ0KKwly ZXR2YWwgPSAocmV0dmFsIDw8IDgpIHwgKnA7DQorICAgIH0NCisgIGVsc2UN CisgICAgew0KKyAgICAgIHAgPSBlbmRhZGRyIC0gMTsNCisgICAgICBpZiAo c3RkOjppc19zaWduZWQ8VD46OnZhbHVlKQ0KKwl7DQorCSAgLyogRG8gdGhl IHNpZ24gZXh0ZW5zaW9uIG9uY2UgYXQgdGhlIHN0YXJ0LiAgKi8NCisJICBy ZXR2YWwgPSAoKExPTkdFU1QpICogcCBeIDB4ODApIC0gMHg4MDsNCisJICAt LXA7DQorCX0NCisgICAgICBmb3IgKDsgcCA+PSBzdGFydGFkZHI7IC0tcCkN CisJcmV0dmFsID0gKHJldHZhbCA8PCA4KSB8ICpwOw0KKyAgICB9DQorICBy ZXR1cm4gcmV0dmFsOw0KK30NCisNCit0ZW1wbGF0ZSBMb25nVHlwZTxVTE9O R0VTVD4gZXh0cmFjdF9pbnRlZ2VyPFVMT05HRVNUPg0KKyAgKGNvbnN0IGdk Yl9ieXRlICphZGRyLCBpbnQgbGVuLCBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlcik7DQorDQordGVtcGxhdGUgTG9uZ1R5cGU8TE9OR0VTVD4gZXh0cmFj dF9pbnRlZ2VyPExPTkdFU1Q+DQorICAoY29uc3QgZ2RiX2J5dGUgKmFkZHIs IGludCBsZW4sIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyKTsNCisNCitp bmxpbmUgVUxPTkdFU1QgZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChjb25z dCBnZGJfYnl0ZSAqYWRkciwgaW50IGxlbiwNCisJCQkJCSAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXIpDQorew0KKyAgcmV0dXJuIGV4dHJhY3RfaW50 ZWdlcjxVTE9OR0VTVD4gKGFkZHIsIGxlbiwgYnl0ZV9vcmRlcik7DQorfQ0K Kw0KK2lubGluZSBMT05HRVNUIGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIgKGNv bnN0IGdkYl9ieXRlICphZGRyLCBpbnQgbGVuLA0KKwkJCQkgICAgICAgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIpDQorew0KKyAgcmV0dXJuIGV4dHJh Y3RfaW50ZWdlcjxMT05HRVNUPiAoYWRkciwgbGVuLCBieXRlX29yZGVyKTsN Cit9DQoNCiBleHRlcm4gaW50IGV4dHJhY3RfbG9uZ191bnNpZ25lZF9pbnRl Z2VyIChjb25zdCBnZGJfYnl0ZSAqLCBpbnQsDQogCQkJCQkgIGVudW0gYmZk X2VuZGlhbiwgTE9OR0VTVCAqKTsNCkBAIC02NDksMTEgKzcxMiw1OCBAQCBl eHRlcm4gaW50IGV4dHJhY3RfbG9uZ191bnNpZ25lZF9pbnRlZ2VyIChjb25z dCBnZGJfYnl0ZSAqLCBpbnQsDQogZXh0ZXJuIENPUkVfQUREUiBleHRyYWN0 X3R5cGVkX2FkZHJlc3MgKGNvbnN0IGdkYl9ieXRlICpidWYsDQogCQkJCQlz dHJ1Y3QgdHlwZSAqdHlwZSk7DQoNCi1leHRlcm4gdm9pZCBzdG9yZV9zaWdu ZWRfaW50ZWdlciAoZ2RiX2J5dGUgKiwgaW50LA0KLQkJCQkgIGVudW0gYmZk X2VuZGlhbiwgTE9OR0VTVCk7DQorLyogQWxsICdzdG9yZScgZnVuY3Rpb25z IGFjY2VwdCBhIGhvc3QtZm9ybWF0IGludGVnZXIgYW5kIHN0b3JlIGENCisg ICB0YXJnZXQtZm9ybWF0IGludGVnZXIgYXQgQUREUiB3aGljaCBpcyBMRU4g Ynl0ZXMgbG9uZy4gICovDQoNCi1leHRlcm4gdm9pZCBzdG9yZV91bnNpZ25l ZF9pbnRlZ2VyIChnZGJfYnl0ZSAqLCBpbnQsDQotCQkJCSAgICBlbnVtIGJm ZF9lbmRpYW4sIFVMT05HRVNUKTsNCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPg0K K3R5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPChzdGQ6OmlzX3NhbWU8VCwgTE9O R0VTVD46OnZhbHVlDQorCQkJIHx8IHN0ZDo6aXNfc2FtZTxULCBVTE9OR0VT VD46OnZhbHVlKSwNCisJCQl2b2lkPjo6dHlwZQ0KK3N0b3JlX2ludGVnZXIg KGdkYl9ieXRlICphZGRyLCBpbnQgbGVuLCBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciwNCisJICAgICAgIFQgdmFsKQ0KK3sNCisgIGdkYl9ieXRlICpw Ow0KKyAgZ2RiX2J5dGUgKnN0YXJ0YWRkciA9IGFkZHI7DQorICBnZGJfYnl0 ZSAqZW5kYWRkciA9IHN0YXJ0YWRkciArIGxlbjsNCisNCisgIC8qIFN0YXJ0 IGF0IHRoZSBsZWFzdCBzaWduaWZpY2FudCBlbmQgb2YgdGhlIGludGVnZXIs IGFuZCB3b3JrIHRvd2FyZHMNCisgICAgIHRoZSBtb3N0IHNpZ25pZmljYW50 LiAgKi8NCisgIGlmIChieXRlX29yZGVyID09IEJGRF9FTkRJQU5fQklHKQ0K KyAgICB7DQorICAgICAgZm9yIChwID0gZW5kYWRkciAtIDE7IHAgPj0gc3Rh cnRhZGRyOyAtLXApDQorCXsNCisJICAqcCA9IHZhbCAmIDB4ZmY7DQorCSAg dmFsID4+PSA4Ow0KKwl9DQorICAgIH0NCisgIGVsc2UNCisgICAgew0KKyAg ICAgIGZvciAocCA9IHN0YXJ0YWRkcjsgcCA8IGVuZGFkZHI7ICsrcCkNCisJ ew0KKwkgICpwID0gdmFsICYgMHhmZjsNCisJICB2YWwgPj49IDg7DQorCX0N CisgICAgfQ0KK30NCisNCit0ZW1wbGF0ZSB2b2lkIHN0b3JlX2ludGVnZXIg KGdkYl9ieXRlICphZGRyLCBpbnQgbGVuLA0KKwkJCQkgICAgICAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIsDQorCQkJCSAgICAgICBMb25nVHlwZTxV TE9OR0VTVD4gdmFsKTsNCit0ZW1wbGF0ZSB2b2lkIHN0b3JlX2ludGVnZXIg KGdkYl9ieXRlICphZGRyLCBpbnQgbGVuLA0KKwkJCQkgICAgICBlbnVtIGJm ZF9lbmRpYW4gYnl0ZV9vcmRlciwNCisJCQkJICAgICAgTG9uZ1R5cGU8TE9O R0VTVD4gdmFsKTsNCisNCitpbmxpbmUgdm9pZCBzdG9yZV9zaWduZWRfaW50 ZWdlciAoZ2RiX2J5dGUgKmFkZHIsIGludCBsZW4sDQorCQkJCSAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIsIExPTkdFU1QgdmFsKQ0KK3sNCisgIHN0 b3JlX2ludGVnZXIgKGFkZHIsIGxlbiwgYnl0ZV9vcmRlciwgdmFsKTsNCit9 DQorDQoraW5saW5lIHZvaWQgc3RvcmVfdW5zaWduZWRfaW50ZWdlciAoZ2Ri X2J5dGUgKmFkZHIsIGludCBsZW4sDQorCQkJCSAgICBlbnVtIGJmZF9lbmRp YW4gYnl0ZV9vcmRlciwgVUxPTkdFU1QgdmFsKQ0KK3sNCisgIHN0b3JlX2lu dGVnZXIgKGFkZHIsIGxlbiwgYnl0ZV9vcmRlciwgdmFsKTsNCit9DQoNCiBl eHRlcm4gdm9pZCBzdG9yZV90eXBlZF9hZGRyZXNzIChnZGJfYnl0ZSAqYnVm LCBzdHJ1Y3QgdHlwZSAqdHlwZSwNCiAJCQkJIENPUkVfQUREUiBhZGRyKTsN CmRpZmYgLS1naXQgYS9nZGIvZmluZHZhci5jIGIvZ2RiL2ZpbmR2YXIuYw0K aW5kZXggZWQ0ZDVjMTI2NmM5ZGUwNjk5ODFiMzA2YmM4MjI5YWU1ZmIwMjM1 MC4uNjE0ZDEyOTFlYWM1YTc0MzhhMWJmM2Y2ZGQwYjVkMDEyYTBkZmFhNyAx MDA2NDQNCi0tLSBhL2dkYi9maW5kdmFyLmMNCisrKyBiL2dkYi9maW5kdmFy LmMNCkBAIC0zNCw5ICszNCw3IEBADQogI2luY2x1ZGUgImxhbmd1YWdlLmgi DQogI2luY2x1ZGUgImR3YXJmMmxvYy5oIg0KDQotLyogQmFzaWMgYnl0ZS1z d2FwcGluZyByb3V0aW5lcy4gIEFsbCAnZXh0cmFjdCcgZnVuY3Rpb25zIHJl dHVybiBhDQotICAgaG9zdC1mb3JtYXQgaW50ZWdlciBmcm9tIGEgdGFyZ2V0 LWZvcm1hdCBpbnRlZ2VyIGF0IEFERFIgd2hpY2ggaXMNCi0gICBMRU4gYnl0 ZXMgbG9uZy4gICovDQorLyogQmFzaWMgYnl0ZS1zd2FwcGluZyByb3V0aW5l cy4gICovDQoNCiAjaWYgVEFSR0VUX0NIQVJfQklUICE9IDggfHwgSE9TVF9D SEFSX0JJVCAhPSA4DQogICAvKiA4IGJpdCBjaGFyYWN0ZXJzIGFyZSBhIHBy ZXR0eSBzYWZlIGFzc3VtcHRpb24gdGhlc2UgZGF5cywgc28gd2UNCkBAIC00 Niw3MCArNDQsNiBAQA0KIHlvdSBsb3NlDQogI2VuZGlmDQoNCi1MT05HRVNU DQotZXh0cmFjdF9zaWduZWRfaW50ZWdlciAoY29uc3QgZ2RiX2J5dGUgKmFk ZHIsIGludCBsZW4sDQotCQkJZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIp DQotew0KLSAgTE9OR0VTVCByZXR2YWw7DQotICBjb25zdCB1bnNpZ25lZCBj aGFyICpwOw0KLSAgY29uc3QgdW5zaWduZWQgY2hhciAqc3RhcnRhZGRyID0g YWRkcjsNCi0gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZGFkZHIgPSBzdGFy dGFkZHIgKyBsZW47DQotDQotICBpZiAobGVuID4gKGludCkgc2l6ZW9mIChM T05HRVNUKSkNCi0gICAgZXJyb3IgKF8oIlwNCi1UaGF0IG9wZXJhdGlvbiBp cyBub3QgYXZhaWxhYmxlIG9uIGludGVnZXJzIG9mIG1vcmUgdGhhbiAlZCBi eXRlcy4iKSwNCi0JICAgKGludCkgc2l6ZW9mIChMT05HRVNUKSk7DQotDQot ICAvKiBTdGFydCBhdCB0aGUgbW9zdCBzaWduaWZpY2FudCBlbmQgb2YgdGhl IGludGVnZXIsIGFuZCB3b3JrIHRvd2FyZHMNCi0gICAgIHRoZSBsZWFzdCBz aWduaWZpY2FudC4gICovDQotICBpZiAoYnl0ZV9vcmRlciA9PSBCRkRfRU5E SUFOX0JJRykNCi0gICAgew0KLSAgICAgIHAgPSBzdGFydGFkZHI7DQotICAg ICAgLyogRG8gdGhlIHNpZ24gZXh0ZW5zaW9uIG9uY2UgYXQgdGhlIHN0YXJ0 LiAgKi8NCi0gICAgICByZXR2YWwgPSAoKExPTkdFU1QpICogcCBeIDB4ODAp IC0gMHg4MDsNCi0gICAgICBmb3IgKCsrcDsgcCA8IGVuZGFkZHI7ICsrcCkN Ci0JcmV0dmFsID0gKHJldHZhbCA8PCA4KSB8ICpwOw0KLSAgICB9DQotICBl bHNlDQotICAgIHsNCi0gICAgICBwID0gZW5kYWRkciAtIDE7DQotICAgICAg LyogRG8gdGhlIHNpZ24gZXh0ZW5zaW9uIG9uY2UgYXQgdGhlIHN0YXJ0LiAg Ki8NCi0gICAgICByZXR2YWwgPSAoKExPTkdFU1QpICogcCBeIDB4ODApIC0g MHg4MDsNCi0gICAgICBmb3IgKC0tcDsgcCA+PSBzdGFydGFkZHI7IC0tcCkN Ci0JcmV0dmFsID0gKHJldHZhbCA8PCA4KSB8ICpwOw0KLSAgICB9DQotICBy ZXR1cm4gcmV0dmFsOw0KLX0NCi0NCi1VTE9OR0VTVA0KLWV4dHJhY3RfdW5z aWduZWRfaW50ZWdlciAoY29uc3QgZ2RiX2J5dGUgKmFkZHIsIGludCBsZW4s DQotCQkJICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlcikNCi17DQotICBV TE9OR0VTVCByZXR2YWw7DQotICBjb25zdCB1bnNpZ25lZCBjaGFyICpwOw0K LSAgY29uc3QgdW5zaWduZWQgY2hhciAqc3RhcnRhZGRyID0gYWRkcjsNCi0g IGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZGFkZHIgPSBzdGFydGFkZHIgKyBs ZW47DQotDQotICBpZiAobGVuID4gKGludCkgc2l6ZW9mIChVTE9OR0VTVCkp DQotICAgIGVycm9yIChfKCJcDQotVGhhdCBvcGVyYXRpb24gaXMgbm90IGF2 YWlsYWJsZSBvbiBpbnRlZ2VycyBvZiBtb3JlIHRoYW4gJWQgYnl0ZXMuIiks DQotCSAgIChpbnQpIHNpemVvZiAoVUxPTkdFU1QpKTsNCi0NCi0gIC8qIFN0 YXJ0IGF0IHRoZSBtb3N0IHNpZ25pZmljYW50IGVuZCBvZiB0aGUgaW50ZWdl ciwgYW5kIHdvcmsgdG93YXJkcw0KLSAgICAgdGhlIGxlYXN0IHNpZ25pZmlj YW50LiAgKi8NCi0gIHJldHZhbCA9IDA7DQotICBpZiAoYnl0ZV9vcmRlciA9 PSBCRkRfRU5ESUFOX0JJRykNCi0gICAgew0KLSAgICAgIGZvciAocCA9IHN0 YXJ0YWRkcjsgcCA8IGVuZGFkZHI7ICsrcCkNCi0JcmV0dmFsID0gKHJldHZh bCA8PCA4KSB8ICpwOw0KLSAgICB9DQotICBlbHNlDQotICAgIHsNCi0gICAg ICBmb3IgKHAgPSBlbmRhZGRyIC0gMTsgcCA+PSBzdGFydGFkZHI7IC0tcCkN Ci0JcmV0dmFsID0gKHJldHZhbCA8PCA4KSB8ICpwOw0KLSAgICB9DQotICBy ZXR1cm4gcmV0dmFsOw0KLX0NCg0KIC8qIFNvbWV0aW1lcyBhIGxvbmcgbG9u ZyB1bnNpZ25lZCBpbnRlZ2VyIGNhbiBiZSBleHRyYWN0ZWQgYXMgYQ0KICAg IExPTkdFU1QgdmFsdWUuICBUaGlzIGlzIGRvbmUgc28gdGhhdCB3ZSBjYW4g cHJpbnQgdGhlc2UgdmFsdWVzDQpAQCAtMTc3LDY1ICsxMTEsNiBAQCBleHRy YWN0X3R5cGVkX2FkZHJlc3MgKGNvbnN0IGdkYl9ieXRlICpidWYsIHN0cnVj dCB0eXBlICp0eXBlKQ0KICAgcmV0dXJuIGdkYmFyY2hfcG9pbnRlcl90b19h ZGRyZXNzIChnZXRfdHlwZV9hcmNoICh0eXBlKSwgdHlwZSwgYnVmKTsNCiB9 DQoNCi0vKiBBbGwgJ3N0b3JlJyBmdW5jdGlvbnMgYWNjZXB0IGEgaG9zdC1m b3JtYXQgaW50ZWdlciBhbmQgc3RvcmUgYQ0KLSAgIHRhcmdldC1mb3JtYXQg aW50ZWdlciBhdCBBRERSIHdoaWNoIGlzIExFTiBieXRlcyBsb25nLiAgKi8N Ci0NCi12b2lkDQotc3RvcmVfc2lnbmVkX2ludGVnZXIgKGdkYl9ieXRlICph ZGRyLCBpbnQgbGVuLA0KLQkJICAgICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIsIExPTkdFU1QgdmFsKQ0KLXsNCi0gIGdkYl9ieXRlICpwOw0KLSAg Z2RiX2J5dGUgKnN0YXJ0YWRkciA9IGFkZHI7DQotICBnZGJfYnl0ZSAqZW5k YWRkciA9IHN0YXJ0YWRkciArIGxlbjsNCi0NCi0gIC8qIFN0YXJ0IGF0IHRo ZSBsZWFzdCBzaWduaWZpY2FudCBlbmQgb2YgdGhlIGludGVnZXIsIGFuZCB3 b3JrIHRvd2FyZHMNCi0gICAgIHRoZSBtb3N0IHNpZ25pZmljYW50LiAgKi8N Ci0gIGlmIChieXRlX29yZGVyID09IEJGRF9FTkRJQU5fQklHKQ0KLSAgICB7 DQotICAgICAgZm9yIChwID0gZW5kYWRkciAtIDE7IHAgPj0gc3RhcnRhZGRy OyAtLXApDQotCXsNCi0JICAqcCA9IHZhbCAmIDB4ZmY7DQotCSAgdmFsID4+ PSA4Ow0KLQl9DQotICAgIH0NCi0gIGVsc2UNCi0gICAgew0KLSAgICAgIGZv ciAocCA9IHN0YXJ0YWRkcjsgcCA8IGVuZGFkZHI7ICsrcCkNCi0Jew0KLQkg ICpwID0gdmFsICYgMHhmZjsNCi0JICB2YWwgPj49IDg7DQotCX0NCi0gICAg fQ0KLX0NCi0NCi12b2lkDQotc3RvcmVfdW5zaWduZWRfaW50ZWdlciAoZ2Ri X2J5dGUgKmFkZHIsIGludCBsZW4sDQotCQkJZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIsIFVMT05HRVNUIHZhbCkNCi17DQotICB1bnNpZ25lZCBjaGFy ICpwOw0KLSAgdW5zaWduZWQgY2hhciAqc3RhcnRhZGRyID0gKHVuc2lnbmVk IGNoYXIgKikgYWRkcjsNCi0gIHVuc2lnbmVkIGNoYXIgKmVuZGFkZHIgPSBz dGFydGFkZHIgKyBsZW47DQotDQotICAvKiBTdGFydCBhdCB0aGUgbGVhc3Qg c2lnbmlmaWNhbnQgZW5kIG9mIHRoZSBpbnRlZ2VyLCBhbmQgd29yayB0b3dh cmRzDQotICAgICB0aGUgbW9zdCBzaWduaWZpY2FudC4gICovDQotICBpZiAo Ynl0ZV9vcmRlciA9PSBCRkRfRU5ESUFOX0JJRykNCi0gICAgew0KLSAgICAg IGZvciAocCA9IGVuZGFkZHIgLSAxOyBwID49IHN0YXJ0YWRkcjsgLS1wKQ0K LQl7DQotCSAgKnAgPSB2YWwgJiAweGZmOw0KLQkgIHZhbCA+Pj0gODsNCi0J fQ0KLSAgICB9DQotICBlbHNlDQotICAgIHsNCi0gICAgICBmb3IgKHAgPSBz dGFydGFkZHI7IHAgPCBlbmRhZGRyOyArK3ApDQotCXsNCi0JICAqcCA9IHZh bCAmIDB4ZmY7DQotCSAgdmFsID4+PSA4Ow0KLQl9DQotICAgIH0NCi19DQot DQogLyogU3RvcmUgdGhlIGFkZHJlc3MgQUREUiBhcyBhIHBvaW50ZXIgb2Yg dHlwZSBUWVBFIGF0IEJVRiwgaW4gdGFyZ2V0DQogICAgZm9ybS4gICovDQog dm9pZA0KZGlmZiAtLWdpdCBhL2dkYi9taXBzLWZic2QtdGRlcC5jIGIvZ2Ri L21pcHMtZmJzZC10ZGVwLmMNCmluZGV4IDAwZmFlMGVjNjBkZGM5ZTY0NWQz MjM2ZWZlMjlmMmY5ZTljZWFiNWMuLjllMjAyNWU1OGM0Y2Y2ZDg4N2FjYjAw MTlmMzlhMTk5Mzc3N2FlYWIgMTAwNjQ0DQotLS0gYS9nZGIvbWlwcy1mYnNk LXRkZXAuYw0KKysrIGIvZ2RiL21pcHMtZmJzZC10ZGVwLmMNCkBAIC00OCw5 ICs0OCw5IEBADQogI2RlZmluZSBNSVBTX0ZCU0RfTlVNX0ZQUkVHUwkzNA0K DQogLyogU3VwcGx5IGEgc2luZ2xlIHJlZ2lzdGVyLiAgSWYgdGhlIHNvdXJj ZSByZWdpc3RlciBzaXplIG1hdGNoZXMgdGhlDQotICAgc2l6ZSB0aGUgcmVn Y2FjaGUgZXhwZWN0cywgdGhpcyBjYW4gdXNlIHJlZ2NhY2hlX3Jhd19zdXBw bHkoKS4gIElmDQorICAgc2l6ZSB0aGUgcmVnY2FjaGUgZXhwZWN0cywgdGhp cyBjYW4gdXNlIHJlZ2NhY2hlLT5yYXdfc3VwcGx5ICgpLiAgSWYNCiAgICB0 aGV5IGFyZSBkaWZmZXJlbnQsIHRoaXMgY29waWVzIHRoZSBzb3VyY2UgcmVn aXN0ZXIgaW50byBhIGJ1ZmZlcg0KLSAgIHRoYXQgY2FuIGJlIHBhc3NlZCB0 byByZWdjYWNoZV9yYXdfc3VwcGx5KCkuICAqLw0KKyAgIHRoYXQgY2FuIGJl IHBhc3NlZCB0byByZWdjYWNoZS0+cmF3X3N1cHBseSAoKS4gICovDQoNCiBz dGF0aWMgdm9pZA0KIG1pcHNfZmJzZF9zdXBwbHlfcmVnIChzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLCBjb25zdCB2b2lkICphZGRy LA0KQEAgLTYzLDIwICs2MywxNyBAQCBtaXBzX2Zic2Rfc3VwcGx5X3JlZyAo c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSwgY29uc3Qg dm9pZCAqYWRkciwNCiAgIGVsc2UNCiAgICAgew0KICAgICAgIGVudW0gYmZk X2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJh cmNoKTsNCi0gICAgICBnZGJfYnl0ZSBidWZbTUFYX1JFR0lTVEVSX1NJWkVd Ow0KICAgICAgIExPTkdFU1QgdmFsOw0KDQotICAgICAgdmFsID0gZXh0cmFj dF9zaWduZWRfaW50ZWdlciAoKGNvbnN0IGdkYl9ieXRlICopIGFkZHIsIGxl biwgYnl0ZV9vcmRlcik7DQotICAgICAgc3RvcmVfc2lnbmVkX2ludGVnZXIg KGJ1ZiwgcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSwgYnl0ZV9v cmRlciwNCi0JCQkgICAgdmFsKTsNCi0gICAgICByZWdjYWNoZV9yYXdfc3Vw cGx5IChyZWdjYWNoZSwgcmVnbnVtLCBidWYpOw0KKyAgICAgIHZhbCA9IGV4 dHJhY3RfaW50ZWdlcjxMT05HRVNUPiAoKGNvbnN0IGdkYl9ieXRlICopIGFk ZHIsIGxlbiwgYnl0ZV9vcmRlcik7DQorICAgICAgcmVnY2FjaGUtPnJhd19z dXBwbHkgKHJlZ251bSwgdmFsKTsNCiAgICAgfQ0KIH0NCg0KIC8qIENvbGxl Y3QgYSBzaW5nbGUgcmVnaXN0ZXIuICBJZiB0aGUgZGVzdGluYXRpb24gcmVn aXN0ZXIgc2l6ZQ0KICAgIG1hdGNoZXMgdGhlIHNpemUgdGhlIHJlZ2NhY2hl IGV4cGVjdHMsIHRoaXMgY2FuIHVzZQ0KLSAgIHJlZ2NhY2hlX3Jhd19zdXBw bHkoKS4gIElmIHRoZXkgYXJlIGRpZmZlcmVudCwgdGhpcyBmZXRjaGVzIHRo ZQ0KLSAgIHJlZ2lzdGVyIHZpYSByZWdjYWNoZV9yYXdfc3VwcGx5KCkgaW50 byBhIGJ1ZmZlciBhbmQgdGhlbiBjb3BpZXMgaXQNCisgICByZWdjYWNoZS0+ cmF3X3N1cHBseSAoKS4gIElmIHRoZXkgYXJlIGRpZmZlcmVudCwgdGhpcyBm ZXRjaGVzIHRoZQ0KKyAgIHJlZ2lzdGVyIHZpYSByZWdjYWNoZS0+cmF3X3N1 cHBseSAoKSBpbnRvIGEgYnVmZmVyIGFuZCB0aGVuIGNvcGllcyBpdA0KICAg IGludG8gdGhlIGZpbmFsIGRlc3RpbmF0aW9uLiAgKi8NCg0KIHN0YXRpYyB2 b2lkDQpAQCAtOTAsMTMgKzg3LDggQEAgbWlwc19mYnNkX2NvbGxlY3RfcmVn IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVt LCB2b2lkICphZGRyLA0KICAgZWxzZQ0KICAgICB7DQogICAgICAgZW51bSBi ZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdk YmFyY2gpOw0KLSAgICAgIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0la RV07DQotICAgICAgTE9OR0VTVCB2YWw7DQotDQotICAgICAgcmVnY2FjaGVf cmF3X2NvbGxlY3QgKHJlZ2NhY2hlLCByZWdudW0sIGJ1Zik7DQotICAgICAg dmFsID0gZXh0cmFjdF9zaWduZWRfaW50ZWdlciAoYnVmLCByZWdpc3Rlcl9z aXplIChnZGJhcmNoLCByZWdudW0pLA0KLQkJCQkgICAgYnl0ZV9vcmRlcik7 DQotICAgICAgc3RvcmVfc2lnbmVkX2ludGVnZXIgKChnZGJfYnl0ZSAqKSBh ZGRyLCBsZW4sIGJ5dGVfb3JkZXIsIHZhbCk7DQorICAgICAgTE9OR0VTVCB2 YWwgPSByZWdjYWNoZS0+cmF3X2NvbGxlY3Q8TE9OR0VTVD4gKHJlZ251bSk7 DQorICAgICAgc3RvcmVfaW50ZWdlciAoKGdkYl9ieXRlICopIGFkZHIsIGxl biwgYnl0ZV9vcmRlciwgdmFsKTsNCiAgICAgfQ0KIH0NCg0KZGlmZiAtLWdp dCBhL2dkYi9taXBzLWxpbnV4LXRkZXAuYyBiL2dkYi9taXBzLWxpbnV4LXRk ZXAuYw0KaW5kZXggNDhhNTgyYTE2YzkzNGFiZTZlOGY4N2M0NmE2MDA5NjQ5 YzYwNmQ0OS4uNmRjYjc1OWNiODUwODNhNDI2NDY2YjhjZDAwNTYwYmViZTZh MzVhMyAxMDA2NDQNCi0tLSBhL2dkYi9taXBzLWxpbnV4LXRkZXAuYw0KKysr IGIvZ2RiL21pcHMtbGludXgtdGRlcC5jDQpAQCAtMTE4LDExICsxMTgsMTAg QEAgc3VwcGx5XzMyYml0X3JlZyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNo ZSwgaW50IHJlZ251bSwgY29uc3Qgdm9pZCAqYWRkcikNCiB7DQogICBzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdj YWNoZSk7DQogICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFy Y2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQotICBnZGJfYnl0ZSBidWZbTUFY X1JFR0lTVEVSX1NJWkVdOw0KLSAgc3RvcmVfc2lnbmVkX2ludGVnZXIgKGJ1 ZiwgcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSwgYnl0ZV9vcmRl ciwNCi0JCQlleHRyYWN0X3NpZ25lZF9pbnRlZ2VyICgoY29uc3QgZ2RiX2J5 dGUgKikgYWRkciwgNCwNCi0JCQkJCQlieXRlX29yZGVyKSk7DQotICByZWdj YWNoZV9yYXdfc3VwcGx5IChyZWdjYWNoZSwgcmVnbnVtLCBidWYpOw0KKyAg TE9OR0VTVCB2YWw7DQorDQorICB2YWwgPSBleHRyYWN0X2ludGVnZXI8TE9O R0VTVD4gKChjb25zdCBnZGJfYnl0ZSAqKSBhZGRyLCA0LCBieXRlX29yZGVy KTsNCisgIHJlZ2NhY2hlLT5yYXdfc3VwcGx5IChyZWdudW0sIHZhbCk7DQog fQ0KDQogLyogVW5wYWNrIGFuIGVsZl9ncmVnc2V0X3QgaW50byBHREIncyBy ZWdpc3RlciBjYWNoZS4gICovDQpAQCAtNDYwLDE0ICs0NTksOSBAQCBtaXBz NjRfZmlsbF9ncmVnc2V0IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2Nh Y2hlLA0KDQogICBpZiAocmVnYWRkciAhPSAtMSkNCiAgICAgew0KLSAgICAg IGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQotICAgICAgTE9O R0VTVCB2YWw7DQotDQotICAgICAgcmVnY2FjaGVfcmF3X2NvbGxlY3QgKHJl Z2NhY2hlLCByZWdubywgYnVmKTsNCi0gICAgICB2YWwgPSBleHRyYWN0X3Np Z25lZF9pbnRlZ2VyIChidWYsIHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJl Z25vKSwNCi0JCQkJICAgIGJ5dGVfb3JkZXIpOw0KKyAgICAgIExPTkdFU1Qg dmFsID0gcmVnY2FjaGUtPnJhd19jb2xsZWN0PExPTkdFU1Q+IChyZWdubyk7 DQogICAgICAgZHN0ID0gcmVncCArIHJlZ2FkZHI7DQotICAgICAgc3RvcmVf c2lnbmVkX2ludGVnZXIgKChnZGJfYnl0ZSAqKSBkc3QsIDgsIGJ5dGVfb3Jk ZXIsIHZhbCk7DQorICAgICAgc3RvcmVfaW50ZWdlciAoKGdkYl9ieXRlICop IGRzdCwgOCwgYnl0ZV9vcmRlciwgdmFsKTsNCiAgICAgfQ0KIH0NCg0KQEAg LTU2NCwyNSArNTU4LDE1IEBAIG1pcHM2NF9maWxsX2ZwcmVnc2V0IChjb25z dCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KICAgICB9DQogICBlbHNl IGlmIChyZWdubyA9PSBtaXBzX3JlZ251bSAoZ2RiYXJjaCktPmZwX2NvbnRy b2xfc3RhdHVzKQ0KICAgICB7DQotICAgICAgZ2RiX2J5dGUgYnVmW01BWF9S RUdJU1RFUl9TSVpFXTsNCi0gICAgICBMT05HRVNUIHZhbDsNCi0NCi0gICAg ICByZWdjYWNoZV9yYXdfY29sbGVjdCAocmVnY2FjaGUsIHJlZ25vLCBidWYp Ow0KLSAgICAgIHZhbCA9IGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIgKGJ1Ziwg cmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbm8pLA0KLQkJCQkgICAgYnl0 ZV9vcmRlcik7DQorICAgICAgTE9OR0VTVCB2YWwgPSByZWdjYWNoZS0+cmF3 X2NvbGxlY3Q8TE9OR0VTVD4gKHJlZ25vKTsNCiAgICAgICB0byA9IChnZGJf Ynl0ZSAqKSAoKmZwcmVnc2V0cCArIDMyKTsNCi0gICAgICBzdG9yZV9zaWdu ZWRfaW50ZWdlciAodG8sIDQsIGJ5dGVfb3JkZXIsIHZhbCk7DQorICAgICAg c3RvcmVfaW50ZWdlciAodG8sIDQsIGJ5dGVfb3JkZXIsIHZhbCk7DQogICAg IH0NCiAgIGVsc2UgaWYgKHJlZ25vID09IG1pcHNfcmVnbnVtIChnZGJhcmNo KS0+ZnBfaW1wbGVtZW50YXRpb25fcmV2aXNpb24pDQogICAgIHsNCi0gICAg ICBnZGJfYnl0ZSBidWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KLSAgICAgIExP TkdFU1QgdmFsOw0KLQ0KLSAgICAgIHJlZ2NhY2hlX3Jhd19jb2xsZWN0IChy ZWdjYWNoZSwgcmVnbm8sIGJ1Zik7DQotICAgICAgdmFsID0gZXh0cmFjdF9z aWduZWRfaW50ZWdlciAoYnVmLCByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBy ZWdubyksDQotCQkJCSAgICBieXRlX29yZGVyKTsNCisgICAgICBMT05HRVNU IHZhbCA9IHJlZ2NhY2hlLT5yYXdfY29sbGVjdDxMT05HRVNUPiAocmVnbm8p Ow0KICAgICAgIHRvID0gKGdkYl9ieXRlICopICgqZnByZWdzZXRwICsgMzIp ICsgNDsNCi0gICAgICBzdG9yZV9zaWduZWRfaW50ZWdlciAodG8sIDQsIGJ5 dGVfb3JkZXIsIHZhbCk7DQorICAgICAgc3RvcmVfaW50ZWdlciAodG8sIDQs IGJ5dGVfb3JkZXIsIHZhbCk7DQogICAgIH0NCiAgIGVsc2UgaWYgKHJlZ25v ID09IC0xKQ0KICAgICB7DQpkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmgg Yi9nZGIvcmVnY2FjaGUuaA0KaW5kZXggNGRjZmNjYmFjNzBmMGY5NjJiZjVl NTU5NmQwMzVmZGE0MjMyMjc5NS4uZWU1ZTEyMzEyZmU3MzFiMDNiNmI0ZTU0 ODAyOTg4ZDIzOWFlZDQ4OCAxMDA2NDQNCi0tLSBhL2dkYi9yZWdjYWNoZS5o DQorKysgYi9nZGIvcmVnY2FjaGUuaA0KQEAgLTIxLDYgKzIxLDcgQEANCiAj ZGVmaW5lIFJFR0NBQ0hFX0gNCg0KICNpbmNsdWRlICJjb21tb24tcmVnY2Fj aGUuaCINCisjaW5jbHVkZSAiZGVmcy5oIg0KDQogc3RydWN0IHJlZ2NhY2hl Ow0KIHN0cnVjdCByZWdzZXQ7DQpAQCAtMjk0LDggKzI5NSwxNiBAQCBwdWJs aWM6DQoNCiAgIHZvaWQgcmF3X2NvbGxlY3QgKGludCByZWdudW0sIHZvaWQg KmJ1ZikgY29uc3Q7DQoNCisgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExvbmdU eXBlPFQ+IHJhd19jb2xsZWN0IChpbnQgcmVnbnVtKSBjb25zdDsNCisNCiAg IHZvaWQgcmF3X3N1cHBseSAoaW50IHJlZ251bSwgY29uc3Qgdm9pZCAqYnVm KTsNCg0KKyAgdGVtcGxhdGU8dHlwZW5hbWUgVD4NCisgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmPChzdGQ6OmlzX3NhbWU8VCwgTE9OR0VTVD46OnZhbHVl DQorCQkJICAgfHwgc3RkOjppc19zYW1lPFQsIFVMT05HRVNUPjo6dmFsdWUp LA0KKwkJCSAgdm9pZD46OnR5cGUNCisgIHJhd19zdXBwbHkgKGludCByZWdu dW0sIFQgdmFsKTsNCisNCiAgIHZvaWQgcmF3X3N1cHBseV96ZXJvZWQgKGlu dCByZWdudW0pOw0KDQogICB2b2lkIHJhd19jb3B5IChpbnQgcmVnbnVtLCBz dHJ1Y3QgcmVnY2FjaGUgKnNyY19yZWdjYWNoZSk7DQpkaWZmIC0tZ2l0IGEv Z2RiL3JlZ2NhY2hlLmMgYi9nZGIvcmVnY2FjaGUuYw0KaW5kZXggNjYwNTU4 ZjdmZjEwZjlkODM0NmI2ZTA4NDIyZTE2YzM4YzNjNGQ3ZC4uMTQxMmMxNmJl Yjk3ODQxODQ3NjkwZWNmY2FjNjQxMjEyOThlZGZjOSAxMDA2NDQNCi0tLSBh L2dkYi9yZWdjYWNoZS5jDQorKysgYi9nZGIvcmVnY2FjaGUuYw0KQEAgLTEx ODksNiArMTE4OSwzMiBAQCByZWdjYWNoZTo6cmF3X3N1cHBseSAoaW50IHJl Z251bSwgY29uc3Qgdm9pZCAqYnVmKQ0KICAgICB9DQogfQ0KDQorLyogU3Vw cGx5IHJlZ2lzdGVyIFJFR05VTSwgd2hvc2UgY29udGVudHMgYXJlIHN0b3Jl ZCBpbiBWQUwsIHRvDQorICAgUkVHQ0FDSEUuICAqLw0KKw0KK3RlbXBsYXRl PHR5cGVuYW1lIFQ+DQordHlwZW5hbWUgc3RkOjplbmFibGVfaWY8KHN0ZDo6 aXNfc2FtZTxULCBMT05HRVNUPjo6dmFsdWUNCisJCQkgfHwgc3RkOjppc19z YW1lPFQsIFVMT05HRVNUPjo6dmFsdWUpLA0KKwkJCXZvaWQ+Ojp0eXBlDQor cmVnY2FjaGU6OnJhd19zdXBwbHkgKGludCByZWdudW0sIFQgdmFsKQ0KK3sN CisgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRl X29yZGVyIChtX2Rlc2NyLT5nZGJhcmNoKTsNCisgIGdkYl9ieXRlICpyZWdi dWY7DQorICBzaXplX3Qgc2l6ZTsNCisNCisgIGdkYl9hc3NlcnQgKHJlZ251 bSA+PSAwICYmIHJlZ251bSA8IG1fZGVzY3ItPm5yX3Jhd19yZWdpc3RlcnMp Ow0KKyAgZ2RiX2Fzc2VydCAoIW1fcmVhZG9ubHlfcCk7DQorDQorICByZWdi dWYgPSByZWdpc3Rlcl9idWZmZXIgKHJlZ251bSk7DQorICBzaXplID0gbV9k ZXNjci0+c2l6ZW9mX3JlZ2lzdGVyW3JlZ251bV07DQorDQorICBzdG9yZV9p bnRlZ2VyIChyZWdidWYsIHNpemUsIGJ5dGVfb3JkZXIsIHZhbCk7DQorICBt X3JlZ2lzdGVyX3N0YXR1c1tyZWdudW1dID0gUkVHX1ZBTElEOw0KK30NCisN Cit0ZW1wbGF0ZSB2b2lkIHJlZ2NhY2hlOjpyYXdfc3VwcGx5IChpbnQgcmVn bnVtLCBMT05HRVNUIHZhbCk7DQordGVtcGxhdGUgdm9pZCByZWdjYWNoZTo6 cmF3X3N1cHBseSAoaW50IHJlZ251bSwgVUxPTkdFU1QgdmFsKTsNCisNCiAv KiBTdXBwbHkgcmVnaXN0ZXIgUkVHTlVNIHdpdGggemVyb2VkIHZhbHVlIHRv IFJFR0NBQ0hFLiAgVGhpcyBpcyBub3QgdGhlIHNhbWUNCiAgICBhcyBjYWxs aW5nIHJhd19zdXBwbHkgd2l0aCBOVUxMICh3aGljaCB3aWxsIHNldCB0aGUg c3RhdGUgdG8NCiAgICB1bmF2YWlsYWJsZSkuICAqLw0KQEAgLTEyMzIsNiAr MTI1OCwzMCBAQCByZWdjYWNoZTo6cmF3X2NvbGxlY3QgKGludCByZWdudW0s IHZvaWQgKmJ1ZikgY29uc3QNCiAgIG1lbWNweSAoYnVmLCByZWdidWYsIHNp emUpOw0KIH0NCg0KKy8qIENvbGxlY3QgcmVnaXN0ZXIgUkVHTlVNIGZyb20g UkVHQ0FDSEUgYW5kIGV4dHJhY3QgaXRzIGNvbnRlbnRzIGludG8gYQ0KKyAg IExPTkdFU1QuICAqLw0KKw0KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+DQorTG9u Z1R5cGU8VD4gcmVnY2FjaGU6OnJhd19jb2xsZWN0IChpbnQgcmVnbnVtKSBj b25zdA0KK3sNCisgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2Ri YXJjaF9ieXRlX29yZGVyIChtX2Rlc2NyLT5nZGJhcmNoKTsNCisgIGNvbnN0 IGdkYl9ieXRlICpyZWdidWY7DQorICBzaXplX3Qgc2l6ZTsNCisNCisgIGdk Yl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8IG1fZGVzY3ItPm5y X3Jhd19yZWdpc3RlcnMpOw0KKw0KKyAgcmVnYnVmID0gcmVnaXN0ZXJfYnVm ZmVyIChyZWdudW0pOw0KKyAgc2l6ZSA9IG1fZGVzY3ItPnNpemVvZl9yZWdp c3RlcltyZWdudW1dOw0KKw0KKyAgaWYgKHN0ZDo6aXNfc2lnbmVkPFQ+Ojp2 YWx1ZSkNCisgICAgcmV0dXJuIGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIgKHJl Z2J1Ziwgc2l6ZSwgYnl0ZV9vcmRlcik7DQorICBlbHNlDQorICAgIHJldHVy biBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKHJlZ2J1Ziwgc2l6ZSwgYnl0 ZV9vcmRlcik7DQorfQ0KKw0KK3RlbXBsYXRlIExvbmdUeXBlPFVMT05HRVNU PiByZWdjYWNoZTo6cmF3X2NvbGxlY3Q8VUxPTkdFU1Q+IChpbnQgcmVnbnVt KSBjb25zdDsNCit0ZW1wbGF0ZSBMb25nVHlwZTxMT05HRVNUPiByZWdjYWNo ZTo6cmF3X2NvbGxlY3Q8TE9OR0VTVD4gKGludCByZWdudW0pIGNvbnN0Ow0K Kw0KIHZvaWQNCiByZWdjYWNoZTo6cmF3X2NvcHkgKGludCByZWdudW0sIHN0 cnVjdCByZWdjYWNoZSAqc3JjX3JlZ2NhY2hlKQ0KIHsNCg0KDQoNCg== >From gdb-patches-return-139233-listarch-gdb-patches=sources.redhat.com@sourceware.org Mon May 22 16:19:13 2017 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 2583 invoked by alias); 22 May 2017 16:19:13 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 2558 invoked by uid 89); 22 May 2017 16:19:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy= X-HELO: mail-wm0-f46.google.com Received: from mail-wm0-f46.google.com (HELO mail-wm0-f46.google.com) (74.125.82.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 22 May 2017 16:19:11 +0000 Received: by mail-wm0-f46.google.com with SMTP id e127so673811wmg.1 for ; Mon, 22 May 2017 09:19:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=evuwkghpY02jqc8z2oTuu0jcq/c4lvZs5NvhO3bC59M=; b=PnpaIBAD4jqH4rsW7ftEMl0DVOwdPVbQzyDcazXTGEBmoD+q84MnerKZPXiEKdPgDr ku+Z7P3YpVtxCSGoraAlsA3/Vx7sQBQ95VQ2Zhzhx33SDgNgKCpq27LlVWbwnbIBY7qB +YMzY/E/CPAIGGpnzJ6lGHuyHA0Ls0hmun1TyBX7hgN718t0QDfmkgSAsY+l5Oqr85nf p70HKDbeci0EXjXx9MWgxopbNTvN41Ue4sJrpxZKmHAPXU5ife8YjwU/AbNVA3nGn+hJ 6v0JBmN0pCkNUfZRZPflRUnlLtBvxgIwI4r53CcPxWswEe5q3NbCIrBgeceghvcIm/R0 RxEQ== X-Gm-Message-State: AODbwcAaL0Hce68YOiEmZtKXcRB1sdltFAZx3ddOhCfTME4bekoeBybP dSIimPZowsd8+jYX0sucFA== X-Received: by 10.28.167.197 with SMTP id q188mr25273834wme.79.1495469952364; Mon, 22 May 2017 09:19:12 -0700 (PDT) Received: from [192.168.0.102] ([37.189.166.198]) by smtp.gmail.com with ESMTPSA id 17sm24428878wml.32.2017.05.22.09.19.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 May 2017 09:19:11 -0700 (PDT) Subject: Re: MinGW compilation warnings in libiberty's xstrndup.c To: DJ Delorie References: Cc: eliz@gnu.org, gcc-patches@gcc.gnu.org, gdb-patches@sourceware.org, richard.guenther@gmail.com, thomas@codesourcery.com From: Pedro Alves Message-ID: Date: Mon, 22 May 2017 16:19:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-05/txt/msg00493.txt.bz2 Content-length: 3417 On 05/20/2017 01:38 AM, DJ Delorie wrote: > > Pedro Alves writes: >> Ah, yeah. AFAICS, all the declaration checks in libiberty.h are >> HAVE_DECL checks. This suggests to me that this declaration guard >> should be HAVE_DECL too [1]. > > Except the ones in the $funcs list, which includes strnlen. I think in > the old days, we didn't put in declarations at all... until "char *" > became a different size than "int" and we started needing them. Running: $ grep HAVE_ libiberty/config.h | sed 's/DECL_//g'| sort | uniq -c | sort -n on the build I have handy shows: ... 2 #define HAVE_ASPRINTF 1 2 #define HAVE_BASENAME 1 2 #define HAVE_CALLOC 1 2 #define HAVE_FFS 1 2 #define HAVE_SBRK 1 2 #define HAVE_SNPRINTF 1 2 #define HAVE_STRTOL 1 2 #define HAVE_STRTOLL 1 2 #define HAVE_STRTOUL 1 2 #define HAVE_STRTOULL 1 2 #define HAVE_STRVERSCMP 1 2 #define HAVE_VASPRINTF 1 "2" means above means each FOO symbol above has both HAVE_FOO and HAVE_DECL_FOO defines: $ grep "HAVE.*_SNPRINTF" config.h #define HAVE_DECL_SNPRINTF 1 #define HAVE_SNPRINTF 1 > > So some functions in libiberty are HAVE_DECL and others are still HAVE. But I don't see any HAVE check in libiberty.h (for function symbols), only HAVE_DECL ones: $ grep HAVE libiberty.h /* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is #if !HAVE_DECL_BASENAME || defined (__DragonFly__) || defined (HAVE_DECL_BASENAME) autoconf which would result in HAVE_DECL_BASENAME being set. */ #if defined (HAVE_DECL_FFS) && !HAVE_DECL_FFS #if defined(HAVE_DECL_ASPRINTF) && !HAVE_DECL_ASPRINTF #if !HAVE_DECL_VASPRINTF #if defined(HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF #if defined(HAVE_DECL_VSNPRINTF) && !HAVE_DECL_VSNPRINTF #if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP #if defined(HAVE_DECL_STRTOL) && !HAVE_DECL_STRTOL #if defined(HAVE_DECL_STRTOUL) && !HAVE_DECL_STRTOUL #if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOLL) && !HAVE_DECL_STRTOLL #if defined(HAVE_LONG_LONG) && defined(HAVE_DECL_STRTOULL) && !HAVE_DECL_STRTOULL #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP Nor in other headers under include/, while at it. Are you looking elsewhere perhaps? Based on the above, it looks to me like the non-HAVE_DECL HAVE symbols are implementation detail to libiberty, side effect of the checks used to determine whether a replacement is necessary. > > Ah, found it, this commit is incomplete: > > https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00784.html > > It changes gcc's configure but nobody else's (and now we have an answer > to the three-year-old question "why don't we have a more liberal commit > policy?" ;) which breaks both libiberty and libgfortran. Yeah, that exactly the sort of thing that gets fixed by design by having a centralized libiberty.m4 file. > >> BTW, I once proposed a new libiberty.m4 file that all libiberty >> clients would source so that these checks are all centralized. > > I have no philosophical problem with that type of change, but I have the > usual fear of touching anything in libiberty that's been around this > long ;-) > > (this bug being a prime example of how subtle an incorrect change can be) > > (and honestly, my upstream attention is elsewhere these days) > Thanks, Pedro Alves