From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 94360 invoked by alias); 21 Jan 2020 11:32:41 -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 94352 invoked by uid 89); 21 Jan 2020 11:32:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 spammy= X-HELO: EUR02-HE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr10044.outbound.protection.outlook.com (HELO EUR02-HE1-obe.outbound.protection.outlook.com) (40.107.1.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Jan 2020 11:32:30 +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=2GIcv609d6wbCrUvDF7iVvD7u/BMzIXoK09A8XgT1NY=; b=95mbGf1XDGoW/lZ1ELyDoZT/gupRP1ermgGH/8Z9WfeZqzO+o/656iWoa2u8QXigpsQQMGm/W8NV4Pb6L9RX6ciGVRtGECv2tqhR/BJ7DU2fRl4CsYpCn2i7kzMJwz2RFZOCppbhgbEB14HjtgbTC2XtyYu5wn6XyBbVGqYf69w= Received: from VI1PR08CA0107.eurprd08.prod.outlook.com (2603:10a6:800:d3::33) by AM0PR08MB4306.eurprd08.prod.outlook.com (2603:10a6:208:139::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.20; Tue, 21 Jan 2020 11:32:26 +0000 Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::202) by VI1PR08CA0107.outlook.office365.com (2603:10a6:800:d3::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.20 via Frontend Transport; Tue, 21 Jan 2020 11:32:26 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.23 via Frontend Transport; Tue, 21 Jan 2020 11:32:26 +0000 Received: ("Tessian outbound ca1df68f3668:v40"); Tue, 21 Jan 2020 11:32:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: dbdcdb4ee20e4d8f X-CR-MTA-TID: 64aa7808 Received: from 636bfa7c3838.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A8D6491A-A430-4B9A-99E7-46DAA874BCD0.1; Tue, 21 Jan 2020 11:32:20 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 636bfa7c3838.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 21 Jan 2020 11:32:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LzXmQ1Mo6p1SQfvo0tG5XnnRqfWyIIMM+F23g2iaez7Arhd3SKYwtgsE/9RC4AXCVIArSJu08zZRZIiRmvdOxBvTtdo4o+4Q53tVfbpWiueU2F/oGdtbNwKsNtrD2NSRCPDIy0BXjE5rkcKp0iDY1JeZfyeDGMK+9FCSsO2lDfm3q0lsRCkZKgezzzN3gx5M4FvkppVvKF7wnxjt6sX3G1CFvRSnBcH0AFW87Vtciiahc7Xc7bbQxSQPk8Z4+/3aYfKNeFgXe8iGQgYyp0k50FRQ4rsLUH546omhTwH+kC10GPQMM6djJ2po6eGklmR8PSv84eaL9uvn4sIoy/QEtA== 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=2GIcv609d6wbCrUvDF7iVvD7u/BMzIXoK09A8XgT1NY=; b=gQEZG47oHhBJb/kB3Z6Z5tzDySy1JP6WE/gBaBknL1HRS9oyA9uL8InfzOvL/vxPMhK0xVZtbNYFioJI1uS9vTmi4lmTUPcUEg1L63bJBixlnudwodS51QOxZHuvR5ohTh7S+nlbfHE8PIZYpzeAg17w8vAjjEWQypCgmdn/65s1+b9bsYBKgwwTi6Nk3TyT/YvJ6Ltc95WvvpY0z/xJgzPctNHs6BtrqjyoSImC8GgOGJs9e9seAUrPK/8HCR73hU729QjgbHHf2IbqQrrWuAJ20fyoAjh7rwrajhucc/PjzP9m15kvXQqc/xAjJgADNK0Z0s07NeN7kvSqstPsbg== 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=2GIcv609d6wbCrUvDF7iVvD7u/BMzIXoK09A8XgT1NY=; b=95mbGf1XDGoW/lZ1ELyDoZT/gupRP1ermgGH/8Z9WfeZqzO+o/656iWoa2u8QXigpsQQMGm/W8NV4Pb6L9RX6ciGVRtGECv2tqhR/BJ7DU2fRl4CsYpCn2i7kzMJwz2RFZOCppbhgbEB14HjtgbTC2XtyYu5wn6XyBbVGqYf69w= Received: from AM0PR08MB5330.eurprd08.prod.outlook.com (52.132.212.151) by AM0PR08MB5236.eurprd08.prod.outlook.com (20.179.39.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.19; Tue, 21 Jan 2020 11:32:18 +0000 Received: from AM0PR08MB5330.eurprd08.prod.outlook.com ([fe80::89cf:a33e:c415:d30]) by AM0PR08MB5330.eurprd08.prod.outlook.com ([fe80::89cf:a33e:c415:d30%6]) with mapi id 15.20.2644.027; Tue, 21 Jan 2020 11:32:18 +0000 From: Alan Hayward To: Luis Machado CC: "gdb-patches\\@sourceware.org" , Simon Marchi , "tankut.baris.aktemur@intel.com" , nd Subject: Re: [PATCH 1/2,v3] [AArch64] Recognize more program breakpoint patterns Date: Tue, 21 Jan 2020 11:41:00 -0000 Message-ID: <6D31397B-CC16-4ADA-BAC1-085718BC84E4@arm.com> References: <20200115115137.17771-1-luis.machado@linaro.org> <20200115115137.17771-2-luis.machado@linaro.org> In-Reply-To: <20200115115137.17771-2-luis.machado@linaro.org> Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:4303;OLM:4303; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(346002)(396003)(376002)(136003)(366004)(189003)(199004)(54906003)(86362001)(316002)(186003)(2906002)(2616005)(30864003)(5660300002)(91956017)(66946007)(6512007)(66556008)(6486002)(66476007)(66446008)(76116006)(64756008)(8936002)(81166006)(8676002)(81156014)(6916009)(26005)(33656002)(36756003)(55236004)(53546011)(71200400001)(4326008)(6506007)(478600001)(142933001)(579004);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR08MB5236;H:AM0PR08MB5330.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ZsDzJ4wULsqQ6Z+ldVNYSoT/4lpJOq6+Xx2NZGRv3fC7/Ta8dYSDfI7zTPLDBusgtwrY4K+XD7xOVK+IhZ47v/QCHyngp7j8zU0SBFL5fBjavT44FTUB1ey+qRIfjmu0NJEFoQwa1ldzQ5hrtXXS079Q6OBMrsviA9tZC+6EG7dIqV+a8qWiLpN96qirKuZ9F3U2v5eLmcmC5P9UrDRw0Iq35UEk4M0L4qLerWQJ/KBg72qBKLJsc7LAxzoOmMW9qZ3zGiuRFoPpGKJVun1flbCLGgcbzncx0O3/aElkTBZqQvwknkA1YCzXG5u5xtWm8l24oJrfQ+DffbVUeXs2KoSWoBFxplF0ZAXYaf6AtTEG9KEKoEZhTCtD0OsgMAkfquEQPEC11ZL8IbI4PpfeFfqPh0ZUkL0spjf8EQyhzqbk2+yJRW5CuvTOGyAyMY5PmOyWWRSfO0uGXQu3+yiZMno8eIzAXMqtK2E3kXRL+1Y3LWRzWpYdHQkZPeZ68aOW x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Return-Path: Alan.Hayward@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 82b8cf60-c608-4210-fb63-08d79e659285 X-IsSubscribed: yes X-SW-Source: 2020-01/txt/msg00629.txt.bz2 SeKAmW0gaGFwcHkgd2l0aCB0aGlzIGZyb20gQUFyY2g2NCBzaWRlLg0KDQpB bGFuLg0KDQo+IE9uIDE1IEphbiAyMDIwLCBhdCAxMTo1MSwgTHVpcyBNYWNo YWRvIDxsdWlzLm1hY2hhZG9AbGluYXJvLm9yZz4gd3JvdGU6DQo+IA0KPiBO ZXcgaW4gdjM6DQo+IA0KPiAtIENvZGUgY2xlYW51cHMgYmFzZWQgb24gcmV2 aWV3cy4NCj4gDQo+IE5ldyBpbiB2MjoNCj4gDQo+IC0gRml4ZWQgbWlzYyBw cm9ibGVtcyBiYXNlZCBvbiByZXZpZXdzLg0KPiAtIFN3aXRjaGVkIHRvIHVz aW5nIGdkYmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcCBhcyBvcHBv c2VkIHRvDQo+IGdkYmFyY2hfaW5zbl9pc19icmVha3BvaW50Lg0KPiAtIEZp eGVkIG1hdGNoaW5nIG9mIGJyayBpbnN0cnVjdGlvbnMuIFByZXZpb3VzbHkg dGhlIG1hc2sgd2FzIGluY29ycmVjdCwgd2hpY2gNCj4gd2FzIHNob3dpbmcg dXAgYXMgYSBmZXcgZmFpbHVyZXMgaW4gdGhlIHRlc3RzdWl0ZS4gTm93IGl0 IGlzIGNsZWFuLg0KPiAtIE5ldyB0ZXN0Y2FzZSAoc2VwYXJhdGUgcGF0Y2gp Lg0KPiAtIE1vdmVkIHByb2dyYW1fYnJlYWtwb2ludF9oZXJlICgpIHRvIGFy Y2gtdXRpbHMuYyBhbmQgbWFkZSBpdCB0aGUgZGVmYXVsdA0KPiBpbXBsZW1l bnRhdGlvbiBvZiBnZGJhcmNoX3Byb2dyYW1fYnJlYWtwb2ludF9oZXJlX3Au DQo+IA0KPiAtLQ0KPiANCj4gSXQgd2FzIHJlcG9ydGVkIHRvIG1lIHRoYXQg cHJvZ3JhbSBicmVha3BvaW50cyAocGVybWFuZW50IG9uZXMgaW5zZXJ0ZWQg aW50bw0KPiB0aGUgY29kZSBpdHNlbGYpIG90aGVyIHRoYW4gdGhlIG9uZSBH REIgdXNlcyBmb3IgQUFyY2g2NCAoMHhkNDIwMDAwMCkgZG8gbm90DQo+IGdl bmVyYXRlIHZpc2libGUgc3RvcHMgd2hlbiBjb250aW51aW5nLCBhbmQgR0RC IHdpbGwgY29udGludWUgc3Bpbm5pbmcNCj4gaW5maW5pdGVseS4NCj4gDQo+ IFRoaXMgaGFwcGVucyBiZWNhdXNlIEdEQiwgdXBvbiBoaXR0aW5nIG9uZSBv ZiB0aG9zZSBwcm9ncmFtIGJyZWFrcG9pbnRzLCB0aGlua3MNCj4gdGhlIFNJ R1RSQVAgY2FtZSBmcm9tIGEgZGVsYXllZCBicmVha3BvaW50IGhpdC4uLg0K PiANCj4gKGdkYikgeC9pICRwYw0KPiA9PiAweDQwMDVjMCA8cHJvYmxlbV9m dW5jdGlvbj46IGJyayAgICAgIzB4OTBmDQo+IChnZGIpIGMNCj4gQ29udGlu dWluZy4NCj4gaW5mcnVuOiBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQg KHByb2Nlc3MgMTQxOTgpDQo+IGluZnJ1bjogcHJvY2VlZCAoYWRkcj0weGZm ZmZmZmZmZmZmZmZmZmYsIHNpZ25hbD1HREJfU0lHTkFMX0RFRkFVTFQpDQo+ IGluZnJ1bjogcHJvY2VlZDogcmVzdW1pbmcgcHJvY2VzcyAxNDE5OA0KPiBp bmZydW46IHJlc3VtZSAoc3RlcD0wLCBzaWduYWw9R0RCX1NJR05BTF8wKSwg dHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbcHJvY2VzcyAxNDE5 OF0gYXQgMHg0MDA1YzANCj4gaW5mcnVuOiBpbmZydW5fYXN5bmMoMSkNCj4g aW5mcnVuOiBwcmVwYXJlX3RvX3dhaXQNCj4gaW5mcnVuOiB0YXJnZXRfd2Fp dCAoLTEuMC4wLCBzdGF0dXMpID0NCj4gaW5mcnVuOiAgIDE0MTk4LjE0MTk4 LjAgW3Byb2Nlc3MgMTQxOThdLA0KPiBpbmZydW46ICAgc3RhdHVzLT5raW5k ID0gc3RvcHBlZCwgc2lnbmFsID0gR0RCX1NJR05BTF9UUkFQDQo+IGluZnJ1 bjogaGFuZGxlX2luZmVyaW9yX2V2ZW50IHN0YXR1cy0+a2luZCA9IHN0b3Bw ZWQsIHNpZ25hbCA9IEdEQl9TSUdOQUxfVFJBUA0KPiBpbmZydW46IHN0b3Bf cGMgPSAweDQwMDVjMA0KPiBpbmZydW46IGRlbGF5ZWQgc29mdHdhcmUgYnJl YWtwb2ludCB0cmFwLCBpZ25vcmluZw0KPiBpbmZydW46IG5vIHN0ZXBwaW5n LCBjb250aW51ZQ0KPiBpbmZydW46IHJlc3VtZSAoc3RlcD0wLCBzaWduYWw9 R0RCX1NJR05BTF8wKSwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVh ZCBbcHJvY2VzcyAxNDE5OF0gYXQgMHg0MDA1YzANCj4gaW5mcnVuOiBwcmVw YXJlX3RvX3dhaXQNCj4gaW5mcnVuOiB0YXJnZXRfd2FpdCAoLTEuMC4wLCBz dGF0dXMpID0NCj4gaW5mcnVuOiAgIDE0MTk4LjE0MTk4LjAgW3Byb2Nlc3Mg MTQxOThdLA0KPiBpbmZydW46ICAgc3RhdHVzLT5raW5kID0gc3RvcHBlZCwg c2lnbmFsID0gR0RCX1NJR05BTF9UUkFQDQo+IGluZnJ1bjogaGFuZGxlX2lu ZmVyaW9yX2V2ZW50IHN0YXR1cy0+a2luZCA9IHN0b3BwZWQsIHNpZ25hbCA9 IEdEQl9TSUdOQUxfVFJBUA0KPiBpbmZydW46IHN0b3BfcGMgPSAweDQwMDVj MA0KPiBpbmZydW46IGRlbGF5ZWQgc29mdHdhcmUgYnJlYWtwb2ludCB0cmFw LCBpZ25vcmluZw0KPiBpbmZydW46IG5vIHN0ZXBwaW5nLCBjb250aW51ZQ0K PiBpbmZydW46IHJlc3VtZSAoc3RlcD0wLCBzaWduYWw9R0RCX1NJR05BTF8w KSwgdHJhcF9leHBlY3RlZD0wLCBjdXJyZW50IHRocmVhZCBbcHJvY2VzcyAx NDE5OF0gYXQgMHg0MDA1YzANCj4gaW5mcnVuOiBwcmVwYXJlX3RvX3dhaXQN Cj4gaW5mcnVuOiB0YXJnZXRfd2FpdCAoLTEuMC4wLCBzdGF0dXMpID0NCj4g aW5mcnVuOiAgIDE0MTk4LjE0MTk4LjAgW3Byb2Nlc3MgMTQxOThdLA0KPiBp bmZydW46ICAgc3RhdHVzLT5raW5kID0gc3RvcHBlZCwgc2lnbmFsID0gR0RC X1NJR05BTF9UUkFQDQo+IGluZnJ1bjogaGFuZGxlX2luZmVyaW9yX2V2ZW50 IHN0YXR1cy0+a2luZCA9IHN0b3BwZWQsIHNpZ25hbCA9IEdEQl9TSUdOQUxf VFJBUA0KPiBpbmZydW46IHN0b3BfcGMgPSAweDQwMDVjMA0KPiBpbmZydW46 IGRlbGF5ZWQgc29mdHdhcmUgYnJlYWtwb2ludCB0cmFwLCBpZ25vcmluZw0K PiBpbmZydW46IG5vIHN0ZXBwaW5nLCBjb250aW51ZQ0KPiBpbmZydW46IHJl c3VtZSAoc3RlcD0wLCBzaWduYWw9R0RCX1NJR05BTF8wKSwgdHJhcF9leHBl Y3RlZD0wLCBjdXJyZW50IHRocmVhZCBbcHJvY2VzcyAxNDE5OF0gYXQgMHg0 MDA1YzANCj4gaW5mcnVuOiBwcmVwYXJlX3RvX3dhaXQNCj4gaW5mcnVuOiB0 YXJnZXRfd2FpdCAoLTEuMC4wLCBzdGF0dXMpID0NCj4gaW5mcnVuOiAgIDE0 MTk4LjE0MTk4LjAgW3Byb2Nlc3MgMTQxOThdLA0KPiBpbmZydW46ICAgc3Rh dHVzLT5raW5kID0gc3RvcHBlZCwgc2lnbmFsID0gR0RCX1NJR05BTF9UUkFQ DQo+IGluZnJ1bjogaGFuZGxlX2luZmVyaW9yX2V2ZW50IHN0YXR1cy0+a2lu ZCA9IHN0b3BwZWQsIHNpZ25hbCA9IEdEQl9TSUdOQUxfVFJBUA0KPiBpbmZy dW46IHN0b3BfcGMgPSAweDQwMDVjMA0KPiBpbmZydW46IGRlbGF5ZWQgc29m dHdhcmUgYnJlYWtwb2ludCB0cmFwLCBpZ25vcmluZw0KPiBpbmZydW46IG5v IHN0ZXBwaW5nLCBjb250aW51ZQ0KPiBpbmZydW46IHJlc3VtZSAoc3RlcD0w LCBzaWduYWw9R0RCX1NJR05BTF8wKSwgdHJhcF9leHBlY3RlZD0wLCBjdXJy ZW50IHRocmVhZCBbcHJvY2VzcyAxNDE5OF0gYXQgMHg0MDA1YzANCj4gaW5m cnVuOiBwcmVwYXJlX3RvX3dhaXQNCj4gaW5mcnVuOiB0YXJnZXRfd2FpdCAo LTEuMC4wLCBzdGF0dXMpID0NCj4gaW5mcnVuOiAgIDE0MTk4LjE0MTk4LjAg W3Byb2Nlc3MgMTQxOThdLA0KPiBpbmZydW46ICAgc3RhdHVzLT5raW5kID0g c3RvcHBlZCwgc2lnbmFsID0gR0RCX1NJR05BTF9UUkFQDQo+IC4uLg0KPiAN Cj4gLi4uIHdoaWNoIGlzIG5vdCB0aGUgY2FzZS4NCj4gDQo+IElmIHRoZSBw cm9ncmFtIGJyZWFrcG9pbnQgaXMgb25lIEdEQiByZWNvZ25pemVzLCB0aGVu IGl0IHdpbGwgc3RvcCB3aGVuIGl0DQo+IGhpdHMgaXQuDQo+IA0KPiAoZ2Ri KSB4L2kgJHBjDQo+ID0+IDB4NDAwNWMwIDxwcm9ibGVtX2Z1bmN0aW9uPjog YnJrICAgICAjMHgwDQo+IChnZGIpIGMNCj4gQ29udGludWluZy4NCj4gaW5m cnVuOiBjbGVhcl9wcm9jZWVkX3N0YXR1c190aHJlYWQgKHByb2Nlc3MgMTQx OTMpDQo+IGluZnJ1bjogcHJvY2VlZCAoYWRkcj0weGZmZmZmZmZmZmZmZmZm ZmYsIHNpZ25hbD1HREJfU0lHTkFMX0RFRkFVTFQpDQo+IGluZnJ1bjogcHJv Y2VlZDogcmVzdW1pbmcgcHJvY2VzcyAxNDE5Mw0KPiBpbmZydW46IHJlc3Vt ZSAoc3RlcD0wLCBzaWduYWw9R0RCX1NJR05BTF8wKSwgdHJhcF9leHBlY3Rl ZD0wLCBjdXJyZW50IHRocmVhZCBbcHJvY2VzcyAxNDE5M10gYXQgMHg0MDA1 YzANCj4gaW5mcnVuOiBpbmZydW5fYXN5bmMoMSkNCj4gaW5mcnVuOiBwcmVw YXJlX3RvX3dhaXQNCj4gaW5mcnVuOiB0YXJnZXRfd2FpdCAoLTEuMC4wLCBz dGF0dXMpID0NCj4gaW5mcnVuOiAgIDE0MTkzLjE0MTkzLjAgW3Byb2Nlc3Mg MTQxOTNdLA0KPiBpbmZydW46ICAgc3RhdHVzLT5raW5kID0gc3RvcHBlZCwg c2lnbmFsID0gR0RCX1NJR05BTF9UUkFQDQo+IGluZnJ1bjogaGFuZGxlX2lu ZmVyaW9yX2V2ZW50IHN0YXR1cy0+a2luZCA9IHN0b3BwZWQsIHNpZ25hbCA9 IEdEQl9TSUdOQUxfVFJBUA0KPiBpbmZydW46IHN0b3BfcGMgPSAweDQwMDVj MA0KPiBpbmZydW46IHJhbmRvbSBzaWduYWwgKEdEQl9TSUdOQUxfVFJBUCkN Cj4gaW5mcnVuOiBzdG9wX3dhaXRpbmcNCj4gaW5mcnVuOiBzdG9wX2FsbF90 aHJlYWRzDQo+IGluZnJ1bjogc3RvcF9hbGxfdGhyZWFkcywgcGFzcz0wLCBp dGVyYXRpb25zPTANCj4gaW5mcnVuOiAgIHByb2Nlc3MgMTQxOTMgbm90IGV4 ZWN1dGluZw0KPiBpbmZydW46IHN0b3BfYWxsX3RocmVhZHMsIHBhc3M9MSwg aXRlcmF0aW9ucz0xDQo+IGluZnJ1bjogICBwcm9jZXNzIDE0MTkzIG5vdCBl eGVjdXRpbmcNCj4gaW5mcnVuOiBzdG9wX2FsbF90aHJlYWRzIGRvbmUNCj4g DQo+IFByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1RSQVAsIFRyYWNlL2Jy ZWFrcG9pbnQgdHJhcC4NCj4gcHJvYmxlbV9mdW5jdGlvbiAoKSBhdCBicmtf MC5jOjcNCj4gNyAgICAgICAgYXNtKCJicmsgJTBcblx0IiA6OiJuIigweDAp KTsNCj4gaW5mcnVuOiBpbmZydW5fYXN5bmMoMCkNCj4gDQo+IE90aGVyd2lz ZSBHREIgd2lsbCBrZWVwIHRyeWluZyB0byByZXN1bWUgdGhlIGluZmVyaW9y IGFuZCB3aWxsIGtlZXANCj4gc2VlaW5nIHRoZSBTSUdUUkFQJ3MsIHdpdGhv dXQgc3RvcHBpbmcuDQo+IA0KPiBUbyB0aGUgdXNlciBpdCBhcHBlYXJzIEdE QiBoYXMgZ29uZSBpbnRvIGFuIGluZmluaXRlIGxvb3AsIGludGVycnVwdGli bGUgb25seQ0KPiBieSBDdHJsLUMuDQo+IA0KPiBBbHNvLCB3aW5kYmcgc2Vl bXMgdG8gdXNlIGEgZGlmZmVyZW50IHZhcmlhdGlvbiBvZiBBQXJjaDY0IGJy ZWFrcG9pbnQgY29tcGFyZWQNCj4gdG8gR0RCLiBUaGlzIGNhdXNlcyBwcm9i bGVtcyB3aGVuIGRlYnVnZ2luZyBXaW5kb3dzIG9uIEFSTSBiaW5hcmllcywg d2hlbg0KPiBwcm9ncmFtIGJyZWFrcG9pbnRzIGFyZSBiZWluZyB1c2VkLg0K PiANCj4gVGhlIHByb3Bvc2VkIHBhdGNoIGNyZWF0ZXMgYSBuZXcgZ2RiYXJj aCBtZXRob2QgKGdkYmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcCkN Cj4gdGhhdCB0ZWxscyBHREIgd2hldGhlciB0aGUgdW5kZXJseWluZyBpbnN0 cnVjdGlvbiBpcyBhIGJyZWFrcG9pbnQgaW5zdHJ1Y3Rpb24NCj4gb3Igbm90 Lg0KPiANCj4gVGhpcyBpcyBtb3JlIGdlbmVyYWwgdGhhbiBvbmx5IGNoZWNr aW5nIGZvciB0aGUgaW5zdHJ1Y3Rpb24gR0RCIHVzZXMgYXMNCj4gYnJlYWtw b2ludC4NCj4gDQo+IFRoZSBleGlzdGluZyBsb2dpYyBpcyBzdGlsbCBwcmVz ZXJ2ZWQgZm9yIHRhcmdldHMgdGhhdCBkbyBub3QgaW1wbGVtZW50IHRoaXMN Cj4gbmV3IGdkYmFyY2ggbWV0aG9kLg0KPiANCj4gVGhlIGVuZCByZXN1bHQg aXMgbGlrZSBzbzoNCj4gDQo+IChnZGIpIHgvaSAkcGMNCj4gPT4gMHg0MDA1 YzAgPHByb2JsZW1fZnVuY3Rpb24+OiBicmsgICAgICMweDkwZg0KPiAoZ2Ri KSBjDQo+IENvbnRpbnVpbmcuDQo+IGluZnJ1bjogY2xlYXJfcHJvY2VlZF9z dGF0dXNfdGhyZWFkIChwcm9jZXNzIDE2NDE3KQ0KPiBpbmZydW46IHByb2Nl ZWQgKGFkZHI9MHhmZmZmZmZmZmZmZmZmZmZmLCBzaWduYWw9R0RCX1NJR05B TF9ERUZBVUxUKQ0KPiBpbmZydW46IHByb2NlZWQ6IHJlc3VtaW5nIHByb2Nl c3MgMTY0MTcNCj4gaW5mcnVuOiByZXN1bWUgKHN0ZXA9MCwgc2lnbmFsPUdE Ql9TSUdOQUxfMCksIHRyYXBfZXhwZWN0ZWQ9MCwgY3VycmVudCB0aHJlYWQg W3Byb2Nlc3MgMTY0MTddIGF0IDB4NDAwNWMwDQo+IGluZnJ1bjogaW5mcnVu X2FzeW5jKDEpDQo+IGluZnJ1bjogcHJlcGFyZV90b193YWl0DQo+IGluZnJ1 bjogdGFyZ2V0X3dhaXQgKC0xLjAuMCwgc3RhdHVzKSA9DQo+IGluZnJ1bjog ICAxNjQxNy4xNjQxNy4wIFtwcm9jZXNzIDE2NDE3XSwNCj4gaW5mcnVuOiAg IHN0YXR1cy0+a2luZCA9IHN0b3BwZWQsIHNpZ25hbCA9IEdEQl9TSUdOQUxf VFJBUA0KPiBpbmZydW46IGhhbmRsZV9pbmZlcmlvcl9ldmVudCBzdGF0dXMt PmtpbmQgPSBzdG9wcGVkLCBzaWduYWwgPSBHREJfU0lHTkFMX1RSQVANCj4g aW5mcnVuOiBzdG9wX3BjID0gMHg0MDA1YzANCj4gaW5mcnVuOiByYW5kb20g c2lnbmFsIChHREJfU0lHTkFMX1RSQVApDQo+IGluZnJ1bjogc3RvcF93YWl0 aW5nDQo+IGluZnJ1bjogc3RvcF9hbGxfdGhyZWFkcw0KPiBpbmZydW46IHN0 b3BfYWxsX3RocmVhZHMsIHBhc3M9MCwgaXRlcmF0aW9ucz0wDQo+IGluZnJ1 bjogICBwcm9jZXNzIDE2NDE3IG5vdCBleGVjdXRpbmcNCj4gaW5mcnVuOiBz dG9wX2FsbF90aHJlYWRzLCBwYXNzPTEsIGl0ZXJhdGlvbnM9MQ0KPiBpbmZy dW46ICAgcHJvY2VzcyAxNjQxNyBub3QgZXhlY3V0aW5nDQo+IGluZnJ1bjog c3RvcF9hbGxfdGhyZWFkcyBkb25lDQo+IA0KPiBQcm9ncmFtIHJlY2VpdmVk IHNpZ25hbCBTSUdUUkFQLCBUcmFjZS9icmVha3BvaW50IHRyYXAuDQo+IHBy b2JsZW1fZnVuY3Rpb24gKCkgYXQgYnJrLmM6Nw0KPiA3ICAgICAgICBhc20o ImJyayAlMFxuXHQiIDo6Im4iKDB4OTAwICsgMHhmKSk7DQo+IGluZnJ1bjog aW5mcnVuX2FzeW5jKDApDQo+IA0KPiBnZGIvQ2hhbmdlTG9nOg0KPiANCj4g MjAyMC0wMS0xNSAgTHVpcyBNYWNoYWRvICA8bHVpcy5tYWNoYWRvQGxpbmFy by5vcmc+DQo+IA0KPiAJKiBhYXJjaDY0LXRkZXAuYyAoQlJLX0lOU05fTUFT Syk6IERlZmluZSB0byAweGZmZTAwMDFmLg0KPiAJKEJSS19JTlNOX01BU0sp OiBEZWZpbmUgdG8gMHhkNDIwMDAwMC4NCj4gCShhYXJjaDY0X3Byb2dyYW1f YnJlYWtwb2ludF9oZXJlX3ApOiBOZXcgZnVuY3Rpb24uDQo+IAkoYWFyY2g2 NF9nZGJhcmNoX2luaXQpOiBTZXQgZ2RiYXJjaF9wcm9ncmFtX2JyZWFrcG9p bnRfaGVyZV9wIGhvb2suDQo+IAkqIGFyY2gtdXRpbHMuYyAoZGVmYXVsdF9w cm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wKTogTW92ZWQgZnJvbQ0KPiAJYnJl YWtwb2ludC5jLg0KPiAJKiBhcmNoLXV0aWxzLmggKGRlZmF1bHRfcHJvZ3Jh bV9icmVha3BvaW50X2hlcmVfcCk6IE1vdmVkIGZyb20NCj4gCWJyZWFrcG9p bnQuaA0KPiAJKiBicmVha3BvaW50LmMgKGJwX2xvY19pc19wZXJtYW5lbnQp OiBDaGFuZ2VkIHJldHVybiB0eXBlIHRvIGJvb2wgYW5kDQo+IAljYWxsIGdk YmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcC4NCj4gCShwcm9ncmFt X2JyZWFrcG9pbnRfaGVyZSk6IE1vdmVkIHRvIGFyY2gtdXRpbHMuYywgcmVu YW1lZCB0bw0KPiAJZGVmYXVsdF9wcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9w LCBjaGFuZ2VkIHJldHVybiB0eXBlIHRvIGJvb2wgYW5kDQo+IAlzaW1wbGlm aWVkLg0KPiAJKiBicmVha3BvaW50LmggKHByb2dyYW1fYnJlYWtwb2ludF9o ZXJlKTogTW92ZWQgcHJvdG90eXBlIHRvDQo+IAlhcmNoLXV0aWxzLmgsIHJl bmFtZWQgdG8gZGVmYXVsdF9wcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wIGFu ZCBjaGFuZ2VkDQo+IAlyZXR1cm4gdHlwZSB0byBib29sLg0KPiAJKiBnZGJh cmNoLmM6IFJlZ2VuZXJhdGUuDQo+IAkqIGdkYmFyY2guaDogUmVnZW5lcmF0 ZS4NCj4gCSogZ2RiYXJjaC5zaCAocHJvZ3JhbV9icmVha3BvaW50X2hlcmVf cCk6IE5ldyBtZXRob2QuDQo+IAkqIGluZnJ1bi5jIChoYW5kbGVfc2lnbmFs X3N0b3ApOiBDYWxsDQo+IAlnZGJhcmNoX3Byb2dyYW1fYnJlYWtwb2ludF9o ZXJlX3AuDQo+IC0tLQ0KPiBnZGIvYWFyY2g2NC10ZGVwLmMgfCAzNyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+IGdkYi9hcmNo LXV0aWxzLmMgICB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrDQo+IGdkYi9hcmNoLXV0aWxzLmggICB8ICA0ICsrKysNCj4gZ2RiL2Jy ZWFrcG9pbnQuYyAgIHwgNDYgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBnZGIvYnJlYWtwb2ludC5oICAgfCAg NSAtLS0tLQ0KPiBnZGIvZ2RiYXJjaC5jICAgICAgfCAyMyArKysrKysrKysr KysrKysrKysrKysrKw0KPiBnZGIvZ2RiYXJjaC5oICAgICAgfCAgNyArKysr KysrDQo+IGdkYi9nZGJhcmNoLnNoICAgICB8ICA0ICsrKysNCj4gZ2RiL2lu ZnJ1bi5jICAgICAgIHwgIDQgKystLQ0KPiA5IGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg LS1naXQgYS9nZGIvYWFyY2g2NC10ZGVwLmMgYi9nZGIvYWFyY2g2NC10ZGVw LmMNCj4gaW5kZXggODQ1MWE5MTZkYy4uN2YzMmRmM2VjMCAxMDA2NDQNCj4g LS0tIGEvZ2RiL2FhcmNoNjQtdGRlcC5jDQo+ICsrKyBiL2dkYi9hYXJjaDY0 LXRkZXAuYw0KPiBAQCAtMTIwMSw2ICsxMjAxLDM5IEBAIGFhcmNoNjRfZXhl Y3V0ZV9kd2FyZl9jZmFfdmVuZG9yX29wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgZ2RiX2J5dGUgb3AsDQo+ICAgcmV0dXJuIGZhbHNlOw0KPiB9DQo+ IA0KPiArLyogVXNlZCBmb3IgbWF0Y2hpbmcgQlJLIGluc3RydWN0aW9ucyBm b3IgQUFyY2g2NC4gICovDQo+ICtzdGF0aWMgY29uc3RleHByIHVpbnQzMl90 IEJSS19JTlNOX01BU0sgPSAweGZmZTAwMDFmOw0KPiArc3RhdGljIGNvbnN0 ZXhwciB1aW50MzJfdCBCUktfSU5TTl9CQVNFID0gMHhkNDIwMDAwMDsNCj4g Kw0KPiArLyogSW1wbGVtZW50YXRpb24gb2YgZ2RiYXJjaF9wcm9ncmFtX2Jy ZWFrcG9pbnRfaGVyZV9wIGZvciBhYXJjaDY0LiAgKi8NCj4gKw0KPiArc3Rh dGljIGJvb2wNCj4gK2FhcmNoNjRfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVf cCAoZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIGFkZHJlc3MpDQo+ICt7 DQo+ICsgIGNvbnN0IHVpbnQzMl90IGluc25fbGVuID0gNDsNCj4gKyAgZ2Ri X2J5dGUgdGFyZ2V0X21lbVs0XTsNCj4gKw0KPiArICAvKiBFbmFibGUgdGhl IGF1dG9tYXRpYyBtZW1vcnkgcmVzdG9yYXRpb24gZnJvbSBicmVha3BvaW50 cyB3aGlsZQ0KPiArICAgICB3ZSByZWFkIHRoZSBtZW1vcnkuICBPdGhlcndp c2Ugd2UgbWF5IGZpbmQgdGVtcG9yYXJ5IGJyZWFrcG9pbnRzLCBvbmVzDQo+ ICsgICAgIGluc2VydGVkIGJ5IEdEQiwgYW5kIGZsYWcgdGhlbSBhcyBwZXJt YW5lbnQgYnJlYWtwb2ludHMuICAqLw0KPiArICBzY29wZWRfcmVzdG9yZSBy ZXN0b3JlX21lbW9yeQ0KPiArICAgID0gbWFrZV9zY29wZWRfcmVzdG9yZV9z aG93X21lbW9yeV9icmVha3BvaW50cyAoMCk7DQo+ICsNCj4gKyAgaWYgKHRh cmdldF9yZWFkX21lbW9yeSAoYWRkcmVzcywgdGFyZ2V0X21lbSwgaW5zbl9s ZW4pID09IDApDQo+ICsgICAgew0KPiArICAgICAgdWludDMyX3QgaW5zbiA9 DQo+ICsJKHVpbnQzMl90KSBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKHRh cmdldF9tZW0sIGluc25fbGVuLA0KPiArCQkJCQkgICAgIGdkYmFyY2hfYnl0 ZV9vcmRlcl9mb3JfY29kZSAoZ2RiYXJjaCkpOw0KPiArDQo+ICsgICAgICAv KiBDaGVjayBpZiBJTlNOIGlzIGEgQlJLIGluc3RydWN0aW9uIHBhdHRlcm4u ICBUaGVyZSBhcmUgbXVsdGlwbGUgY2hvaWNlcw0KPiArCSBvZiBzdWNoIGlu c3RydWN0aW9ucyB3aXRoIGRpZmZlcmVudCBpbW1lZGlhdGUgdmFsdWVzLiAg RGlmZmVyZW50IE9TJw0KPiArCSBtYXkgdXNlIGEgZGlmZmVyZW50IHZhcmlh dGlvbiwgYnV0IHRoZXkgaGF2ZSB0aGUgc2FtZSBvdXRjb21lLiAgKi8NCj4g KwlyZXR1cm4gKChpbnNuICYgQlJLX0lOU05fTUFTSykgPT0gQlJLX0lOU05f QkFTRSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgIHJldHVybiBmYWxzZTsNCj4g K30NCj4gKw0KPiAvKiBXaGVuIGFyZ3VtZW50cyBtdXN0IGJlIHB1c2hlZCBv bnRvIHRoZSBzdGFjaywgdGhleSBnbyBvbiBpbiByZXZlcnNlDQo+ICAgIG9y ZGVyLiAgVGhlIGNvZGUgYmVsb3cgaW1wbGVtZW50cyBhIEZJTE8gKHN0YWNr KSB0byBkbyB0aGlzLiAgKi8NCj4gDQo+IEBAIC0zMzU3LDYgKzMzOTAsMTAg QEAgYWFyY2g2NF9nZGJhcmNoX2luaXQgKHN0cnVjdCBnZGJhcmNoX2luZm8g aW5mbywgc3RydWN0IGdkYmFyY2hfbGlzdCAqYXJjaGVzKQ0KPiAgIHNldF9n ZGJhcmNoX2V4ZWN1dGVfZHdhcmZfY2ZhX3ZlbmRvcl9vcCAoZ2RiYXJjaCwN Cj4gCQkJCQkgICBhYXJjaDY0X2V4ZWN1dGVfZHdhcmZfY2ZhX3ZlbmRvcl9v cCk7DQo+IA0KPiArICAvKiBQZXJtYW5lbnQvUHJvZ3JhbSBicmVha3BvaW50 IGhhbmRsaW5nLiAgKi8NCj4gKyAgc2V0X2dkYmFyY2hfcHJvZ3JhbV9icmVh a3BvaW50X2hlcmVfcCAoZ2RiYXJjaCwNCj4gKwkJCQkJIGFhcmNoNjRfcHJv Z3JhbV9icmVha3BvaW50X2hlcmVfcCk7DQo+ICsNCj4gICAvKiBBZGQgc29t ZSBkZWZhdWx0IHByZWRpY2F0ZXMuICAqLw0KPiAgIGZyYW1lX3Vud2luZF9h cHBlbmRfdW53aW5kZXIgKGdkYmFyY2gsICZhYXJjaDY0X3N0dWJfdW53aW5k KTsNCj4gICBkd2FyZjJfYXBwZW5kX3Vud2luZGVycyAoZ2RiYXJjaCk7DQo+ IGRpZmYgLS1naXQgYS9nZGIvYXJjaC11dGlscy5jIGIvZ2RiL2FyY2gtdXRp bHMuYw0KPiBpbmRleCA5MmQ3MTUzY2NiLi4wNDk1NWVhODQ3IDEwMDY0NA0K PiAtLS0gYS9nZGIvYXJjaC11dGlscy5jDQo+ICsrKyBiL2dkYi9hcmNoLXV0 aWxzLmMNCj4gQEAgLTg3Niw2ICs4NzYsMzggQEAgaW50IGRlZmF1bHRfaW5z bl9pc19qdW1wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERS IGFkZHIpDQo+ICAgcmV0dXJuIDA7DQo+IH0NCj4gDQo+ICsvKiAgU2VlIGFy Y2gtdXRpbHMuaC4gICovDQo+ICsNCj4gK2Jvb2wNCj4gK2RlZmF1bHRfcHJv Z3JhbV9icmVha3BvaW50X2hlcmVfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsDQo+ICsJCQkJICAgQ09SRV9BRERSIGFkZHJlc3MpDQo+ICt7DQo+ICsg IGludCBsZW47DQo+ICsgIGNvbnN0IGdkYl9ieXRlICpicG9pbnQgPSBnZGJh cmNoX2JyZWFrcG9pbnRfZnJvbV9wYyAoZ2RiYXJjaCwgJmFkZHJlc3MsICZs ZW4pOw0KPiArDQo+ICsgIC8qIFNvZnR3YXJlIGJyZWFrcG9pbnRzIHVuc3Vw cG9ydGVkPyAgKi8NCj4gKyAgaWYgKGJwb2ludCA9PSBudWxscHRyKQ0KPiAr ICAgIHJldHVybiBmYWxzZTsNCj4gKw0KPiArICBnZGJfYnl0ZSAqdGFyZ2V0 X21lbSA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7DQo+ICsNCj4gKyAg LyogRW5hYmxlIHRoZSBhdXRvbWF0aWMgbWVtb3J5IHJlc3RvcmF0aW9uIGZy b20gYnJlYWtwb2ludHMgd2hpbGUNCj4gKyAgICAgd2UgcmVhZCB0aGUgbWVt b3J5LiAgT3RoZXJ3aXNlIHdlIG1heSBmaW5kIHRlbXBvcmFyeSBicmVha3Bv aW50cywgb25lcw0KPiArICAgICBpbnNlcnRlZCBieSBHREIsIGFuZCBmbGFn IHRoZW0gYXMgcGVybWFuZW50IGJyZWFrcG9pbnRzLiAgKi8NCj4gKyAgc2Nv cGVkX3Jlc3RvcmUgcmVzdG9yZV9tZW1vcnkNCj4gKyAgICA9IG1ha2Vfc2Nv cGVkX3Jlc3RvcmVfc2hvd19tZW1vcnlfYnJlYWtwb2ludHMgKDApOw0KPiAr DQo+ICsgIGlmICh0YXJnZXRfcmVhZF9tZW1vcnkgKGFkZHJlc3MsIHRhcmdl dF9tZW0sIGxlbikgPT0gMCkNCj4gKyAgICB7DQo+ICsgICAgICAvKiBDaGVj ayBpZiB0aGlzIGlzIGEgYnJlYWtwb2ludCBpbnN0cnVjdGlvbiBmb3IgdGhp cyBhcmNoaXRlY3R1cmUsDQo+ICsJIGluY2x1ZGluZyBvbmVzIHVzZWQgYnkg R0RCLiAgKi8NCj4gKyAgICAgIGlmIChtZW1jbXAgKHRhcmdldF9tZW0sIGJw b2ludCwgbGVuKSA9PSAwKQ0KPiArCXJldHVybiB0cnVlOw0KPiArICAgIH0N Cj4gKw0KPiArICByZXR1cm4gZmFsc2U7DQo+ICt9DQo+ICsNCj4gdm9pZA0K PiBkZWZhdWx0X3NraXBfcGVybWFuZW50X2JyZWFrcG9pbnQgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUpDQo+IHsNCj4gZGlmZiAtLWdpdCBhL2dkYi9h cmNoLXV0aWxzLmggYi9nZGIvYXJjaC11dGlscy5oDQo+IGluZGV4IDNmYjlh ZDMxN2EuLjQzZDY0YjFmNGYgMTAwNjQ0DQo+IC0tLSBhL2dkYi9hcmNoLXV0 aWxzLmgNCj4gKysrIGIvZ2RiL2FyY2gtdXRpbHMuaA0KPiBAQCAtMjI4LDYg KzIyOCwxMCBAQCBleHRlcm4gaW50IGRlZmF1bHRfaW5zbl9pc19jYWxsIChz dHJ1Y3QgZ2RiYXJjaCAqLCBDT1JFX0FERFIpOw0KPiBleHRlcm4gaW50IGRl ZmF1bHRfaW5zbl9pc19yZXQgKHN0cnVjdCBnZGJhcmNoICosIENPUkVfQURE Uik7DQo+IGV4dGVybiBpbnQgZGVmYXVsdF9pbnNuX2lzX2p1bXAgKHN0cnVj dCBnZGJhcmNoICosIENPUkVfQUREUik7DQo+IA0KPiArLyogRGVmYXVsdCBp bXBsZW1lbnRhdGlvbiBvZiBnZGJhcmNoX3Byb2dyYW1fYnJlYWtwb2ludF9o ZXJlX3AuICAqLw0KPiArZXh0ZXJuIGJvb2wgZGVmYXVsdF9wcm9ncmFtX2Jy ZWFrcG9pbnRfaGVyZV9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwNCj4g KwkJCQkJICAgICAgIENPUkVfQUREUiBhZGRyKTsNCj4gKw0KPiAvKiBEby1u b3RoaW5nIHZlcnNpb24gb2YgdnN5c2NhbGxfcmFuZ2UuICBSZXR1cm5zIGZh bHNlLiAgKi8NCj4gDQo+IGV4dGVybiBpbnQgZGVmYXVsdF92c3lzY2FsbF9y YW5nZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCBtZW1fcmFu Z2UgKnJhbmdlKTsNCj4gZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMg Yi9nZGIvYnJlYWtwb2ludC5jDQo+IGluZGV4IGE3YTM3ODEzMWEuLjVhOTM1 MmMyNmYgMTAwNjQ0DQo+IC0tLSBhL2dkYi9icmVha3BvaW50LmMNCj4gKysr IGIvZ2RiL2JyZWFrcG9pbnQuYw0KPiBAQCAtODUxNSw3ICs4NTE1LDcgQEAg bWVudGlvbiAoc3RydWN0IGJyZWFrcG9pbnQgKmIpDQo+IH0NCj4gDQo+IA0K PiAtc3RhdGljIGludCBicF9sb2NfaXNfcGVybWFuZW50IChzdHJ1Y3QgYnBf bG9jYXRpb24gKmxvYyk7DQo+ICtzdGF0aWMgYm9vbCBicF9sb2NfaXNfcGVy bWFuZW50IChzdHJ1Y3QgYnBfbG9jYXRpb24gKmxvYyk7DQo+IA0KPiBzdGF0 aWMgc3RydWN0IGJwX2xvY2F0aW9uICoNCj4gYWRkX2xvY2F0aW9uX3RvX2Jy ZWFrcG9pbnQgKHN0cnVjdCBicmVha3BvaW50ICpiLA0KPiBAQCAtODU4MSw0 MiArODU4MSwxMCBAQCBhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCAoc3Ry dWN0IGJyZWFrcG9pbnQgKmIsDQo+IH0NCj4gDQo+IA0KPiAtLyogU2VlIGJy ZWFrcG9pbnQuaC4gICovDQo+IC0NCj4gLWludA0KPiAtcHJvZ3JhbV9icmVh a3BvaW50X2hlcmVfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVf QUREUiBhZGRyZXNzKQ0KPiAtew0KPiAtICBpbnQgbGVuOw0KPiAtICBDT1JF X0FERFIgYWRkcjsNCj4gLSAgY29uc3QgZ2RiX2J5dGUgKmJwb2ludDsNCj4g LSAgZ2RiX2J5dGUgKnRhcmdldF9tZW07DQo+IC0NCj4gLSAgYWRkciA9IGFk ZHJlc3M7DQo+IC0gIGJwb2ludCA9IGdkYmFyY2hfYnJlYWtwb2ludF9mcm9t X3BjIChnZGJhcmNoLCAmYWRkciwgJmxlbik7DQo+IC0NCj4gLSAgLyogU29m dHdhcmUgYnJlYWtwb2ludHMgdW5zdXBwb3J0ZWQ/ICAqLw0KPiAtICBpZiAo YnBvaW50ID09IE5VTEwpDQo+IC0gICAgcmV0dXJuIDA7DQo+IC0NCj4gLSAg dGFyZ2V0X21lbSA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7DQo+IC0N Cj4gLSAgLyogRW5hYmxlIHRoZSBhdXRvbWF0aWMgbWVtb3J5IHJlc3RvcmF0 aW9uIGZyb20gYnJlYWtwb2ludHMgd2hpbGUNCj4gLSAgICAgd2UgcmVhZCB0 aGUgbWVtb3J5LiAgT3RoZXJ3aXNlIHdlIGNvdWxkIHNheSBhYm91dCBvdXIg dGVtcG9yYXJ5DQo+IC0gICAgIGJyZWFrcG9pbnRzIHRoZXkgYXJlIHBlcm1h bmVudC4gICovDQo+IC0gIHNjb3BlZF9yZXN0b3JlIHJlc3RvcmVfbWVtb3J5 DQo+IC0gICAgPSBtYWtlX3Njb3BlZF9yZXN0b3JlX3Nob3dfbWVtb3J5X2Jy ZWFrcG9pbnRzICgwKTsNCj4gKy8qIFJldHVybiB0cnVlIGlmIExPQyBpcyBw b2ludGluZyB0byBhIHBlcm1hbmVudCBicmVha3BvaW50LA0KPiArICAgcmV0 dXJuIGZhbHNlIG90aGVyd2lzZS4gICovDQo+IA0KPiAtICBpZiAodGFyZ2V0 X3JlYWRfbWVtb3J5IChhZGRyZXNzLCB0YXJnZXRfbWVtLCBsZW4pID09IDAN Cj4gLSAgICAgICYmIG1lbWNtcCAodGFyZ2V0X21lbSwgYnBvaW50LCBsZW4p ID09IDApDQo+IC0gICAgcmV0dXJuIDE7DQo+IC0NCj4gLSAgcmV0dXJuIDA7 DQo+IC19DQo+IC0NCj4gLS8qIFJldHVybiAxIGlmIExPQyBpcyBwb2ludGlu ZyB0byBhIHBlcm1hbmVudCBicmVha3BvaW50LA0KPiAtICAgcmV0dXJuIDAg b3RoZXJ3aXNlLiAgKi8NCj4gLQ0KPiAtc3RhdGljIGludA0KPiArc3RhdGlj IGJvb2wNCj4gYnBfbG9jX2lzX3Blcm1hbmVudCAoc3RydWN0IGJwX2xvY2F0 aW9uICpsb2MpDQo+IHsNCj4gICBnZGJfYXNzZXJ0IChsb2MgIT0gTlVMTCk7 DQo+IEBAIC04NjI0LDE0ICs4NTkyLDE0IEBAIGJwX2xvY19pc19wZXJtYW5l bnQgKHN0cnVjdCBicF9sb2NhdGlvbiAqbG9jKQ0KPiAgIC8qIElmIHdlIGhh dmUgYSBub24tYnJlYWtwb2ludC1iYWNrZWQgY2F0Y2hwb2ludCBvciBhIHNv ZnR3YXJlDQo+ICAgICAgd2F0Y2hwb2ludCwganVzdCByZXR1cm4gMC4gIFdl IHNob3VsZCBub3QgYXR0ZW1wdCB0byByZWFkIGZyb20NCj4gICAgICB0aGUg YWRkcmVzc2VzIHRoZSBsb2NhdGlvbnMgb2YgdGhlc2UgYnJlYWtwb2ludCB0 eXBlcyBwb2ludCB0by4NCj4gLSAgICAgcHJvZ3JhbV9icmVha3BvaW50X2hl cmVfcCwgYmVsb3csIHdpbGwgYXR0ZW1wdCB0byByZWFkDQo+ICsgICAgIGdk YmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcCwgYmVsb3csIHdpbGwg YXR0ZW1wdCB0byByZWFkDQo+ICAgICAgbWVtb3J5LiAgKi8NCj4gICBpZiAo IWJsX2FkZHJlc3NfaXNfbWVhbmluZ2Z1bCAobG9jKSkNCj4gLSAgICByZXR1 cm4gMDsNCj4gKyAgICByZXR1cm4gZmFsc2U7DQo+IA0KPiAgIHNjb3BlZF9y ZXN0b3JlX2N1cnJlbnRfcHNwYWNlX2FuZF90aHJlYWQgcmVzdG9yZV9wc3Bh Y2VfdGhyZWFkOw0KPiAgIHN3aXRjaF90b19wcm9ncmFtX3NwYWNlX2FuZF90 aHJlYWQgKGxvYy0+cHNwYWNlKTsNCj4gLSAgcmV0dXJuIHByb2dyYW1fYnJl YWtwb2ludF9oZXJlX3AgKGxvYy0+Z2RiYXJjaCwgbG9jLT5hZGRyZXNzKTsN Cj4gKyAgcmV0dXJuIGdkYmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVf cCAobG9jLT5nZGJhcmNoLCBsb2MtPmFkZHJlc3MpOw0KPiB9DQo+IA0KPiAv KiBCdWlsZCBhIGNvbW1hbmQgbGlzdCBmb3IgdGhlIGRwcmludGYgY29ycmVz cG9uZGluZyB0byB0aGUgY3VycmVudA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL2Jy ZWFrcG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgNCj4gaW5kZXggMTNkODEw MmMxNy4uMzQ3YWViNzVmMyAxMDA2NDQNCj4gLS0tIGEvZ2RiL2JyZWFrcG9p bnQuaA0KPiArKysgYi9nZGIvYnJlYWtwb2ludC5oDQo+IEBAIC0xMTk0LDEx ICsxMTk0LDYgQEAgZW51bSBicmVha3BvaW50X2hlcmUNCj4gDQo+IC8qIFBy b3RvdHlwZXMgZm9yIGJyZWFrcG9pbnQtcmVsYXRlZCBmdW5jdGlvbnMuICAq Lw0KPiANCj4gLS8qIFJldHVybiAxIGlmIHRoZXJlJ3MgYSBwcm9ncmFtL3Bl cm1hbmVudCBicmVha3BvaW50IHBsYW50ZWQgaW4NCj4gLSAgIG1lbW9yeSBh dCBBRERSRVNTLCByZXR1cm4gMCBvdGhlcndpc2UuICAqLw0KPiAtDQo+IC1l eHRlcm4gaW50IHByb2dyYW1fYnJlYWtwb2ludF9oZXJlX3AgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkcmVzcyk7DQo+IC0NCj4g ZXh0ZXJuIGVudW0gYnJlYWtwb2ludF9oZXJlIGJyZWFrcG9pbnRfaGVyZV9w IChjb25zdCBhZGRyZXNzX3NwYWNlICosDQo+IAkJCQkJICAgICAgIENPUkVf QUREUik7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYmFyY2guYyBiL2dk Yi9nZGJhcmNoLmMNCj4gaW5kZXggY2M4NTY5ZjVjOS4uZDc2M2ZjODVlNiAx MDA2NDQNCj4gLS0tIGEvZ2RiL2dkYmFyY2guYw0KPiArKysgYi9nZGIvZ2Ri YXJjaC5jDQo+IEBAIC0zNDUsNiArMzQ1LDcgQEAgc3RydWN0IGdkYmFyY2gN Cj4gICBnZGJhcmNoX2luc25faXNfY2FsbF9mdHlwZSAqaW5zbl9pc19jYWxs Ow0KPiAgIGdkYmFyY2hfaW5zbl9pc19yZXRfZnR5cGUgKmluc25faXNfcmV0 Ow0KPiAgIGdkYmFyY2hfaW5zbl9pc19qdW1wX2Z0eXBlICppbnNuX2lzX2p1 bXA7DQo+ICsgIGdkYmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcF9m dHlwZSAqcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcDsNCj4gICBnZGJhcmNo X2F1eHZfcGFyc2VfZnR5cGUgKmF1eHZfcGFyc2U7DQo+ICAgZ2RiYXJjaF9w cmludF9hdXh2X2VudHJ5X2Z0eXBlICpwcmludF9hdXh2X2VudHJ5Ow0KPiAg IGdkYmFyY2hfdnN5c2NhbGxfcmFuZ2VfZnR5cGUgKnZzeXNjYWxsX3Jhbmdl Ow0KPiBAQCAtNDY0LDYgKzQ2NSw3IEBAIGdkYmFyY2hfYWxsb2MgKGNvbnN0 IHN0cnVjdCBnZGJhcmNoX2luZm8gKmluZm8sDQo+ICAgZ2RiYXJjaC0+aW5z bl9pc19jYWxsID0gZGVmYXVsdF9pbnNuX2lzX2NhbGw7DQo+ICAgZ2RiYXJj aC0+aW5zbl9pc19yZXQgPSBkZWZhdWx0X2luc25faXNfcmV0Ow0KPiAgIGdk YmFyY2gtPmluc25faXNfanVtcCA9IGRlZmF1bHRfaW5zbl9pc19qdW1wOw0K PiArICBnZGJhcmNoLT5wcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wID0gZGVm YXVsdF9wcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wOw0KPiAgIGdkYmFyY2gt PnByaW50X2F1eHZfZW50cnkgPSBkZWZhdWx0X3ByaW50X2F1eHZfZW50cnk7 DQo+ICAgZ2RiYXJjaC0+dnN5c2NhbGxfcmFuZ2UgPSBkZWZhdWx0X3ZzeXNj YWxsX3JhbmdlOw0KPiAgIGdkYmFyY2gtPmluZmNhbGxfbW1hcCA9IGRlZmF1 bHRfaW5mY2FsbF9tbWFwOw0KPiBAQCAtNzA4LDYgKzcxMCw3IEBAIHZlcmlm eV9nZGJhcmNoIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkNCj4gICAvKiBT a2lwIHZlcmlmeSBvZiBpbnNuX2lzX2NhbGwsIGludmFsaWRfcCA9PSAwICov DQo+ICAgLyogU2tpcCB2ZXJpZnkgb2YgaW5zbl9pc19yZXQsIGludmFsaWRf cCA9PSAwICovDQo+ICAgLyogU2tpcCB2ZXJpZnkgb2YgaW5zbl9pc19qdW1w LCBpbnZhbGlkX3AgPT0gMCAqLw0KPiArICAvKiBTa2lwIHZlcmlmeSBvZiBw cm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wLCBpbnZhbGlkX3AgPT0gMCAqLw0K PiAgIC8qIFNraXAgdmVyaWZ5IG9mIGF1eHZfcGFyc2UsIGhhcyBwcmVkaWNh dGUuICAqLw0KPiAgIC8qIFNraXAgdmVyaWZ5IG9mIHByaW50X2F1eHZfZW50 cnksIGludmFsaWRfcCA9PSAwICovDQo+ICAgLyogU2tpcCB2ZXJpZnkgb2Yg dnN5c2NhbGxfcmFuZ2UsIGludmFsaWRfcCA9PSAwICovDQo+IEBAIC0xMjQ4 LDYgKzEyNTEsOSBAQCBnZGJhcmNoX2R1bXAgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkNCj4gICBmcHJpbnRmX3Vu ZmlsdGVyZWQgKGZpbGUsDQo+ICAgICAgICAgICAgICAgICAgICAgICAiZ2Ri YXJjaF9kdW1wOiBwcm9jZXNzX3JlY29yZF9zaWduYWwgPSA8JXM+XG4iLA0K PiAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9hZGRyZXNzX3RvX3N0cmlu ZyAoZ2RiYXJjaC0+cHJvY2Vzc19yZWNvcmRfc2lnbmFsKSk7DQo+ICsgIGZw cmludGZfdW5maWx0ZXJlZCAoZmlsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAiZ2RiYXJjaF9kdW1wOiBwcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9w ID0gPCVzPlxuIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBob3N0X2Fk ZHJlc3NfdG9fc3RyaW5nIChnZGJhcmNoLT5wcm9ncmFtX2JyZWFrcG9pbnRf aGVyZV9wKSk7DQo+ICAgZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLA0KPiAg ICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogcHNfcmVnbnVt ID0gJXNcbiIsDQo+ICAgICAgICAgICAgICAgICAgICAgICBwbG9uZ2VzdCAo Z2RiYXJjaC0+cHNfcmVnbnVtKSk7DQo+IEBAIC00OTI4LDYgKzQ5MzQsMjMg QEAgc2V0X2dkYmFyY2hfaW5zbl9pc19qdW1wIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwNCj4gICBnZGJhcmNoLT5pbnNuX2lzX2p1bXAgPSBpbnNuX2lz X2p1bXA7DQo+IH0NCj4gDQo+ICtib29sDQo+ICtnZGJhcmNoX3Byb2dyYW1f YnJlYWtwb2ludF9oZXJlX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBD T1JFX0FERFIgYWRkcmVzcykNCj4gK3sNCj4gKyAgZ2RiX2Fzc2VydCAoZ2Ri YXJjaCAhPSBOVUxMKTsNCj4gKyAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+cHJv Z3JhbV9icmVha3BvaW50X2hlcmVfcCAhPSBOVUxMKTsNCj4gKyAgaWYgKGdk YmFyY2hfZGVidWcgPj0gMikNCj4gKyAgICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csICJnZGJhcmNoX3Byb2dyYW1fYnJlYWtwb2ludF9oZXJl X3AgY2FsbGVkXG4iKTsNCj4gKyAgcmV0dXJuIGdkYmFyY2gtPnByb2dyYW1f YnJlYWtwb2ludF9oZXJlX3AgKGdkYmFyY2gsIGFkZHJlc3MpOw0KPiArfQ0K PiArDQo+ICt2b2lkDQo+ICtzZXRfZ2RiYXJjaF9wcm9ncmFtX2JyZWFrcG9p bnRfaGVyZV9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdkYmFyY2hfcHJv Z3JhbV9icmVha3BvaW50X2hlcmVfcF9mdHlwZSBwcm9ncmFtX2JyZWFrcG9p bnRfaGVyZV9wKQ0KPiArew0KPiArICBnZGJhcmNoLT5wcm9ncmFtX2JyZWFr cG9pbnRfaGVyZV9wID0gcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcDsNCj4g K30NCj4gKw0KPiBpbnQNCj4gZ2RiYXJjaF9hdXh2X3BhcnNlX3AgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoKQ0KPiB7DQo+IGRpZmYgLS1naXQgYS9nZGIv Z2RiYXJjaC5oIGIvZ2RiL2dkYmFyY2guaA0KPiBpbmRleCA5ZjMyYWMyM2Fi Li44MDBhNGU4YjE2IDEwMDY0NA0KPiAtLS0gYS9nZGIvZ2RiYXJjaC5oDQo+ ICsrKyBiL2dkYi9nZGJhcmNoLmgNCj4gQEAgLTE1NDUsNiArMTU0NSwxMyBA QCB0eXBlZGVmIGludCAoZ2RiYXJjaF9pbnNuX2lzX2p1bXBfZnR5cGUpIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIGFkZA0KPiBleHRl cm4gaW50IGdkYmFyY2hfaW5zbl9pc19qdW1wIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgQ09SRV9BRERSIGFkZHIpOw0KPiBleHRlcm4gdm9pZCBzZXRf Z2RiYXJjaF9pbnNuX2lzX2p1bXAgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LCBnZGJhcmNoX2luc25faXNfanVtcF9mdHlwZSAqaW5zbl9pc19qdW1wKTsN Cj4gDQo+ICsvKiBSZXR1cm4gdHJ1ZSBpZiB0aGVyZSdzIGEgcHJvZ3JhbS9w ZXJtYW5lbnQgYnJlYWtwb2ludCBwbGFudGVkIGluDQo+ICsgICBtZW1vcnkg YXQgQUREUkVTUywgcmV0dXJuIGZhbHNlIG90aGVyd2lzZS4gKi8NCj4gKw0K PiArdHlwZWRlZiBib29sIChnZGJhcmNoX3Byb2dyYW1fYnJlYWtwb2ludF9o ZXJlX3BfZnR5cGUpIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9B RERSIGFkZHJlc3MpOw0KPiArZXh0ZXJuIGJvb2wgZ2RiYXJjaF9wcm9ncmFt X2JyZWFrcG9pbnRfaGVyZV9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg Q09SRV9BRERSIGFkZHJlc3MpOw0KPiArZXh0ZXJuIHZvaWQgc2V0X2dkYmFy Y2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIGdkYmFyY2hfcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcF9m dHlwZSAqcHJvZ3JhbV9icmVha3BvaW50X2hlcmVfcCk7DQo+ICsNCj4gLyog UmVhZCBvbmUgYXV4diBlbnRyeSBmcm9tICpSRUFEUFRSLCBub3QgcmVhZGlu ZyBsb2NhdGlvbnMgPj0gRU5EUFRSLg0KPiAgICBSZXR1cm4gMCBpZiAqUkVB RFBUUiBpcyBhbHJlYWR5IGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4NCj4g ICAgUmV0dXJuIC0xIGlmIHRoZXJlIGlzIGluc3VmZmljaWVudCBidWZmZXIg Zm9yIGEgd2hvbGUgZW50cnkuDQo+IGRpZmYgLS1naXQgYS9nZGIvZ2RiYXJj aC5zaCBiL2dkYi9nZGJhcmNoLnNoDQo+IGluZGV4IDBiZTNlODhiYjIuLjY2 YjU0ZGQ3MDAgMTAwNzU1DQo+IC0tLSBhL2dkYi9nZGJhcmNoLnNoDQo+ICsr KyBiL2dkYi9nZGJhcmNoLnNoDQo+IEBAIC0xMTUyLDYgKzExNTIsMTAgQEAg bTtpbnQ7aW5zbl9pc19yZXQ7Q09SRV9BRERSIGFkZHI7YWRkcjs7ZGVmYXVs dF9pbnNuX2lzX3JldDs7MA0KPiAjIFJldHVybiBub24temVybyBpZiB0aGUg aW5zdHJ1Y3Rpb24gYXQgQUREUiBpcyBhIGp1bXA7IHplcm8gb3RoZXJ3aXNl Lg0KPiBtO2ludDtpbnNuX2lzX2p1bXA7Q09SRV9BRERSIGFkZHI7YWRkcjs7 ZGVmYXVsdF9pbnNuX2lzX2p1bXA7OzANCj4gDQo+ICsjIFJldHVybiB0cnVl IGlmIHRoZXJlJ3MgYSBwcm9ncmFtL3Blcm1hbmVudCBicmVha3BvaW50IHBs YW50ZWQgaW4NCj4gKyMgbWVtb3J5IGF0IEFERFJFU1MsIHJldHVybiBmYWxz ZSBvdGhlcndpc2UuDQo+ICttO2Jvb2w7cHJvZ3JhbV9icmVha3BvaW50X2hl cmVfcDtDT1JFX0FERFIgYWRkcmVzczthZGRyZXNzOztkZWZhdWx0X3Byb2dy YW1fYnJlYWtwb2ludF9oZXJlX3A7OzANCj4gKw0KPiAjIFJlYWQgb25lIGF1 eHYgZW50cnkgZnJvbSAqUkVBRFBUUiwgbm90IHJlYWRpbmcgbG9jYXRpb25z ID49IEVORFBUUi4NCj4gIyBSZXR1cm4gMCBpZiAqUkVBRFBUUiBpcyBhbHJl YWR5IGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4NCj4gIyBSZXR1cm4gLTEg aWYgdGhlcmUgaXMgaW5zdWZmaWNpZW50IGJ1ZmZlciBmb3IgYSB3aG9sZSBl bnRyeS4NCj4gZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZy dW4uYw0KPiBpbmRleCBhODYzNjI4NGYxLi40OTQzMjRkNzJiIDEwMDY0NA0K PiAtLS0gYS9nZGIvaW5mcnVuLmMNCj4gKysrIGIvZ2RiL2luZnJ1bi5jDQo+ IEBAIC02MTU3LDggKzYxNTcsOCBAQCBoYW5kbGVfc2lnbmFsX3N0b3AgKHN0 cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQ0KPiAgICAgIGJl ZW4gcmVtb3ZlZC4gICovDQo+ICAgaWYgKHJhbmRvbV9zaWduYWwgJiYgdGFy Z2V0X3N0b3BwZWRfYnlfc3dfYnJlYWtwb2ludCAoKSkNCj4gICAgIHsNCj4g LSAgICAgIGlmIChwcm9ncmFtX2JyZWFrcG9pbnRfaGVyZV9wIChnZGJhcmNo LA0KPiAtCQkJCSAgICAgZWNzLT5ldmVudF90aHJlYWQtPnN1c3BlbmQuc3Rv cF9wYykpDQo+ICsgICAgICBpZiAoZ2RiYXJjaF9wcm9ncmFtX2JyZWFrcG9p bnRfaGVyZV9wIChnZGJhcmNoLA0KPiArCQkJCQkgICAgIGVjcy0+ZXZlbnRf dGhyZWFkLT5zdXNwZW5kLnN0b3BfcGMpKQ0KPiAJew0KPiAJICBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlOw0KPiAJICBpbnQgZGVjcl9wYzsNCj4gLS0g DQo+IDIuMTcuMQ0KPiANCg0K >From gdb-patches-return-163316-listarch-gdb-patches=sources.redhat.com@sourceware.org Tue Jan 21 11:41:56 2020 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 128510 invoked by alias); 21 Jan 2020 11:41:56 -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 128502 invoked by uid 89); 21 Jan 2020 11:41:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-15.7 required=5.0 tests=AWL,BAYES_00,BODY_8BITS,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GARBLED_BODY,GIT_PATCH_0,GIT_PATCH_2,GIT_PATCH_3,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Spam-Relays-External:209.85.208.67, H*RU:209.85.208.67, 21=e6, =a8=e4=ba?= X-HELO: mail-ed1-f67.google.com Received: from mail-ed1-f67.google.com (HELO mail-ed1-f67.google.com) (209.85.208.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 21 Jan 2020 11:41:45 +0000 Received: by mail-ed1-f67.google.com with SMTP id m8so2594403edi.13 for ; Tue, 21 Jan 2020 03:41:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9PtHj/rWjf0qEaJdHUUiOtMOEomGPiZ7ty3BLiUZAQo=; b=RXjfZ8+EvooTvtVVu8pbESxEVZn38KWKeeps2Xu3qpL3JF4fYQbOFGjw5GVxXXWxf7 vfsOrklu3ppUdStr/PxyZntnOnb6iAZJq62G2kKRdHIuPflS3mTAsLMEXOjiU5ya2fCf qcCzUG6W3HOMBF+YeneZ/7vImMuHCt4v2kkkycroeFreiJrZcUusGo+kcZItf82htmTC tvgrpva2ewDju8caLTD55Yn/QTvNc0WTcUvWNW8vJ1pDjhlmYRrVNHfN6q4owrjzQVbI 1FfZ7UtnOywm8LXyxsF4v8OjcFwHvaUqLE9ntDkt8oFPocxyHkAJZ5zLXWwQOvG292iy GfgQ== MIME-Version: 1.0 References: In-Reply-To: From: =?UTF-8?B?5YKF57un5pmX?= Date: Tue, 21 Jan 2020 11:54:00 -0000 Message-ID: Subject: Re: [PATCH] Modify python-config.py or replace it with official one to support python3 To: Christian Biesinger Cc: gdb-patches Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-SW-Source: 2020-01/txt/msg00630.txt.bz2 Content-length: 5024 ok.that is,and here is my patch. Tested with autoconf 2.69 and python3.8. index:gdb/configure.ac =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -834,29 +834,31 @@ esac esac + python_config=3D if test "${python_prog}" !=3D missing; then + AC_CHECK_FILE([${python_prog}-config],[python_config=3D"${python_prog}= -config --embed"],[python_config=3D"${python_prog} ${srcdir}/python/python-config.py"]) # We have a python program to use, but it may be too old. # Don't flag an error for --with-python=3Dauto (the default). have_python_config=3Dyes - python_includes=3D`${python_prog} ${srcdir}/python/python-config.py --includes` + python_includes=3D`${python_config} --includes` if test $? !=3D 0; then have_python_config=3Dfailed if test "${with_python}" !=3D auto; then - AC_ERROR(failure running python-config --includes) + AC_ERROR(failure running ${python_config} --includes) fi fi - python_libs=3D`${python_prog} ${srcdir}/python/python-config.py --ldfl= ags` + python_libs=3D`${python_config} --ldflags` if test $? !=3D 0; then have_python_config=3Dfailed if test "${with_python}" !=3D auto; then - AC_ERROR(failure running python-config --ldflags) + AC_ERROR(failure running ${python_config} --ldflags) fi fi - python_prefix=3D`${python_prog} ${srcdir}/python/python-config.py --exec-prefix` + python_prefix=3D`${python_config} --exec-prefix` if test $? !=3D 0; then have_python_config=3Dfailed if test "${with_python}" !=3D auto; then - AC_ERROR(failure running python-config --exec-prefix) + AC_ERROR(failure running ${python_config} --exec-prefix) fi fi else Christian Biesinger =E4=BA=8E2020=E5=B9=B41=E6=9C= =8821=E6=97=A5=E5=91=A8=E4=BA=8C =E4=B8=8A=E5=8D=888:30=E5=86=99=E9=81=93= =EF=BC=9A > > On Mon, Jan 20, 2020 at 8:05 AM =E5=82=85=E7=BB=A7=E6=99=97 wrote: > > > > The formal patch only works on OSX.And here is the patch to make the > > crossbuild available. > > configure is a generated file. Please edit configure.ac instead, and > run autoconf to regenerate configure. Make sure to use autoconf > version 2.69. > > Christian > > > diff --git a/gdb/configure-origin b/gdb/configure > > --- a/gdb/configure-origin > > +++ b/gdb/configure > > @@ -9858,21 +9858,21 @@ fi > > # We have a python program to use, but it may be too old. > > # Don't flag an error for --with-python=3Dauto (the default). > > have_python_config=3Dyes > > - python_includes=3D`${python_prog} ${srcdir}/python/python-config.py -= -includes` > > + python_includes=3D`${python_prog}-config --includes` > > if test $? !=3D 0; then > > have_python_config=3Dfailed > > if test "${with_python}" !=3D auto; then > > as_fn_error "failure running python-config --includes" "$LINENO" 5 > > fi > > fi > > - python_libs=3D`${python_prog} ${srcdir}/python/python-config.py --ldf= lags` > > + python_libs=3D`${python_prog}-config --ldflags` > > if test $? !=3D 0; then > > have_python_config=3Dfailed > > if test "${with_python}" !=3D auto; then > > as_fn_error "failure running python-config --ldflags" "$LINENO" 5 > > fi > > fi > > - python_prefix=3D`${python_prog} ${srcdir}/python/python-config.py --e= xec-prefix` > > + python_prefix=3D`${python_prog}-config --exec-prefix` > > if test $? !=3D 0; then > > have_python_config=3Dfailed > > if test "${with_python}" !=3D auto; then > > > > > > =E5=82=85=E7=BB=A7=E6=99=97 =E4=BA=8E2020=E5=B9= =B41=E6=9C=8820=E6=97=A5=E5=91=A8=E4=B8=80 =E4=B8=8B=E5=8D=888:02=E5=86=99= =E9=81=93=EF=BC=9A > > > > > > By default,gdb is compiled with python2 script support on OSX. Howeve= r,when compiled with arg "--with-python=3D/path/to/python3 " to support pyt= hon3 ,some error occurred that seems python3 is not recognized. > > > The reason is that the python-config.py is not the same as the offici= al one.BTW,this issue was once referred at 20 Dec 2012 mail :https://source= ware.org/ml/gdb-patches/2012-12/msg00751.html. > > > Somehow,It is not committed(maybe the maintainer forgot it due to the= happy chrismas holiday). > > > And here is my patch: > > > > > > index: b/gdb/python/python-config.py > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > > > --- a/gdb/python/python-config.py > > > +++ b/gdb/python/python-config.py > > > @@ -72,7 +72,7 @@ for opt in opt_flags: > > > libs.insert(0, '-L' + getvar('LIBPL')) > > > elif os.name =3D=3D 'nt': > > > libs.insert(0, '-L' + sysconfig.PREFIX + '/libs') > > > - if getvar('LINKFORSHARED') is not None: > > > + if not getvar('PYTHONFRAMEWORK'): > > > libs.extend(getvar('LINKFORSHARED').split()) > > > print (to_unix_path(' '.join(libs)))