From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12903 invoked by alias); 21 Jun 2018 15:19:26 -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 12769 invoked by uid 89); 21 Jun 2018 15:19:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr20067.outbound.protection.outlook.com (HELO EUR02-VE1-obe.outbound.protection.outlook.com) (40.107.2.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 21 Jun 2018 15:19:23 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.226.148) by DB6PR0802MB2293.eurprd08.prod.outlook.com (10.172.228.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.19; Thu, 21 Jun 2018 15:19:19 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::a152:f8f6:6608:7624]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::a152:f8f6:6608:7624%5]) with mapi id 15.20.0863.016; Thu, 21 Jun 2018 15:19:19 +0000 From: Alan Hayward To: Simon Marchi CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH v2 1/3] Use unsigned ints in regcache_map_entry Date: Thu, 21 Jun 2018 15:19:00 -0000 Message-ID: References: <20180621093802.79342-1-alan.hayward@arm.com> <20180621093802.79342-2-alan.hayward@arm.com> <4e636367-f19b-3aa8-6491-42d4ea5b024b@ericsson.com> <3c8db027-f24e-91cb-b7cc-25fb8cae0067@ericsson.com> In-Reply-To: <3c8db027-f24e-91cb-b7cc-25fb8cae0067@ericsson.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-publictraffictype: Email x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: ab5fbb21-9ade-444d-6816-08d5d78a5c58 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: DB6PR0802MB2293: nodisclaimer: True x-exchange-antispam-report-test: UriScan:(37575265505322); x-ms-exchange-senderadcheck: 1 x-forefront-prvs: 07106EF9B9 received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) 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-Network-Message-Id: ab5fbb21-9ade-444d-6816-08d5d78a5c58 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2018 15:19:19.3955 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2293 X-IsSubscribed: yes X-SW-Source: 2018-06/txt/msg00520.txt.bz2 PiANCj4gT24gMjEgSnVuIDIwMTgsIGF0IDE0OjUxLCBTaW1vbiBNYXJjaGkg PHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPiANCj4gT24g MjAxOC0wNi0yMSAwOToyNyBBTSwgU2ltb24gTWFyY2hpIHdyb3RlOg0KPj4g T24gMjAxOC0wNi0yMSAwNTozOCBBTSwgQWxhbiBIYXl3YXJkIHdyb3RlOg0K Pj4+IEFsbCBjdXJyZW50IHVzZXMgb2YgcmVnY2FjaGVfbWFwX2VudHJ5IHVz ZSBzdGF0aWMgaGFyZCBjb2RlZCB2YWx1ZXMuDQo+Pj4gVXBkYXRlIHRyYW5z ZmVyX3JlZ3NldCB3aGljaCB1c2VzIHRob3NlIHZhbHVlcy4NCj4+IA0KPj4g Q2FuIHlvdSBleHBsYWluIHdoYXQgd2UgZ2FpbiBmcm9tIHRoaXMgcGF0Y2g/ ICBJbiB0aGUgcHJldmlvdXMgZGlzY3Vzc2lvbiwNCj4+IEkgbWVudGlvbmVk IHRoYXQgdGhlIHBhcmFtZXRlcnMgTEVOIGFuZCBPRkZTRVQgaW4gdGhlIHJl Z2NhY2hlIG1ldGhvZHMNCj4+IChlLmcuIHJlYWRfcGFydCkgY291bGQgYmUg Y29tZSB1bnNpZ25lZCwgd2hpY2ggd291bGQgYWxsb3cgdXMgdG8gcmVtb3Zl DQo+PiB0aGUgIm9mZnNldCA+PSAwICYmIGxlbiA+PSAwIiBhc3NlcnRpb25z LiAgSW4gdHVybiwgdGhleSB3b24ndCBiZQ0KPj4gbmVlZGVkIGluIHlvdXIg cmF3X2NvbGxlY3RfcGFydC9yYXdfc3VwcGx5X3BhcnQuICBCdXQgSSBkb24n dCBzZWUNCj4+IGV4YWN0bHkgd2hhdCB0aGUgY3VycmVudCBwYXRjaCBicmlu Z3MgKHRob3VnaCBpdCdzIG5vdCBpbmNvcnJlY3QpLg0KPj4gDQo+PiBTaW1v bg0KPj4gDQoNClRoaXMgcGF0Y2ggYWxsb3dzIHRoZSBsZW4gYW5kIG9mZnNl dCBpbiBwYXJ0IDMgdG8gYmUgdW5zaWduZWQuDQouLi4gSG93ZXZlciBsb29r aW5nIGFnYWluIGF0IHBhcnQgMywgSeKAmXZlIGxvc3QgdGhlIHVuc2lnbmVk IHBhcnRzIQ0KSXQgd2FzIG1lYW50IHRvIGJlOg0KDQordm9pZA0KK3JlZ19i dWZmZXI6OnJhd19jb2xsZWN0X3BhcnQgKGludCByZWdudW0sIHVuc2lnbmVk IGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBsZW4sDQorCQkJICAgICAgZ2Ri X2J5dGUgKm91dCkgY29uc3QNCg0KSSB0aGVuIGRpZG7igJl0IG5lZWQgdGhl IGFzc2VydHMgaW4gcmF3X2NvbGxlY3RfcGFydCBhbmQgdHJhbnNmZXJfcmVn c2V0IHVzZWQNCnVuc2lnbmVkIGludHMuDQoNCldoZW4gSSByZXBvc3QgcGFy dCAzLCBJ4oCZbGwgbWFrZSBzdXJlIGl0IGhhcyB0aGVzZSBhZGRpdGlvbnMu DQoNCg0KPiANCj4gVGhpcyBpcyB3aGF0IEkgd291bGQgc3VnZ2VzdDoNCj4g DQo+IA0KDQpJIG9yaWdpbmFsbHkgd3JvdGUgdGhpcyBmb3IganVzdCB0aGUg X3BhcnQgZnVuY3Rpb25zIGFuZCB0aGVuIEkgcmVqZWN0ZWQNCml0LiBUaGUg cHJvYmxlbSBhcyBJIHNlZSBpdCB3aXRoIHRoaXMgaXMgdGhhdCwgbW9zdGx5 IGFsbCB0aGUgY29kZSBjYWxsaW5nDQp0aGVzZSBmdW5jdGlvbnMgdG9kYXkg YXJlIHVzaW5nIGludHMuDQoNClNvLCB0byBrZWVwIGl0IHNhZmUgd2Ugc2hv dWxkIHJlYWxseSB1cGRhdGUgYWxsIHRoZSBjYWxsZXJzIHRvby4gRm9yIGV4 YW1wbGUsDQpvbmUgcGlja2VkIGF0IHJhbmRvbToNCg0KLS0tIGEvZ2RiL20z MmMtdGRlcC5jDQorKysgYi9nZGIvbTMyYy10ZGVwLmMNCkBAIC00NDMsOSAr NDQzLDkgQEAgbTMyY19maW5kX3BhcnQgKHN0cnVjdCBtMzJjX3JlZyAqcmVn LCBpbnQgKm9mZnNldF9wLCBpbnQgKmxlbl9wKQ0KICAgIGJpdHMsIHJlYWQg dGhlIHZhbHVlIG9mIHRoZSBSRUctPm4ndGggZWxlbWVudC4gICovDQogc3Rh dGljIGVudW0gcmVnaXN0ZXJfc3RhdHVzDQogbTMyY19wYXJ0X3JlYWQgKHN0 cnVjdCBtMzJjX3JlZyAqcmVnLCByZWFkYWJsZV9yZWdjYWNoZSAqY2FjaGUs IGdkYl9ieXRlICpidWYpDQogew0KLSAgaW50IG9mZnNldCwgbGVuOw0KKyAg dW5zaWduZWQgaW50IG9mZnNldCwgbGVuOw0KDQogICBtZW1zZXQgKGJ1Ziwg MCwgVFlQRV9MRU5HVEggKHJlZy0+dHlwZSkpOw0KICAgbTMyY19maW5kX3Bh cnQgKHJlZywgJm9mZnNldCwgJmxlbik7DQogICByZXR1cm4gY2FjaGUtPmNv b2tlZF9yZWFkX3BhcnQgKHJlZy0+cngtPm51bSwgb2Zmc2V0LCBsZW4sIGJ1 Zik7DQoNCkFuZCB3aXRob3V0IGNoZWNraW5nLCBJ4oCZbSBub3Qgc3VyZSBt MzJjX2ZpbmRfcGFydCBjYW4gZ3VhcmFudGVlIHVuc2lnbmVkLg0KDQpXaXRo b3V0IHRob3NlIGNoYW5nZXMgYWxsIHdlIGFyZSBkb2luZyBpcyBsb3Npbmcg c29tZSBhc3NlcnQgcHJvdGVjdGlvbi4NCg0KDQpBbGFuLg0KDQo+IEZyb20g MjIwMzJlMGY4OWI3NGRhYWE4MTg2MjIzNTA4ZWI5ZDc4ODc3Mjk2MiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDENCj4gRnJvbTogU2ltb24gTWFyY2hpIDxz aW1vbi5tYXJjaGlAZXJpY3Nzb24uY29tPg0KPiBEYXRlOiBUaHUsIDIxIEp1 biAyMDE4IDA5OjQyOjA1IC0wNDAwDQo+IFN1YmplY3Q6IFtQQVRDSF0gTWFr ZSBzb21lIHJlZ2NhY2hlIG1ldGhvZCBwYXJhbWV0ZXJzIHVuc2lnbmVkDQo+ IA0KPiBUaGUgcGFyYW1ldGVycyBMRU4gYW5kIE9GRlNFVCBpbiBzb21lIG9m IHJlZ2NhY2hlJ3MgbWV0aG9kcyBjYW4gb25seQ0KPiBoYXZlIHZhbHVlcyA+ PSAwLCBzbyB3ZSBjYW4gbWFrZSB0aGVtIHVuc2lnbmVkLiAgRG9pbmcgc28g YWxsb3dzIHVzIHRvDQo+IHJlbW92ZSBzb21lIGFzc2VydHMgaW4gcmVhZF9w YXJ0IGFuZCB3cml0ZV9wYXJ0Lg0KPiANCj4gQWxzbywgd2hlbiB3ZSBoYXZl IHRoZXNlIHR3byBhc3NlcnRpb25zIC4uLg0KPiANCj4gIG9mZnNldCA8PSBt X2Rlc2NyLT5zaXplb2ZfcmVnaXN0ZXJbcmVnbnVtXQ0KPiAgb2Zmc2V0ICsg bGVuIDw9IG1fZGVzY3ItPnNpemVvZl9yZWdpc3RlcltyZWdudW1dDQo+IA0K PiAuLi4gaWYgKG9mZnNldCArIGxlbikgaXMgc21hbGxlciB0aGFuIHRoZQ0K PiByZWdpc3RlciBzaXplLCB0aGVuIG9mZnNldCBpcyBuZWNlc3NhcmlseSBz bWFsbGVyIHRoYW4gdGhlIHJlZ2lzdGVyDQo+IHNpemUuICBTbyB3ZSBjYW4g cmVtb3ZlIHRoZSBmaXJzdCBvbmUuDQo+IA0KPiBnZGIvQ2hhbmdlTG9nOg0K PiANCj4gCSogY29tbW9uL2NvbW1vbi1yZWdjYWNoZS5oIChzdHJ1Y3QgcmVn X2J1ZmZlcl9jb21tb24pDQo+IAk8cmF3X2NvbXBhcmU+OiBNYWtlIE9GRlNF VCB1bnNpZ25lZC4NCj4gCSogcmVnY2FjaGUuaCAoY2xhc3MgcmVnX2J1ZmZl cikgPHJhd19jb21wYXJlPjogTGlrZXdpc2UuDQo+IAkoY2xhc3MgcmVhZGFi bGVfcmVnY2FjaGUpIDxyYXdfcmVhZF9wYXJ0LCBjb29rZWRfcmVhZF9wYXJ0 LA0KPiAJcmVhZF9wYXJ0PjogTWFrZSBPRkZTRVQgYW5kIExFTiB1bnNpZ25l ZC4NCj4gCShjbGFzcyByZWdjYWNoZSkgPHJhd193cml0ZV9wYXJ0LCBjb29r ZWRfd3JpdGVfcGFydCwNCj4gCXdyaXRlX3BhcnQ+OiBMaWtld2lzZS4NCj4g CSogcmVnY2FjaGUuYyAocmVhZGFibGVfcmVnY2FjaGU6OnJlYWRfcGFydCk6 IE1ha2UgT0ZGU0VUIGFuZCBMRU4NCj4gCXVuc2lnbmVkLCByZW1vdmUgYXNz ZXJ0aW9ucy4NCj4gCShyZWdjYWNoZTo6d3JpdGVfcGFydCk6IExpa2V3aXNl Lg0KPiAJKHJlYWRhYmxlX3JlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0KTogTWFr ZSBPRkZTRVQgYW5kIExFTg0KPiAJdW5zaWduZWQuDQo+IAkocmVnY2FjaGU6 OnJhd193cml0ZV9wYXJ0KTogTGlrZXdpc2UuDQo+IAkocmVhZGFibGVfcmVn Y2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQpOiBMaWtld2lzZS4NCj4gCShyZWdj YWNoZTo6Y29va2VkX3dyaXRlX3BhcnQpOiBMaWtld2lzZS4NCj4gCShyZWdf YnVmZmVyOjpyYXdfY29tcGFyZSk6IE1ha2UgT0ZGU0VUIHVuc2lnbmVkLg0K PiANCj4gZ2RiL2dkYnNlcnZlci9DaGFuZ2VMb2c6DQo+IA0KPiAJKiByZWdj YWNoZS5oIChzdHJ1Y3QgcmVnY2FjaGUpIDxyYXdfY29tcGFyZT46IE1ha2Ug T0ZGU0VUDQo+IAl1bnNpZ25lZC4NCj4gCSogcmVnY2FjaGUuYyAocmVnY2Fj aGU6OnJhd19jb21wYXJlKTogTGlrZXdpc2UuDQo+IC0tLQ0KPiBnZGIvY29t bW9uL2NvbW1vbi1yZWdjYWNoZS5oIHwgIDMgKystDQo+IGdkYi9nZGJzZXJ2 ZXIvcmVnY2FjaGUuYyAgICAgfCAgMiArLQ0KPiBnZGIvZ2Ric2VydmVyL3Jl Z2NhY2hlLmggICAgIHwgIDMgKystDQo+IGdkYi9yZWdjYWNoZS5jICAgICAg ICAgICAgICAgfCAyNyArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCj4g Z2RiL3JlZ2NhY2hlLmggICAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysr KysrLS0tLS0tLS0tLS0NCj4gNSBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRp b25zKCspLCAyOCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9n ZGIvY29tbW9uL2NvbW1vbi1yZWdjYWNoZS5oIGIvZ2RiL2NvbW1vbi9jb21t b24tcmVnY2FjaGUuaA0KPiBpbmRleCAxODA4MGIyLi43OTczMjU0IDEwMDY0 NA0KPiAtLS0gYS9nZGIvY29tbW9uL2NvbW1vbi1yZWdjYWNoZS5oDQo+ICsr KyBiL2dkYi9jb21tb24vY29tbW9uLXJlZ2NhY2hlLmgNCj4gQEAgLTc5LDcg Kzc5LDggQEAgc3RydWN0IHJlZ19idWZmZXJfY29tbW9uDQo+ICAgLyogQ29t cGFyZSB0aGUgY29udGVudHMgb2YgdGhlIHJlZ2lzdGVyIHN0b3JlZCBpbiB0 aGUgcmVnY2FjaGUgKGlnbm9yaW5nIHRoZQ0KPiAgICAgIGZpcnN0IE9GRlNF VCBieXRlcykgdG8gdGhlIGNvbnRlbnRzIG9mIEJVRiAod2l0aG91dCBhbnkg b2Zmc2V0KS4gIFJldHVybnMNCj4gICAgICB0cnVlIGlmIHRoZSBzYW1lLiAg Ki8NCj4gLSAgdmlydHVhbCBib29sIHJhd19jb21wYXJlIChpbnQgcmVnbnVt LCBjb25zdCB2b2lkICpidWYsIGludCBvZmZzZXQpIGNvbnN0ID0gMDsNCj4g KyAgdmlydHVhbCBib29sIHJhd19jb21wYXJlIChpbnQgcmVnbnVtLCBjb25z dCB2b2lkICpidWYsDQo+ICsJCQkgICAgdW5zaWduZWQgaW50IG9mZnNldCkg Y29uc3QgPSAwOw0KPiB9Ow0KPiANCj4gI2VuZGlmIC8qIENPTU1PTl9SRUdD QUNIRV9IICovDQo+IGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL3JlZ2Nh Y2hlLmMgYi9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmMNCj4gaW5kZXggNzM1 Y2U3Yi4uODY0MzMzYiAxMDA2NDQNCj4gLS0tIGEvZ2RiL2dkYnNlcnZlci9y ZWdjYWNoZS5jDQo+ICsrKyBiL2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYw0K PiBAQCAtNTA2LDcgKzUwNiw3IEBAIHJlZ2NhY2hlOjpnZXRfcmVnaXN0ZXJf c3RhdHVzIChpbnQgcmVnbnVtKSBjb25zdA0KPiAvKiBTZWUgY29tbW9uL2Nv bW1vbi1yZWdjYWNoZS5oLiAgKi8NCj4gDQo+IGJvb2wNCj4gLXJlZ2NhY2hl OjpyYXdfY29tcGFyZSAoaW50IHJlZ251bSwgY29uc3Qgdm9pZCAqYnVmLCBp bnQgb2Zmc2V0KSBjb25zdA0KPiArcmVnY2FjaGU6OnJhd19jb21wYXJlIChp bnQgcmVnbnVtLCBjb25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBvZmZz ZXQpIGNvbnN0DQo+IHsNCj4gICBnZGJfYXNzZXJ0IChidWYgIT0gTlVMTCk7 DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9yZWdjYWNoZS5o IGIvZ2RiL2dkYnNlcnZlci9yZWdjYWNoZS5oDQo+IGluZGV4IGI0YzRjMjAu LjY5Y2JlZGEgMTAwNjQ0DQo+IC0tLSBhL2dkYi9nZGJzZXJ2ZXIvcmVnY2Fj aGUuaA0KPiArKysgYi9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmgNCj4gQEAg LTU2LDcgKzU2LDggQEAgc3RydWN0IHJlZ2NhY2hlIDogcHVibGljIHJlZ19i dWZmZXJfY29tbW9uDQo+ICAgdm9pZCByYXdfY29sbGVjdCAoaW50IHJlZ251 bSwgdm9pZCAqYnVmKSBjb25zdCBvdmVycmlkZTsNCj4gDQo+ICAgLyogU2Vl IGNvbW1vbi9jb21tb24tcmVnY2FjaGUuaC4gICovDQo+IC0gIGJvb2wgcmF3 X2NvbXBhcmUgKGludCByZWdudW0sIGNvbnN0IHZvaWQgKmJ1ZiwgaW50IG9m ZnNldCkgY29uc3Qgb3ZlcnJpZGU7DQo+ICsgIGJvb2wgcmF3X2NvbXBhcmUg KGludCByZWdudW0sIGNvbnN0IHZvaWQgKmJ1ZiwNCj4gKwkJICAgIHVuc2ln bmVkIGludCBvZmZzZXQpIGNvbnN0IG92ZXJyaWRlOw0KPiB9Ow0KPiANCj4g c3RydWN0IHJlZ2NhY2hlICppbml0X3JlZ2lzdGVyX2NhY2hlIChzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2Nh Y2hlLmMgYi9nZGIvcmVnY2FjaGUuYw0KPiBpbmRleCAyNTQzNmJiLi45MTlm OWExIDEwMDY0NA0KPiAtLS0gYS9nZGIvcmVnY2FjaGUuYw0KPiArKysgYi9n ZGIvcmVnY2FjaGUuYw0KPiBAQCAtNzc5LDE1ICs3NzksMTQgQEAgcmVnY2Fj aGU6OmNvb2tlZF93cml0ZSAoaW50IHJlZ251bSwgY29uc3QgZ2RiX2J5dGUg KmJ1ZikNCj4gICAgb3BlcmF0aW9uLiAgKi8NCj4gDQo+IGVudW0gcmVnaXN0 ZXJfc3RhdHVzDQo+IC1yZWFkYWJsZV9yZWdjYWNoZTo6cmVhZF9wYXJ0IChp bnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCB2b2lkICppbiwNCj4g LQkJCSAgICAgIGJvb2wgaXNfcmF3KQ0KPiArcmVhZGFibGVfcmVnY2FjaGU6 OnJlYWRfcGFydCAoaW50IHJlZ251bSwgdW5zaWduZWQgaW50IG9mZnNldCwg dW5zaWduZWQgaW50IGxlbiwNCj4gKwkJCSAgICAgIHZvaWQgKmluLCBib29s IGlzX3JhdykNCj4gew0KPiAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0g YXJjaCAoKTsNCj4gICBnZGJfYnl0ZSAqcmVnID0gKGdkYl9ieXRlICopIGFs bG9jYSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSk7DQo+IA0K PiAgIGdkYl9hc3NlcnQgKGluICE9IE5VTEwpOw0KPiAtICBnZGJfYXNzZXJ0 IChvZmZzZXQgPj0gMCAmJiBvZmZzZXQgPD0gbV9kZXNjci0+c2l6ZW9mX3Jl Z2lzdGVyW3JlZ251bV0pOw0KPiAtICBnZGJfYXNzZXJ0IChsZW4gPj0gMCAm JiBvZmZzZXQgKyBsZW4gPD0gbV9kZXNjci0+c2l6ZW9mX3JlZ2lzdGVyW3Jl Z251bV0pOw0KPiArICBnZGJfYXNzZXJ0IChvZmZzZXQgKyBsZW4gPD0gbV9k ZXNjci0+c2l6ZW9mX3JlZ2lzdGVyW3JlZ251bV0pOw0KPiAgIC8qIFNvbWV0 aGluZyB0byBkbz8gICovDQo+ICAgaWYgKG9mZnNldCArIGxlbiA9PSAwKQ0K PiAgICAgcmV0dXJuIFJFR19WQUxJRDsNCj4gQEAgLTgwOCwxNSArODA3LDE0 IEBAIHJlYWRhYmxlX3JlZ2NhY2hlOjpyZWFkX3BhcnQgKGludCByZWdudW0s IGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQgKmluLA0KPiB9DQo+IA0KPiBl bnVtIHJlZ2lzdGVyX3N0YXR1cw0KPiAtcmVnY2FjaGU6OndyaXRlX3BhcnQg KGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sDQo+IC0JCSAgICAg Y29uc3Qgdm9pZCAqb3V0LCBib29sIGlzX3JhdykNCj4gK3JlZ2NhY2hlOjp3 cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1 bnNpZ25lZCBpbnQgbGVuLA0KPiArCQkgICAgICBjb25zdCB2b2lkICpvdXQs IGJvb2wgaXNfcmF3KQ0KPiB7DQo+ICAgc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2ggPSBhcmNoICgpOw0KPiAgIGdkYl9ieXRlICpyZWcgPSAoZ2RiX2J5dGUg KikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pKTsN Cj4gDQo+ICAgZ2RiX2Fzc2VydCAob3V0ICE9IE5VTEwpOw0KPiAtICBnZGJf YXNzZXJ0IChvZmZzZXQgPj0gMCAmJiBvZmZzZXQgPD0gbV9kZXNjci0+c2l6 ZW9mX3JlZ2lzdGVyW3JlZ251bV0pOw0KPiAtICBnZGJfYXNzZXJ0IChsZW4g Pj0gMCAmJiBvZmZzZXQgKyBsZW4gPD0gbV9kZXNjci0+c2l6ZW9mX3JlZ2lz dGVyW3JlZ251bV0pOw0KPiArICBnZGJfYXNzZXJ0IChvZmZzZXQgKyBsZW4g PD0gbV9kZXNjci0+c2l6ZW9mX3JlZ2lzdGVyW3JlZ251bV0pOw0KPiAgIC8q IFNvbWV0aGluZyB0byBkbz8gICovDQo+ICAgaWYgKG9mZnNldCArIGxlbiA9 PSAwKQ0KPiAgICAgcmV0dXJuIFJFR19WQUxJRDsNCj4gQEAgLTg0NSw3ICs4 NDMsOCBAQCByZWdjYWNoZTo6d3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50 IG9mZnNldCwgaW50IGxlbiwNCj4gfQ0KPiANCj4gZW51bSByZWdpc3Rlcl9z dGF0dXMNCj4gLXJlYWRhYmxlX3JlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0IChp bnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVm KQ0KPiArcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCBy ZWdudW0sIHVuc2lnbmVkIGludCBvZmZzZXQsDQo+ICsJCQkJICB1bnNpZ25l ZCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVmKQ0KPiB7DQo+ICAgYXNzZXJ0X3Jl Z251bSAocmVnbnVtKTsNCj4gICByZXR1cm4gcmVhZF9wYXJ0IChyZWdudW0s IG9mZnNldCwgbGVuLCBidWYsIHRydWUpOw0KPiBAQCAtODU0LDcgKzg1Myw3 IEBAIHJlYWRhYmxlX3JlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0IChpbnQgcmVn bnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVmDQo+IC8q IFNlZSByZWdjYWNoZS5oLiAgKi8NCj4gDQo+IHZvaWQNCj4gLXJlZ2NhY2hl OjpyYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50 IGxlbiwNCj4gK3JlZ2NhY2hlOjpyYXdfd3JpdGVfcGFydCAoaW50IHJlZ251 bSwgdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGxlbiwNCj4g CQkJICBjb25zdCBnZGJfYnl0ZSAqYnVmKQ0KPiB7DQo+ICAgYXNzZXJ0X3Jl Z251bSAocmVnbnVtKTsNCj4gQEAgLTg2MiwxNSArODYxLDE1IEBAIHJlZ2Nh Y2hlOjpyYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwg aW50IGxlbiwNCj4gfQ0KPiANCj4gZW51bSByZWdpc3Rlcl9zdGF0dXMNCj4g LXJlYWRhYmxlX3JlZ2NhY2hlOjpjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVn bnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLA0KPiAtCQkJCSAgICAgZ2RiX2J5 dGUgKmJ1ZikNCj4gK3JlYWRhYmxlX3JlZ2NhY2hlOjpjb29rZWRfcmVhZF9w YXJ0IChpbnQgcmVnbnVtLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LA0KPiArCQkJ CSAgICAgdW5zaWduZWQgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikNCj4gew0K PiAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8IG1fZGVz Y3ItPm5yX2Nvb2tlZF9yZWdpc3RlcnMpOw0KPiAgIHJldHVybiByZWFkX3Bh cnQgKHJlZ251bSwgb2Zmc2V0LCBsZW4sIGJ1ZiwgZmFsc2UpOw0KPiB9DQo+ IA0KPiB2b2lkDQo+IC1yZWdjYWNoZTo6Y29va2VkX3dyaXRlX3BhcnQgKGlu dCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sDQo+ICtyZWdjYWNoZTo6 Y29va2VkX3dyaXRlX3BhcnQgKGludCByZWdudW0sIHVuc2lnbmVkIGludCBv ZmZzZXQsIHVuc2lnbmVkIGludCBsZW4sDQo+IAkJCSAgICAgY29uc3QgZ2Ri X2J5dGUgKmJ1ZikNCj4gew0KPiAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAw ICYmIHJlZ251bSA8IG1fZGVzY3ItPm5yX2Nvb2tlZF9yZWdpc3RlcnMpOw0K PiBAQCAtMTA3Nyw3ICsxMDc2LDcgQEAgcmVnY2FjaGU6OmNvbGxlY3RfcmVn c2V0IChjb25zdCBzdHJ1Y3QgcmVnc2V0ICpyZWdzZXQsDQo+IC8qIFNlZSBj b21tb24vY29tbW9uLXJlZ2NhY2hlLmguICAqLw0KPiANCj4gYm9vbA0KPiAt cmVnX2J1ZmZlcjo6cmF3X2NvbXBhcmUgKGludCByZWdudW0sIGNvbnN0IHZv aWQgKmJ1ZiwgaW50IG9mZnNldCkgY29uc3QNCj4gK3JlZ19idWZmZXI6OnJh d19jb21wYXJlIChpbnQgcmVnbnVtLCBjb25zdCB2b2lkICpidWYsIHVuc2ln bmVkIGludCBvZmZzZXQpIGNvbnN0DQo+IHsNCj4gICBnZGJfYXNzZXJ0IChi dWYgIT0gTlVMTCk7DQo+ICAgYXNzZXJ0X3JlZ251bSAocmVnbnVtKTsNCj4g ZGlmZiAtLWdpdCBhL2dkYi9yZWdjYWNoZS5oIGIvZ2RiL3JlZ2NhY2hlLmgN Cj4gaW5kZXggNzRhYzg1OC4uMGJmN2YxYiAxMDA2NDQNCj4gLS0tIGEvZ2Ri L3JlZ2NhY2hlLmgNCj4gKysrIGIvZ2RiL3JlZ2NhY2hlLmgNCj4gQEAgLTE4 OCw3ICsxODgsOCBAQCBwdWJsaWM6DQo+ICAgdmlydHVhbCB+cmVnX2J1ZmZl ciAoKSA9IGRlZmF1bHQ7DQo+IA0KPiAgIC8qIFNlZSBjb21tb24vY29tbW9u LXJlZ2NhY2hlLmguICAqLw0KPiAtICBib29sIHJhd19jb21wYXJlIChpbnQg cmVnbnVtLCBjb25zdCB2b2lkICpidWYsIGludCBvZmZzZXQpIGNvbnN0IG92 ZXJyaWRlOw0KPiArICBib29sIHJhd19jb21wYXJlIChpbnQgcmVnbnVtLCBj b25zdCB2b2lkICpidWYsDQo+ICsJCSAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0 KSBjb25zdCBvdmVycmlkZTsNCj4gDQo+IHByb3RlY3RlZDoNCj4gICAvKiBB c3NlcnQgb24gdGhlIHJhbmdlIG9mIFJFR05VTS4gICovDQo+IEBAIC0yMzIs OCArMjMzLDggQEAgcHVibGljOg0KPiAgIGVudW0gcmVnaXN0ZXJfc3RhdHVz IHJhd19yZWFkIChpbnQgcmVnbnVtLCBUICp2YWwpOw0KPiANCj4gICAvKiBQ YXJ0aWFsIHRyYW5zZmVyIG9mIHJhdyByZWdpc3RlcnMuICBSZXR1cm4gdGhl IHN0YXR1cyBvZiB0aGUgcmVnaXN0ZXIuICAqLw0KPiAtICBlbnVtIHJlZ2lz dGVyX3N0YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zm c2V0LCBpbnQgbGVuLA0KPiAtCQkJCSAgICAgIGdkYl9ieXRlICpidWYpOw0K PiArICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQg cmVnbnVtLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LA0KPiArCQkJCSAgICAgIHVu c2lnbmVkIGludCBsZW4sIGdkYl9ieXRlICpidWYpOw0KPiANCj4gICAvKiBN YWtlIGNlcnRhaW4gdGhhdCB0aGUgcmVnaXN0ZXIgUkVHTlVNIGlzIHVwLXRv LWRhdGUuICAqLw0KPiAgIHZpcnR1YWwgdm9pZCByYXdfdXBkYXRlIChpbnQg cmVnbnVtKSA9IDA7DQo+IEBAIC0yNDUsMTYgKzI0NiwxNiBAQCBwdWJsaWM6 DQo+ICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgY29va2VkX3JlYWQgKGludCBy ZWdudW0sIFQgKnZhbCk7DQo+IA0KPiAgIC8qIFBhcnRpYWwgdHJhbnNmZXIg b2YgYSBjb29rZWQgcmVnaXN0ZXIuICAqLw0KPiAtICBlbnVtIHJlZ2lzdGVy X3N0YXR1cyBjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zm c2V0LCBpbnQgbGVuLA0KPiAtCQkJCQkgZ2RiX2J5dGUgKmJ1Zik7DQo+ICsg IGVudW0gcmVnaXN0ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQgKGludCBy ZWdudW0sIHVuc2lnbmVkIGludCBvZmZzZXQsDQo+ICsJCQkJCSB1bnNpZ25l ZCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVmKTsNCj4gDQo+ICAgLyogUmVhZCBy ZWdpc3RlciBSRUdOVU0gZnJvbSB0aGUgcmVnY2FjaGUgYW5kIHJldHVybiBh IG5ldyB2YWx1ZS4gIFRoaXMNCj4gICAgICB3aWxsIGNhbGwgbWFya192YWx1 ZV9ieXRlc191bmF2YWlsYWJsZSBhcyBhcHByb3ByaWF0ZS4gICovDQo+ICAg c3RydWN0IHZhbHVlICpjb29rZWRfcmVhZF92YWx1ZSAoaW50IHJlZ251bSk7 DQo+IA0KPiBwcm90ZWN0ZWQ6DQo+IC0gIGVudW0gcmVnaXN0ZXJfc3RhdHVz IHJlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwg dm9pZCAqaW4sDQo+IC0JCQkJICBib29sIGlzX3Jhdyk7DQo+ICsgIGVudW0g cmVnaXN0ZXJfc3RhdHVzIHJlYWRfcGFydCAoaW50IHJlZ251bSwgdW5zaWdu ZWQgaW50IG9mZnNldCwNCj4gKwkJCQkgIHVuc2lnbmVkIGludCBsZW4sIHZv aWQgKmluLCBib29sIGlzX3Jhdyk7DQo+IH07DQo+IA0KPiAvKiBCdWZmZXIg b2YgcmVnaXN0ZXJzLCBjYW4gYmUgcmVhZCBhbmQgd3JpdHRlbi4gICovDQo+ IEBAIC0zMTEsMTEgKzMxMiwxMiBAQCBwdWJsaWM6DQo+IA0KPiAgIC8qIFBh cnRpYWwgdHJhbnNmZXIgb2YgcmF3IHJlZ2lzdGVycy4gIFBlcmZvcm0gcmVh ZCwgbW9kaWZ5LCB3cml0ZSBzdHlsZQ0KPiAgICAgIG9wZXJhdGlvbnMuICAq Lw0KPiAtICB2b2lkIHJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQg b2Zmc2V0LCBpbnQgbGVuLCBjb25zdCBnZGJfYnl0ZSAqYnVmKTsNCj4gKyAg dm9pZCByYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgdW5zaWduZWQgaW50 IG9mZnNldCwgdW5zaWduZWQgaW50IGxlbiwNCj4gKwkJICAgICAgIGNvbnN0 IGdkYl9ieXRlICpidWYpOw0KPiANCj4gICAvKiBQYXJ0aWFsIHRyYW5zZmVy IG9mIGEgY29va2VkIHJlZ2lzdGVyLiAgUGVyZm9ybSByZWFkLCBtb2RpZnks IHdyaXRlIHN0eWxlDQo+ICAgICAgb3BlcmF0aW9ucy4gICovDQo+IC0gIHZv aWQgY29va2VkX3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQs IGludCBsZW4sDQo+ICsgIHZvaWQgY29va2VkX3dyaXRlX3BhcnQgKGludCBy ZWdudW0sIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBsZW4s DQo+IAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7DQo+IA0KPiAgIHZvaWQg c3VwcGx5X3JlZ3NldCAoY29uc3Qgc3RydWN0IHJlZ3NldCAqcmVnc2V0LA0K PiBAQCAtMzU1LDggKzM1Nyw5IEBAIHByaXZhdGU6DQo+IAkJCWludCByZWdu dW0sIGNvbnN0IHZvaWQgKmluX2J1ZiwNCj4gCQkJdm9pZCAqb3V0X2J1Ziwg c2l6ZV90IHNpemUpIGNvbnN0Ow0KPiANCj4gLSAgZW51bSByZWdpc3Rlcl9z dGF0dXMgd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50 IGxlbiwNCj4gLQkJCQkgICBjb25zdCB2b2lkICpvdXQsIGJvb2wgaXNfcmF3 KTsNCj4gKyAgZW51bSByZWdpc3Rlcl9zdGF0dXMgd3JpdGVfcGFydCAoaW50 IHJlZ251bSwgdW5zaWduZWQgaW50IG9mZnNldCwNCj4gKwkJCQkgICB1bnNp Z25lZCBpbnQgbGVuLCBjb25zdCB2b2lkICpvdXQsDQo+ICsJCQkJICAgYm9v bCBpc19yYXcpOw0KPiANCj4gDQo+ICAgLyogVGhlIGFkZHJlc3Mgc3BhY2Ug b2YgdGhpcyByZWdpc3RlciBjYWNoZSAoZm9yIHJlZ2lzdGVycyB3aGVyZSBp dA0KPiAtLSANCj4gMi43LjQNCj4gDQoNCg==