From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34314 invoked by alias); 13 Mar 2018 10:17:30 -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 34076 invoked by uid 89); 13 Mar 2018 10:16:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0088.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.88) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Mar 2018 10:16:48 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com (10.160.211.19) by AM3PR08MB0579.eurprd08.prod.outlook.com (10.163.188.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.14; Tue, 13 Mar 2018 10:16:44 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::64e8:8f30:eae8:a839]) by AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::64e8:8f30:eae8:a839%13]) with mapi id 15.20.0567.018; Tue, 13 Mar 2018 10:16:44 +0000 From: Alan Hayward To: Philipp Rudo CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH V3 0/8] Remove gdbserver dependency on xml files Date: Tue, 13 Mar 2018 10:17:00 -0000 Message-ID: <31D78CCB-F760-4279-9035-19D68D4009B5@arm.com> References: <757A8B89-2EF0-46BD-BAA6-6E668538B17F@arm.com> <20180312181931.704aa7bf@ThinkPad> In-Reply-To: <20180312181931.704aa7bf@ThinkPad> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM3PR08MB0579;7:i9+BEXxMZrX4EmPAVr0QBDBpaJaKqgPrlWDxKADQhyQ0pk7vwsAyrkXAugEyfrhLrir39Yf9JPwBtCcedtu5Xoay8lT7yUWJpRmWHoMh+7QfmXKCnHsDwdnemecSEGdvEDpqHShCyjA3Z2OXoYCRDf1FSdG2kjRlxRkmNpwXZ2aFje8XR1aYcvrEgX5zd9PnAD3DE49vxRh3Bn/lUbKoDjJS1L2V35/8+0q18dxxuNsx3OaFNult6P7llBMT8zCn x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: f850fe6b-ab7c-43ee-772a-08d588cb85e6 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:AM3PR08MB0579; x-ms-traffictypediagnostic: AM3PR08MB0579: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863)(180628864354917)(104084551191319)(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231221)(944501244)(52105095)(6055026)(6041310)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011);SRVR:AM3PR08MB0579;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0579; x-forefront-prvs: 0610D16BBE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(376002)(396003)(39380400002)(39860400002)(366004)(20264003)(51914003)(189003)(199004)(102836004)(6486002)(229853002)(36756003)(6246003)(8676002)(3660700001)(7736002)(99286004)(4326008)(6512007)(5660300001)(83716003)(81166006)(81156014)(54906003)(106356001)(97736004)(76176011)(53936002)(6436002)(2950100002)(6916009)(33656002)(3280700002)(8936002)(68736007)(478600001)(2900100001)(82746002)(26005)(6506007)(6116002)(3846002)(5250100002)(2906002)(186003)(86362001)(14454004)(316002)(105586002)(305945005)(53546011)(25786009)(72206003)(66066001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR08MB0579;H:AM3PR08MB0101.eurprd08.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: x88f40mV+68C/t0qptfDufyURjD5VTM4RYWXbRJs03fukg+CK7ShJ2iqP+LeuQc2O+givtMlZ9HDXqGTexK1q1HiPqLG2oR/zNltEvzr+s0uJOKtBOWVs0vbwI/p6Cwbt4WenGinyHrbMWjoO3oa2ttueUpSwcCqSoEOx6awQqrBPwMZJc+whR+YRmo8nsUtUagtjlej+vAOUpAR7q1n7YQ6H1k4VhIS+jhavmNAUkXYIL4G4u0VVNmDhMAq6mBL37YslXRJAGt2VgSWHWBboBWnvVwQcQnLnvfvADBYez1PNKrFW8NS1sjrVq+OPI2s+T2A9iVkHNhKqaOmNBQ6lA== 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: f850fe6b-ab7c-43ee-772a-08d588cb85e6 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2018 10:16:44.8224 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0579 X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00265.txt.bz2 Q291bGQgeW91IHBsZWFzZSB0cnkgZ2RiLmdkYi91bml0dGVzdC5leHAgYW5k IGdkYi5zZXJ2ZXIvdW5pdHRlc3QuZXhwDQpBcyB0aGF04oCZbGwgdGVzdCBl dmVyeSB4bWwgZmlsZSB5b3VyIGJ1aWxkIHVzZXMuDQpBbmQsIGlmIHRoZXJl IGFyZSBhbnkgZXJyb3JzIGNvdWxkIHlvdSBwbGVhc2Ugc2VuZCBtZSB0aGUg LmxvZyBmaWxlIGNvbnRlbnRzIC0gdGhpbmsgSQ0Kc2hvdWxkIGhhdmUgZW5v dWdoIGluZm8gZnJvbSB0aGVyZSB0byBkZWJ1ZyAoZG9u4oCZdCBoYXZlIGFu IHMzOTAgdG8gdHJ5IHRoaXMgbXlzZWxmKS4NCg0KWW91ciByZXZpZXcgY29t bWVudHMgb24gdGhlIG90aGVyIHBhdGNoZXMgbWFrZSBzZW5zZS4gSGF2ZW7i gJl0IGhhZCBhIGNoYW5jZSB0bw0KdHJ5IHRoZSBjaGFuZ2VzIHlldCwgYnV0 IEnigJlsbCByZXBseSB0aGVyZSBpZiBJIGhhdmUgYW55IGlzc3VlcyB3aXRo IHRoZW0uDQoNCk1hbnkgdGhhbmtzIGZvciB0aGUgcmV2aWV3IQ0KDQpBbGFu Lg0KDQo+IE9uIDEyIE1hciAyMDE4LCBhdCAxNzoxOSwgUGhpbGlwcCBSdWRv IDxwcnVkb0BsaW51eC52bmV0LmlibS5jb20+IHdyb3RlOg0KPiANCj4gSGkg QWxhbiwNCj4gDQo+IHNvcnJ5IGZvciB0aGUgbGF0ZSByZXNwb25zZS4gIEhl cmUgYXJlIG15IGZpcnN0IGZpbmRpbmdzLiAgSSdtIGFmcmFpZCB0aGVyZSBp cw0KPiBhIGJ1ZyBzb21ld2hlcmUgaW4geW91IHBhdGNoIHNldC4gIFdoZW4g cnVubmluZyB0aGUgdGVzdHN1aXRlIHRoZXJlIGFyZSBxdWl0ZSBhDQo+IGxv dCBvZiB0ZXN0IGZyb20gZ2RiLnNlcnZlciBmYWlsaW5nIChhdCBsZWFzdCBv biBzMzkwKS4gSSBoYXZlIHRvIHRha2UgYSBjbG9zZXINCj4gbG9vayBhdCBp dCB0b21vcnJvdy4NCj4gDQo+IE5ldmVydGhlbGVzcyB0aGVyZSBhcmUgc29t ZSBjb21tZW50cyBpIGFscmVhZHkgaGF2ZSB0byB5b3VyIHBhdGNoZXMuDQo+ IA0KPiBUaGFua3MNCj4gUGhpbGlwcA0KPiANCj4gDQo+IE9uIEZyaSwgOSBN YXIgMjAxOCAwODoyMTozNiArMDAwMA0KPiBBbGFuIEhheXdhcmQgPEFsYW4u SGF5d2FyZEBhcm0uY29tPiB3cm90ZToNCj4gDQo+PiBQaW5nIGZvciB0aGlz IHNlcmllcyBwbGVhc2UuDQo+PiANCj4+IEFsYW4uDQo+PiANCj4+PiBPbiAx IE1hciAyMDE4LCBhdCAxMTozOCwgQWxhbiBIYXl3YXJkIDxBbGFuLkhheXdh cmRAYXJtLmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4gVjMgYnVpbGRzIG9uIHBy ZXZpb3VzIHJldmlldyBjb21tZW50cywgYW5kIHRoZSBhZGRpdGlvbmFsIHBh dGNoZXMgSSd2ZQ0KPj4+IGFscmVhZHkgcHVzaGVkLiBDb21wbGV0ZSBwYXRj aCBzZXJpZXMgcHVzaGVkIHRvIGJyYW5jaCB1c2Vycy9haGF5d2FyZC94bWwz Lg0KPj4+IA0KPj4+IFN1bW1hcnk6DQo+Pj4gDQo+Pj4gRm9yIHRob3NlIHRh cmdldHMgdGhhdCB1c2UgbmV3IHN0eWxlIHRhcmdldCBkZXNjcmlwdGlvbnMs IHRoaXMgc2V0IG9mIHBhdGNoZXMNCj4+PiByZW1vdmVzIHRoZSBkZXBlbmRl bmN5IG9uIHhtbCBmaWxlcy4gTmFtZWx5Og0KPj4+ICogUmVtb3ZlcyBpbmNs dXNpb24gb2YgeG1sIGZpbGVzIHdpdGhpbiBnZGJzZXJ2ZXIuDQo+Pj4gKiBS ZW1vdmVzIHRoZSByZXF1aXJlbWVudCBmb3IgdGhlIC5jIGZpbGVzIGluIGZl YXR1cmVzLyB0byBiZSBnZW5lcmF0ZWQgZnJvbQ0KPj4+IGNhY2hlZCB4bWwg ZmlsZXMuDQo+Pj4gVGhpcyBpcyBtYWRlIHBvc3NpYmxlIGJ5IGNoYW5naW5n IHhtbCBkZXNjcmlwdGlvbnMgZ2VuZXJhdGVkIGJ5IGdkYnNlcnZlciwgc28N Cj4+PiB0aGF0IGluc3RlYWQgb2YgaW5jbHVkaW5nIHhtbCBmaWxlIG5hbWVz LCBnZGJzZXJ2ZXIgbm93IGdlbmVyYXRlIGEgY29tcGxldGUNCj4+PiB4bWwg ZGVzY3JpcHRpb24uDQo+Pj4gDQo+Pj4gVGhlIHNlY29uZCBwb2ludCB3aWxs IGJlIHJlcXVpcmVkIGZvciBhYXJjaDY0IFNWRSBzdXBwb3J0LCB3aGVyZSB0 aGUgcmVnaXN0ZXINCj4+PiBzaXplIGFyZSB2YXJpYWJsZS4gQ3JlYXRpbmcg U1ZFIHhtbCBmaWxlcyBmb3IgZXZlcnkgcG9zc2libGUgdmVjdG9yIGxlbmd0 aA0KPj4+IHdvdWxkIG5vdCBiZSBmZWFzaWJsZS4gSW5zdGVhZCB0aGUgcGxh biBmb3IgYWFyY2g2NCBTVkUgaXMgdG8gaGFuZCB3cml0ZSB0aGUNCj4+PiBm ZWF0dXJlcy8gLmMgY29kZSB0aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGdlbmVy YXRlZCBmcm9tIHhtbC4NCj4+PiANCj4+PiANCj4+PiBYTUwgR2VuZXJhdGlv bjoNCj4+PiANCj4+PiBJbiBleGlzdGluZyBjb2RlLCBnZGJzZXJ2ZXIgdXNl cyBDIGNvZGUgYXV0byBnZW5lcmF0ZWQgZnJvbSB4bWwgZmlsZXMgdG8NCj4+ PiBjcmVhdGUgdGFyZ2V0IGRlc2NyaXB0aW9ucy4gV2hlbiBzZW5kaW5nIGFu IHhtbCBkZXNjcmlwdGlvbiB0byBHREIsIHRoZQ0KPj4+IGZ1bmN0aW9uIHRk ZXNjX2dldF9mZWF0dXJlc194bWwgKCkgY3JlYXRlcyBhbiB4bWwgY29udGFp bmluZyB0aGUgbmFtZSBvZiB0aGUNCj4+PiBvcmlnaW5hbCB4bWwgZmlsZShz KS4gRm9yIGV4YW1wbGU6DQo+Pj4gDQo+Pj4gPCFET0NUWVBFIHRhcmdldCBT WVNURU0gImdkYi10YXJnZXQuZHRkIj4NCj4+PiA8dGFyZ2V0Pg0KPj4+IDxh cmNoaXRlY3R1cmU+aTM4NjwvYXJjaGl0ZWN0dXJlPg0KPj4+IDxvc2FiaT5H TlUvTGludXg8L29zYWJpPg0KPj4+IDx4aTppbmNsdWRlIGhyZWY9IjMyYml0 LWNvcmUueG1sIi8+DQo+Pj4gPHhpOmluY2x1ZGUgaHJlZj0iMzJiaXQtc3Nl LnhtbCIvPg0KPj4+IDx4aTppbmNsdWRlIGhyZWY9IjMyYml0LWxpbnV4Lnht bCIvPg0KPj4+IDx4aTppbmNsdWRlIGhyZWY9IjMyYml0LWF2eC54bWwiLz4N Cj4+PiA8L3RhcmdldD4NCj4+PiANCj4+PiBVcG9uIHJlY2VpcHQsIEdEQiB0 aGVuIG1ha2VzIHJlcXVlc3RzIHRvIGdkYnNlcnZlciBmb3IgdGhlIGNvbnRl bnRzIG9mIHRoZQ0KPj4+IHhtbCBmaWxlcy4gR2Ric2VydmVyIGtlZXBzIGZ1 bGwgY29waWVzIGFsbCB0aGUgeG1sIGZpbGVzIGluc2lkZSB0aGUgYmluYXJ5 Lg0KPj4+IA0KPj4+IFRoaXMgcGF0Y2ggc2VyaWVzIGFkZHMgY29tbW9uIGNv ZGUgdGhhdCBhbGxvd3MgZ2Ric2VydmVyIChhbmQgZ2RiKSB0byB0dXJuDQo+ Pj4gYSBDIHRhcmdldCBkZXNjcmlwdGlvbiBzdHJ1Y3R1cmUgaW50byB4bWwu DQo+Pj4gTm93IHdoZW4gYXNrZWQgZm9ydCBhbiB4bWwgZGVzY3JpcHRpb24g dG8gZ2RiLCBnZGJzZXJ2ZXIgdHVybnMgdGhlIGVudGlyZQ0KPj4+IHRhcmdl dCBkZXNjcmlwdGlvbiBzdHJ1Y3R1cmUgYmFjayBpbnRvIHhtbCwgd2l0aG91 dCB1c2luZyBhbnkgY2FjaGVkIGZpbGVzLg0KPj4+IFByb2R1Y2luZywgZm9y IGV4YW1wbGU6DQo+Pj4gDQo+Pj4gPCFET0NUWVBFIHRhcmdldCBTWVNURU0g ImdkYi10YXJnZXQuZHRkIj4NCj4+PiA8dGFyZ2V0Pg0KPj4+IDxhcmNoaXRl Y3R1cmU+aTM4NjwvYXJjaGl0ZWN0dXJlPg0KPj4+IDxvc2FiaT5HTlUvTGlu dXg8L29zYWJpPg0KPj4+IDxmZWF0dXJlIG5hbWU9Im9yZy5nbnUuZ2RiLmkz ODYuY29yZSI+DQo+Pj4gICA8ZmxhZ3MgaWQ9ImkzODZfZWZsYWdzIiBzaXpl PSI0Ij4NCj4+PiAgICAgPGZpZWxkIG5hbWU9IkNGIiBzdGFydD0iMCIgZW5k PSIwIi8+DQo+Pj4gICAgIDxmaWVsZCBuYW1lPSIiIHN0YXJ0PSIxIiBlbmQ9 IjEiLz4NCj4+PiAgICAgPGZpZWxkIG5hbWU9IlBGIiBzdGFydD0iMiIgZW5k PSIyIi8+DQo+Pj4gICAgIDxmaWVsZCBuYW1lPSJBRiIgc3RhcnQ9IjQiIGVu ZD0iNCIvPg0KPj4+IC4uLmV0Yy4uLg0KPj4+IA0KPj4+IA0KPj4+IFBhdGNo IENvbnRlbnRzOg0KPj4+IA0KPj4+IFBhdGNoZXMgMi00IGNvbW1vbmlzZSB0 aGUgdmFyaW91cyB0YXJnZXQgZGVzY3JpcHRvciBmdW5jdGlvbmFsaXR5LCBh bGxvd2luZw0KPj4+IGdkYnNlcnZlciB0byBwYXJzZSB0YXJnZXQgZGVzY3Jp cHRpb25zIGluIHRoZSBzYW1lIHdheSBhcyBnZGIuIFRoaXMgc2VyaWVzDQo+ Pj4gZG9lcyBub3QgY29tbW9uaXNlIHRhcmdldF9kZXNjLCBidXQgdGhpcyBp cyBob3BlZnVsbHkgYSBsb25nIHRlcm0gZ29hbC4NCj4+PiANCj4+PiBUaGUg c2l4dGggcGF0Y2ggYWRkcyB0aGUgeG1sIHByaW50ZXIsIHdoaWNoIGl0ZXJh dGVzIHRocm91Z2ggdGhlIHBhcnNpbmcNCj4+PiBnZW5lcmF0ZWQgaW4gdGhl IHByZXZpb3VzIHBhdGNoZXMuDQo+Pj4gDQo+Pj4gVGhlIG90aGVyIHBhdGNo ZXMgYXJlIGNsZWFuIHVwIHBhdGNoZXMuDQo+Pj4gDQo+Pj4gDQo+Pj4gDQo+ Pj4gUGF0Y2hlcyBoYXZlIGJlZW4gdGVzdGVkIG9uIGEgbWFrZSBjaGVjayBv biB4ODYgdGFyZ2V0cz1hbGwgYnVpbGQgd2l0aA0KPj4+IHRhcmdldCBib2Fy ZCB1bml4IG5hdGl2ZS1nZGJzZXJ2ZXIuIEFsc28gdGVzdGVkIGFhcmNoNjQu IEJ1aWx0IGZvciBwb3dlcg0KPj4+IChiZWNhdXNlIGl0IGRvZXMgbm90IHVz ZSBuZXcgdGFyZ2V0IGRlc2NyaXB0aW9ucyksIGJ1dCBhbSB1bmFibGUgdG8g dGVzdC4NCj4+PiBJbiBhZGRpdGlvbiwgcGF0Y2ggc2l4IGFkZHMgbmV3IHRl c3QgY2FzZXMgdG8gdW5pdCB0ZXN0Lg0KPj4+IA0KPj4+IEFsYW4uDQo+Pj4g DQo+Pj4gZ2RiL01ha2VmaWxlLmluICAgICAgICAgICAgICAgICAgICB8ICAg MiArDQo+Pj4gZ2RiL2NvbW1vbi90ZGVzYy5jICAgICAgICAgICAgICAgICB8 IDQ0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+IGdk Yi9jb21tb24vdGRlc2MuaCAgICAgICAgICAgICAgICAgfCAzMTMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQ0KPj4+IGdkYi9mZWF0dXJlcy9hYXJjaDY0LWNvcmUuYyAgICAgICAg fCAgIDIgKy0NCj4+PiBnZGIvZmVhdHVyZXMvYWFyY2g2NC1mcHUuYyAgICAg ICAgIHwgICAyICstDQo+Pj4gZ2RiL2ZlYXR1cmVzL2kzODYvMzJiaXQtYXZ4 LmMgICAgICB8ICAgMiArLQ0KPj4+IGdkYi9mZWF0dXJlcy9pMzg2LzMyYml0 LWF2eDUxMi5jICAgfCAgIDIgKy0NCj4+PiBnZGIvZmVhdHVyZXMvaTM4Ni8z MmJpdC1jb3JlLmMgICAgIHwgICAyICstDQo+Pj4gZ2RiL2ZlYXR1cmVzL2kz ODYvMzJiaXQtbGludXguYyAgICB8ICAgMiArLQ0KPj4+IGdkYi9mZWF0dXJl cy9pMzg2LzMyYml0LW1weC5jICAgICAgfCAgIDIgKy0NCj4+PiBnZGIvZmVh dHVyZXMvaTM4Ni8zMmJpdC1wa2V5cy5jICAgIHwgICAyICstDQo+Pj4gZ2Ri L2ZlYXR1cmVzL2kzODYvMzJiaXQtc3NlLmMgICAgICB8ICAgMiArLQ0KPj4+ IGdkYi9mZWF0dXJlcy9pMzg2LzY0Yml0LWF2eC5jICAgICAgfCAgIDIgKy0N Cj4+PiBnZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1hdng1MTIuYyAgIHwgICAy ICstDQo+Pj4gZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtY29yZS5jICAgICB8 ICAgMiArLQ0KPj4+IGdkYi9mZWF0dXJlcy9pMzg2LzY0Yml0LWxpbnV4LmMg ICAgfCAgIDIgKy0NCj4+PiBnZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1tcHgu YyAgICAgIHwgICAyICstDQo+Pj4gZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQt cGtleXMuYyAgICB8ICAgMiArLQ0KPj4+IGdkYi9mZWF0dXJlcy9pMzg2LzY0 Yml0LXNlZ21lbnRzLmMgfCAgIDIgKy0NCj4+PiBnZGIvZmVhdHVyZXMvaTM4 Ni82NGJpdC1zc2UuYyAgICAgIHwgICAyICstDQo+Pj4gZ2RiL2ZlYXR1cmVz L2kzODYveDMyLWNvcmUuYyAgICAgICB8ICAgMiArLQ0KPj4+IGdkYi9mZWF0 dXJlcy90aWM2eC1jNnhwLmMgICAgICAgICAgfCAgIDIgKy0NCj4+PiBnZGIv ZmVhdHVyZXMvdGljNngtY29yZS5jICAgICAgICAgIHwgICAyICstDQo+Pj4g Z2RiL2ZlYXR1cmVzL3RpYzZ4LWdwLmMgICAgICAgICAgICB8ICAgMiArLQ0K Pj4+IGdkYi9nZGJzZXJ2ZXIvTWFrZWZpbGUuaW4gICAgICAgICAgfCAgIDMg Kw0KPj4+IGdkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLnNydiAgICAgICAgfCAg MzYgLS0tLS0tLQ0KPj4+IGdkYi9nZGJzZXJ2ZXIvdGRlc2MuYyAgICAgICAg ICAgICAgfCAyNDAgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+Pj4gZ2RiL2dkYnNlcnZlci90ZGVzYy5oICAgICAgICAg ICAgICB8ICA1NyArKy0tLS0tLS0tDQo+Pj4gZ2RiL3JlZ2Zvcm1hdHMvcmVn ZGF0LnNoICAgICAgICAgICB8ICAgNSArLQ0KPj4+IGdkYi90YXJnZXQtZGVz Y3JpcHRpb25zLmMgICAgICAgICAgfCA1OTYgKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ PiBnZGIveG1sLXRkZXNjLmMgICAgICAgICAgICAgICAgICAgIHwgICA5ICsr DQo+Pj4gZ2RiL3htbC10ZGVzYy5oICAgICAgICAgICAgICAgICAgICB8ICAg NSArDQo+Pj4gMzIgZmlsZXMgY2hhbmdlZCwgOTc0IGluc2VydGlvbnMoKyks IDc3OSBkZWxldGlvbnMoLSkNCj4+PiANCj4+IA0KPiANCg0K >From gdb-patches-return-145937-listarch-gdb-patches=sources.redhat.com@sourceware.org Tue Mar 13 11:49:10 2018 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 79480 invoked by alias); 13 Mar 2018 11:49:10 -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 79470 invoked by uid 89); 13 Mar 2018 11:49:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-wr0-f196.google.com Received: from mail-wr0-f196.google.com (HELO mail-wr0-f196.google.com) (209.85.128.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Mar 2018 11:49:07 +0000 Received: by mail-wr0-f196.google.com with SMTP id z12so21768790wrg.4 for ; Tue, 13 Mar 2018 04:49:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=X0IntJnSj8EvLHdu7QULdJ3GTDp8ZiHY9Slz+IOZdnY=; b=e7HBF+OzrLj/qcDBK6TpnXHBbEkIKM4c3oAhq4Y3WmuYkSUPBZbFeD9EsGYMc+Ro6J G0fNRkcLpahiklYY9Sr2Np/iPmAc3YRENfaT6QKTiCSzqroSRXf2l/PMdD5ZCSf6EC3i PRrTY6zMAlSSexoIyqhnovhbflsHTM+4uF4Hljc852dVImcdnUz9wIHkW3OoQnY1bclw rZh2Ds906sFhTRhoNjGLd5AnBxpYiIrjcvjrVdftG/quN2iAhsCps/+gh4b7G/0YFOnP 9hjMuscUgcRWv5Z9pxTbvnuL206OPEBpEXNQuedDtzFNZoxks+tM1KG5EMikBQKDy1gd pA3A== X-Gm-Message-State: AElRT7E3po7KchlzXO6cDapBtSIwF87qVOOt2J5FqpKMNazpUbwHIeUB AMyFA3aQzs0oHgb0LgLv4WY= X-Google-Smtp-Source: AG47ELuyPgFmvuMKA6ugMmRov2JEC4TSt+xraNR8v4HEWuALcZNFkMhrkk3mKz4jN+4Fvb0AYiuSwA== X-Received: by 10.223.176.98 with SMTP id g31mr323469wra.256.1520941745223; Tue, 13 Mar 2018 04:49:05 -0700 (PDT) Received: from E107787-LIN (static.42.136.251.148.clients.your-server.de. [148.251.136.42]) by smtp.gmail.com with ESMTPSA id m9sm61021wrf.13.2018.03.13.04.49.03 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 13 Mar 2018 04:49:04 -0700 (PDT) From: Yao Qi To: Stephen Roberts Cc: gdb-patches@sourceware.org, nd@arm.com Subject: Re: [PATCH] This patch replaces the linear search in find_pc_sect_line with a binary search for faster performance. References: <1520924729-12839-1-git-send-email-stephen.roberts@arm.com> Date: Tue, 13 Mar 2018 11:49:00 -0000 In-Reply-To: <1520924729-12839-1-git-send-email-stephen.roberts@arm.com> (Stephen Roberts's message of "Tue, 13 Mar 2018 07:05:29 +0000") Message-ID: <86lgewdwly.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00266.txt.bz2 Content-length: 4301 Stephen Roberts writes: > This patch addresses slowness when setting breakpoints, especially in > heavily templatized code. Profiling showed that find_pc_sect_line in > symtab.c was the performance bottleneck. The original logic performed a > linear search over ordered data. This patch uses a binary search, as > suggested by comments around the function. There are no behavioural > changes, but gdb is now faster at setting breakpoints in template code. > Tested using on make check on an x86 target. The optimisation speeds up > the included template-breakpoints.py performance test by a factor of 7 > on my machine. Nice! Can you run template-breakpoints.exp twice, with the fix and without the fix, and post the contents of ./testsuite/perftest.sum here. > @@ -3206,23 +3204,25 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_secti= on *section, int notcurrent) > continue; > } >=20=20 > - prev =3D NULL; > - item =3D l->item; /* Get first line info. */ > + prev =3D NULL; > + item =3D l->item; /* Get first line info. */ >=20=20 > - /* Is this file's first line closer than the first lines of other = files? > - If so, record this file, and its first line, as best alternate.= */ > - if (item->pc > pc && (!alt || item->pc < alt->pc)) > - alt =3D item; > + /* Is this file's first line closer than the first lines of other files? > + If so, record this file, and its first line, as best alternate. */ > + if (item->pc > pc && (!alt || item->pc < alt->pc)) > + alt =3D item; >=20=20 Unnecessary change. > - for (i =3D 0; i < len; i++, item++) > + auto PCCompare =3D [](const CORE_ADDR &pc, Nit: the naming of PCCompare looks odd to me. How about "pc_compare"? > + const struct linetable_entry &lhs) -> bool > { > - /* Leave prev pointing to the linetable entry for the last line > - that started at or before PC. */ > - if (item->pc > pc) > - break; > + return pc < lhs.pc; Indentation looks wrong to me. > + }; >=20=20 > - prev =3D item; > - } > + struct linetable_entry *first =3D item; > + struct linetable_entry *last =3D item + len; > + item =3D std::upper_bound (first, last, pc, PCCompare); > + if (item !=3D first) > + prev =3D item - 1; /* Found a matching item. */ Lack of indent. >=20=20 > /* At this point, prev points at the line whose start addr is <=3D= pc, and > item points at the next line. If we ran off the end of the lin= etable > @@ -3247,7 +3247,7 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section= *section, int notcurrent) > /* If another line (denoted by ITEM) is in the linetable and its > PC is after BEST's PC, but before the current BEST_END, then > use ITEM's PC as the new best_end. */ > - if (best && i < len && item->pc > best->pc > + if (best && item < last && item->pc > best->pc > && (best_end =3D=3D 0 || best_end > item->pc)) > best_end =3D item->pc; > } > diff --git a/gdb/testsuite/gdb.perf/template-breakpoints.cc b/gdb/testsui= te/gdb.perf/template-breakpoints.cc > new file mode 100644 > index 0000000..164c31e > --- /dev/null > +++ b/gdb/testsuite/gdb.perf/template-breakpoints.cc > @@ -0,0 +1,97 @@ > +/* This testcase is part of GDB, the GNU debugger. > + > + Copyright (C) 2016-2018 Free Software Foundation, Inc. 2016-2018 -> 2018 > diff --git a/gdb/testsuite/gdb.perf/template-breakpoints.exp b/gdb/testsu= ite/gdb.perf/template-breakpoints.exp > new file mode 100644 > index 0000000..e9fb669 > --- /dev/null > +++ b/gdb/testsuite/gdb.perf/template-breakpoints.exp > @@ -0,0 +1,65 @@ > +# Copyright (C) 2016-2018 Free Software Foundation, Inc. Likewise. > --- /dev/null > +++ b/gdb/testsuite/gdb.perf/template-breakpoints.py > @@ -0,0 +1,33 @@ > +# Copyright (C) 2016-2018 Free Software Foundation, Inc. > + Likewise. > + > +class TemplateBreakpoints (perftest.TestCaseWithBasicMeasurements): > + def __init__(self): > + super (TemplateBreakpoints, self).__init__ ("template-breakpoint= s") > + > + def warm_up(self): > + for _ in range(0, 2): > + gdb.Breakpoint("template-breakpoints.cc:38").delete() Can you set breakpoint on ThirdDimension::value(), so that it is less fragi= le. --=20 Yao (=E9=BD=90=E5=B0=A7)