From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 64993 invoked by alias); 17 Apr 2019 09:39:53 -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 64984 invoked by uid 89); 17 Apr 2019 09:39:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.3 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.1 spammy=20190408, 2019-04-08 X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30078.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.78) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 17 Apr 2019 09:39:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GbkMxyy60+ABqg/ufR0n3p+EzgMtM+ijkoTp5uMbs/o=; b=e6hc770fVEwmuHnZWWvqK2hPbyr3ZEN+w+CJyvZFmJY+BI1HvrP77y73tsSH3f6dMmKSLDhgPrLpYLHMjliQCS/Asd/YDc5qo/rW2jQ3nQC/3XwONFmHb782adzQaWLLa5XMB13NCpwun4jRcT5ku0CxcInT1Cmpom+k62DgKRA= Received: from AM4PR0802MB2129.eurprd08.prod.outlook.com (10.172.217.20) by AM4PR0802MB2161.eurprd08.prod.outlook.com (10.172.216.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1813.12; Wed, 17 Apr 2019 09:39:46 +0000 Received: from AM4PR0802MB2129.eurprd08.prod.outlook.com ([fe80::c86e:e085:65af:5ca4]) by AM4PR0802MB2129.eurprd08.prod.outlook.com ([fe80::c86e:e085:65af:5ca4%12]) with mapi id 15.20.1813.011; Wed, 17 Apr 2019 09:39:46 +0000 From: Alan Hayward To: Eli Zaretskii , Tom Tromey CC: "gdb-patches\\@sourceware.org" , nd Subject: Re: [PATCH 2/4] gdbserver: Add debug-file option Date: Wed, 17 Apr 2019 09:39:00 -0000 Message-ID: <73DB8BF0-3C90-4503-BE4F-C9841F40E44C@arm.com> References: <20190416101729.16176-1-alan.hayward@arm.com> <20190416101729.16176-3-alan.hayward@arm.com> <83o956ggdw.fsf@gnu.org> In-Reply-To: <83o956ggdw.fsf@gnu.org> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-Type: text/plain; charset="utf-8" Content-ID: <6B473CA4A5077D4EA319F2DC77C7D240@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-IsSubscribed: yes X-SW-Source: 2019-04/txt/msg00291.txt.bz2 PiANCj4gT24gMTYgQXByIDIwMTksIGF0IDE1OjQzLCBFbGkgWmFyZXRza2lp IDxlbGl6QGdudS5vcmc+IHdyb3RlOg0KPiANCj4+IEZyb206IEFsYW4gSGF5 d2FyZCA8QWxhbi5IYXl3YXJkQGFybS5jb20+DQo+PiBDQzogbmQgPG5kQGFy bS5jb20+LCBBbGFuIEhheXdhcmQgPEFsYW4uSGF5d2FyZEBhcm0uY29tPg0K Pj4gRGF0ZTogVHVlLCAxNiBBcHIgMjAxOSAxMDoxNzo0MSArMDAwMA0KPj4g DQo+PiBnZGIvZG9jL0NoYW5nZUxvZzoNCj4+IA0KPj4gMjAxOS0wNC0xNiAg QWxhbiBIYXl3YXJkICA8YWxhbi5oYXl3YXJkQGFybS5jb20+DQo+PiANCj4+ IAkqIGdkYi50ZXhpbmZvDQo+PiAJKE90aGVyIENvbW1hbmQtTGluZSBBcmd1 bWVudHMgZm9yIGdkYnNlcnZlcik6IEFkZCBkZWJ1Zy1maWxlDQo+IA0KPiBU aGUgbm9kZSBuYW1lIGluIHBhcmVudGhlc2VzIHNob3VsZCBiZSBvbiB0aGUg c2FtZSBsaW5lIGFzDQo+IGdkYi50ZXhpbmZvLg0KDQpGaXhlZC4NCg0KPiAN Cj4+IAkoTW9uaXRvciBDb21tYW5kcyBmb3IgZ2Ric2VydmVyKTogTGlrZXdp c2UuDQo+PiAJKGdkYnNlcnZlciBtYW4pOiBMaWtld2lzZS4NCj4gDQo+IEl0 IGlzIGJldHRlciB0byBoYXZlIGEgbGlzdCBvZiBub2RlIG5hbWVzIGluIHBh cmVudGhlc2VzLCB3aXRoIG9ubHkNCj4gb25lIGRlc2NyaXB0aW9uLCB0aGFu IGhhdmluZyBzZXBhcmF0ZSBlbnRyaWVzIHRoYXQgc2F5ICJMaWtld2lzZeKA nS4NCg0KV2FzbuKAmXQgYXdhcmUgaXQgY291bGQgYmUgZG9uZSB0aGF0IHdh eS4gRml4ZWQuDQoNCj4gDQo+PiArQGNpbmRleCBAb3B0aW9uey0tZGVidWct ZmlsZX0sIEBjb2Rle2dkYnNlcnZlcn0gb3B0aW9uDQo+IA0KPiBJIHRoaW5r IGl0IHdvdWxkIGJlIGdvb2QgdG8gaGF2ZSBoZXJlIGFuIGFkZGl0aW9uYWwg aW5kZXggZW50cnk6DQo+IA0KPiBAY2luZGV4IEBjb2Rle2dkYnNlcnZlcn0s IHNlbmQgYWxsIGRlYnVnIG91dHB1dCB0byBhIHNpbmdsZSBmaWxlDQoNCk1h a2VzIHNlbnNlLiBBZGRlZC4NCg0KPiANCj4+ICtUaGUgQG9wdGlvbnstLWRl YnVnLWZpbGU9ZmlsZW5hbWV9IG9wdGlvbiB0ZWxscyBAY29kZXtnZGJzZXJ2 ZXJ9IHRvDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl4N Cj4gImZpbGVuYW1lIiBzaG91bGQgYmUgaW4gQHZhciBoZXJlLCBhcyBpdCBp cyBhIHBhcmFtZXRlci4NCg0KRG9uZS4NCg0KPiANCj4+ICt3cml0ZSBhbnkg ZGVidWcgb3V0cHV0IHRvIHRoZSBnaXZlbiBmaWxlLiAgVGhlc2Ugb3B0aW9u cyBhcmUgaW50ZW5kZWQNCj4gICAgICAgICAgICAgICAgICAgICAgICAgXl5e Xl5eXl5eXl5eXl5eXl4NCj4gInRvIHRoZSBnaXZlbiBAdmFye2ZpbGVuYW1l fSIsIHNvIGFzIHRvIHJlZmVyZW5jZSB0aGUgcGFyYW1ldGVyLg0KDQpEb25l Lg0KDQo+IA0KPj4gK0BpdGVtIC0tZGVidWctZmlsZT1maWxlbmFtZQ0KPj4g K0luc3RydWN0IEBjb2Rle2dkYnNlcnZlcn0gdG8gc2VuZCBhbnkgZGVidWcg b3V0cHV0IHRvIHRoZSBnaXZlbiBmaWxlLg0KPiANCj4gU2FtZSBoZXJlLg0K DQpEb25lLg0KDQo+IA0KPiBUaGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIGFy ZSBva2F5IHdpdGggdGhlc2Ugbml0cyBmaXhlZC4NCj4gDQo+IFRoYW5rcy4N Cg0KPiANCj4gT24gMTYgQXByIDIwMTksIGF0IDIwOjM5LCBUb20gVHJvbWV5 IDx0b21AdHJvbWV5LmNvbT4gd3JvdGU6DQo+IA0KPj4+Pj4+ICJBbGFuIiA9 PSBBbGFuIEhheXdhcmQgPEFsYW4uSGF5d2FyZEBhcm0uY29tPiB3cml0ZXM6 DQo+IA0KPiBBbGFuPiBBZGQgY29tbWFuZCBsaW5lIG9wdGlvbiB0byBzZW5k IGFsbCBkZWJ1ZyBvdXRwdXQgdG8gYSBnaXZlbiBmaWxlLg0KPiBBbGFuPiBB bHdheXMgZGVmYXVsdCBiYWNrIHRvIHN0ZGVyci4NCj4gDQo+IEFsYW4+IEFk ZCBtYXRjaGluZyBtb25pdG9yIGNvbW1hbmQuIEFkZCBkb2N1bWVudGF0aW9u Lg0KPiANCj4gVGhhbmtzLiAgVGhlIGNvZGUgcGFydHMgb2YgdGhpcyBhcmUg b2suDQo+IA0KPiBPbmUgbGl0dGxlIG5pdDoNCj4gDQo+IEFsYW4+ICsgIGRl YnVnX2ZpbGUgPSBmcHRyOw0KPiBBbGFuPiArICByZXR1cm47DQo+IEFsYW4+ ICt9DQo+IA0KPiAuLi50aGlzICJyZXR1cm47IiBjYW4gYmUgcmVtb3ZlZC4N Cj4gDQoNCkRvbmUuDQoNCg0KDQpUaGFua3MhDQoNClB1c2hlZCB0aGUgZm9s bG93aW5nOg0KDQoNCg0KDQpkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9DaGFuZ2VM b2cgYi9nZGIvZG9jL0NoYW5nZUxvZw0KaW5kZXggMjdlNjVlYTU2Yy4uNjQw NzMyNzhmYSAxMDA2NDQNCi0tLSBhL2dkYi9kb2MvQ2hhbmdlTG9nDQorKysg Yi9nZGIvZG9jL0NoYW5nZUxvZw0KQEAgLTEsMyArMSw5IEBADQorMjAxOS0w NC0xNyAgQWxhbiBIYXl3YXJkICA8YWxhbi5oYXl3YXJkQGFybS5jb20+DQor DQorICAgICAgICogZ2RiLnRleGluZm8gKE90aGVyIENvbW1hbmQtTGluZSBB cmd1bWVudHMgZm9yIGdkYnNlcnZlcikNCisgICAgICAgKE1vbml0b3IgQ29t bWFuZHMgZm9yIGdkYnNlcnZlcikNCisgICAgICAgKGdkYnNlcnZlciBtYW4p OiBBZGQgZGVidWctZmlsZSBvcHRpb24uDQorDQoyMDE5LTA0LTA4ICBLZXZp biBCdWV0dG5lciAgPGtldmluYkByZWRoYXQuY29tPg0KDQogICAgICAgKiBw eXRob24udGV4aSAoSW5mZXJpb3JzIEluIFB5dGhvbik6IFJlbmFtZQ0KZGlm ZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50 ZXhpbmZvDQppbmRleCBmNDEwZDAyNmI4Li5hM2E1ZjNlMjhjIDEwMDY0NA0K LS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbw0KKysrIGIvZ2RiL2RvYy9nZGIu dGV4aW5mbw0KQEAgLTIxMzMyLDggKzIxMzMyLDEyIEBAIFRoZSBAb3B0aW9u ey0tZGVidWd9IG9wdGlvbiB0ZWxscyBAY29kZXtnZGJzZXJ2ZXJ9IHRvIGRp c3BsYXkgZXh0cmENCnN0YXR1cyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGVi dWdnaW5nIHByb2Nlc3MuDQpAY2luZGV4IEBvcHRpb257LS1yZW1vdGUtZGVi dWd9LCBAY29kZXtnZGJzZXJ2ZXJ9IG9wdGlvbg0KVGhlIEBvcHRpb257LS1y ZW1vdGUtZGVidWd9IG9wdGlvbiB0ZWxscyBAY29kZXtnZGJzZXJ2ZXJ9IHRv IGRpc3BsYXkNCi1yZW1vdGUgcHJvdG9jb2wgZGVidWcgb3V0cHV0LiAgVGhl c2Ugb3B0aW9ucyBhcmUgaW50ZW5kZWQgZm9yDQotQGNvZGV7Z2Ric2VydmVy fSBkZXZlbG9wbWVudCBhbmQgZm9yIGJ1ZyByZXBvcnRzIHRvIHRoZSBkZXZl bG9wZXJzLg0KK3JlbW90ZSBwcm90b2NvbCBkZWJ1ZyBvdXRwdXQuDQorQGNp bmRleCBAb3B0aW9uey0tZGVidWctZmlsZX0sIEBjb2Rle2dkYnNlcnZlcn0g b3B0aW9uDQorQGNpbmRleCBAY29kZXtnZGJzZXJ2ZXJ9LCBzZW5kIGFsbCBk ZWJ1ZyBvdXRwdXQgdG8gYSBzaW5nbGUgZmlsZQ0KK1RoZSBAb3B0aW9uey0t ZGVidWctZmlsZT1AdmFye2ZpbGVuYW1lfX0gb3B0aW9uIHRlbGxzIEBjb2Rl e2dkYnNlcnZlcn0gdG8NCit3cml0ZSBhbnkgZGVidWcgb3V0cHV0IHRvIHRo ZSBnaXZlbiBAdmFye2ZpbGVuYW1lfS4gIFRoZXNlIG9wdGlvbnMgYXJlIGlu dGVuZGVkDQorZm9yIEBjb2Rle2dkYnNlcnZlcn0gZGV2ZWxvcG1lbnQgYW5k IGZvciBidWcgcmVwb3J0cyB0byB0aGUgZGV2ZWxvcGVycy4NCg0KQGNpbmRl eCBAb3B0aW9uey0tZGVidWctZm9ybWF0fSwgQGNvZGV7Z2Ric2VydmVyfSBv cHRpb24NClRoZSBAb3B0aW9uey0tZGVidWctZm9ybWF0PW9wdGlvbjFbLG9w dGlvbjIsLi4uXX0gb3B0aW9uIHRlbGxzDQpAQCAtMjE0MzMsNiArMjE0Mzcs MTAgQEAgRGlzYWJsZSBvciBlbmFibGUgZ2VuZXJhbCBkZWJ1Z2dpbmcgbWVz c2FnZXMuDQpEaXNhYmxlIG9yIGVuYWJsZSBzcGVjaWZpYyBkZWJ1Z2dpbmcg bWVzc2FnZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZW1vdGUNCnByb3RvY29s IChAcHhyZWZ7UmVtb3RlIFByb3RvY29sfSkuDQoNCitAaXRlbSBtb25pdG9y IHNldCBkZWJ1Zy1maWxlIGZpbGVuYW1lDQorQGl0ZW14IG1vbml0b3Igc2V0 IGRlYnVnLWZpbGUNCitTZW5kIGFueSBkZWJ1ZyBvdXRwdXQgdG8gdGhlIGdp dmVuIGZpbGUsIG9yIHRvIHN0ZGVyci4NCisNCkBpdGVtIG1vbml0b3Igc2V0 IGRlYnVnLWZvcm1hdCBvcHRpb24xQHJ7W30sb3B0aW9uMiwuLi5AcntdfQ0K U3BlY2lmeSBhZGRpdGlvbmFsIHRleHQgdG8gYWRkIHRvIGRlYnVnZ2luZyBt ZXNzYWdlcy4NClBvc3NpYmxlIG9wdGlvbnMgYXJlOg0KQEAgLTQ0NTYzLDYg KzQ0NTcxLDExIEBAIEluc3RydWN0IEBjb2Rle2dkYnNlcnZlcn0gdG8gZGlz cGxheSByZW1vdGUgcHJvdG9jb2wgZGVidWcgb3V0cHV0Lg0KVGhpcyBvcHRp b24gaXMgaW50ZW5kZWQgZm9yIEBjb2Rle2dkYnNlcnZlcn0gZGV2ZWxvcG1l bnQgYW5kIGZvciBidWcgcmVwb3J0cyB0bw0KdGhlIGRldmVsb3BlcnMuDQoN CitAaXRlbSAtLWRlYnVnLWZpbGU9QHZhcntmaWxlbmFtZX0NCitJbnN0cnVj dCBAY29kZXtnZGJzZXJ2ZXJ9IHRvIHNlbmQgYW55IGRlYnVnIG91dHB1dCB0 byB0aGUgZ2l2ZW4gQHZhcntmaWxlbmFtZX0uDQorVGhpcyBvcHRpb24gaXMg aW50ZW5kZWQgZm9yIEBjb2Rle2dkYnNlcnZlcn0gZGV2ZWxvcG1lbnQgYW5k IGZvciBidWcgcmVwb3J0cyB0bw0KK3RoZSBkZXZlbG9wZXJzLg0KKw0KQGl0 ZW0gLS1kZWJ1Zy1mb3JtYXQ9b3B0aW9uMUBye1t9LG9wdGlvbjIsLi4uQHJ7 XX0NCkluc3RydWN0IEBjb2Rle2dkYnNlcnZlcn0gdG8gaW5jbHVkZSBleHRy YSBpbmZvcm1hdGlvbiBpbiBlYWNoIGxpbmUNCm9mIGRlYnVnZ2luZyBvdXRw dXQuDQpkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9DaGFuZ2VMb2cgYi9n ZGIvZ2Ric2VydmVyL0NoYW5nZUxvZw0KaW5kZXggMDU4MWY1OWI1ZC4uZDMz ODBkNjE0NSAxMDA2NDQNCi0tLSBhL2dkYi9nZGJzZXJ2ZXIvQ2hhbmdlTG9n DQorKysgYi9nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZw0KQEAgLTEsMyArMSwx MiBAQA0KKzIwMTktMDQtMTcgIEFsYW4gSGF5d2FyZCAgPGFsYW4uaGF5d2Fy ZEBhcm0uY29tPg0KKw0KKyAgICAgICAqIGRlYnVnLmMgKGRlYnVnX3NldF9v dXRwdXQpOiBOZXcgZnVuY3Rpb24uDQorICAgICAgIChkZWJ1Z192cHJpbnRm KTogU2VuZCBvdXRwdXQgdG8gZGVidWdfZmlsZS4NCisgICAgICAgKGRlYnVn X2ZsdXNoKTogTGlrZXdpc2UuDQorICAgICAgICogZGVidWcuaCAoZGVidWdf c2V0X291dHB1dCk6IE5ldyBkZWNsYXJhdGlvbi4NCisgICAgICAgKiBzZXJ2 ZXIuYyAoaGFuZGxlX21vbml0b3JfY29tbWFuZCk6IEFkZCBkZWJ1Zy1maWxl IG9wdGlvbi4NCisgICAgICAgKGNhcHR1cmVkX21haW4pOiBMaWtld2lzZS4N CisNCjIwMTktMDQtMTcgIEFsYW4gSGF5d2FyZCAgPGFsYW4uaGF5d2FyZEBh cm0uY29tPg0KDQogICAgICAgKiBkZWJ1Zy5jIChyZW1vdGVfZGVidWcpOiBB ZGQgZGVmaW5pdGlvbi4NCmRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2Rl YnVnLmMgYi9nZGIvZ2Ric2VydmVyL2RlYnVnLmMNCmluZGV4IDdjNGM3N2Fm ZTIuLmQ4MGNkNTI1NDAgMTAwNjQ0DQotLS0gYS9nZGIvZ2Ric2VydmVyL2Rl YnVnLmMNCisrKyBiL2dkYi9nZGJzZXJ2ZXIvZGVidWcuYw0KQEAgLTIzLDYg KzIzLDkgQEANCmludCByZW1vdGVfZGVidWcgPSAwOw0KI2VuZGlmDQoNCisv KiBPdXRwdXQgZmlsZSBmb3IgZGVidWdnaW5nLiAgRGVmYXVsdCB0byBzdGFu ZGFyZCBlcnJvci4gICovDQorRklMRSAqZGVidWdfZmlsZSA9IHN0ZGVycjsN CisNCi8qIEVuYWJsZSBtaXNjZWxsYW5lb3VzIGRlYnVnZ2luZyBvdXRwdXQu ICBUaGUgbmFtZSBpcyBoaXN0b3JpY2FsIC0gaXQNCiAgIHdhcyBvcmlnaW5h bGx5IHVzZWQgdG8gZGVidWcgTGludXhUaHJlYWRzIHN1cHBvcnQuICAqLw0K aW50IGRlYnVnX3RocmVhZHM7DQpAQCAtMzAsNiArMzMsMzggQEAgaW50IGRl YnVnX3RocmVhZHM7DQovKiBJbmNsdWRlIHRpbWVzdGFtcHMgaW4gZGVidWdn aW5nIG91dHB1dC4gICovDQppbnQgZGVidWdfdGltZXN0YW1wOw0KDQorI2lm ICFkZWZpbmVkIChJTl9QUk9DRVNTX0FHRU5UKQ0KKw0KKy8qIFNlZSBkZWJ1 Zy5oLiAgKi8NCisNCit2b2lkDQorZGVidWdfc2V0X291dHB1dCAoY29uc3Qg Y2hhciAqbmV3X2RlYnVnX2ZpbGUpDQorew0KKyAgLyogQ2xvc2UgYW55IGV4 aXN0aW5nIGZpbGUgYW5kIHJlc2V0IHRvIHN0YW5kYXJkIGVycm9yLiAgKi8N CisgIGlmIChkZWJ1Z19maWxlICE9IHN0ZGVycikNCisgICAgew0KKyAgICAg IGZjbG9zZSAoZGVidWdfZmlsZSk7DQorICAgIH0NCisgIGRlYnVnX2ZpbGUg PSBzdGRlcnI7DQorDQorICAvKiBDYXRjaCBlbXB0eSBmaWxlbmFtZXMuICAq Lw0KKyAgaWYgKG5ld19kZWJ1Z19maWxlID09IG51bGxwdHIgfHwgc3RybGVu IChuZXdfZGVidWdfZmlsZSkgPT0gMCkNCisgICAgcmV0dXJuOw0KKw0KKyAg RklMRSAqZnB0ciA9IGZvcGVuIChuZXdfZGVidWdfZmlsZSwgInciKTsNCisN CisgIGlmIChmcHRyID09IG51bGxwdHIpDQorICAgIHsNCisgICAgICBkZWJ1 Z19wcmludGYgKCJDYW5ub3Qgb3BlbiAlcyBmb3Igd3JpdGluZy4gJXMuIFN3 aXRjaGluZyB0byBzdGRlcnIuXG4iLA0KKyAgICAgICAgICAgICAgICAgICBu ZXdfZGVidWdfZmlsZSwgc3RyZXJyb3IgKGVycm5vKSk7DQorICAgICAgcmV0 dXJuOw0KKyAgICB9DQorDQorICBkZWJ1Z19maWxlID0gZnB0cjsNCit9DQor DQorI2VuZGlmDQorDQovKiBQcmludCBhIGRlYnVnZ2luZyBtZXNzYWdlLg0K ICAgSWYgdGhlIHRleHQgYmVnaW5zIGEgbmV3IGxpbmUgaXQgaXMgcHJlY2Vk ZWQgYnkgYSB0aW1lc3RhbXAuDQogICBXZSBkb24ndCBnZXQgZmFuY3kgd2l0 aCBuZXdsaW5lIGNoZWNraW5nLCB3ZSBqdXN0IGNoZWNrIHdoZXRoZXIgdGhl DQpAQCAtNTAsMTEgKzg1LDExIEBAIGRlYnVnX3ZwcmludGYgKGNvbnN0IGNo YXIgKmZvcm1hdCwgdmFfbGlzdCBhcCkNCiAgICAgIHNlY29uZHMgcyA9IGR1 cmF0aW9uX2Nhc3Q8c2Vjb25kcz4gKG5vdy50aW1lX3NpbmNlX2Vwb2NoICgp KTsNCiAgICAgIG1pY3Jvc2Vjb25kcyB1cyA9IGR1cmF0aW9uX2Nhc3Q8bWlj cm9zZWNvbmRzPiAobm93LnRpbWVfc2luY2VfZXBvY2ggKCkpIC0gczsNCg0K LSAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVsZC4lMDZsZCAiLCAobG9uZykg cy5jb3VudCAoKSwgKGxvbmcpIHVzLmNvdW50ICgpKTsNCisgICAgICBmcHJp bnRmIChkZWJ1Z19maWxlLCAiJWxkLiUwNmxkICIsIChsb25nKSBzLmNvdW50 ICgpLCAobG9uZykgdXMuY291bnQgKCkpOw0KICAgIH0NCiNlbmRpZg0KDQot ICB2ZnByaW50ZiAoc3RkZXJyLCBmb3JtYXQsIGFwKTsNCisgIHZmcHJpbnRm IChkZWJ1Z19maWxlLCBmb3JtYXQsIGFwKTsNCg0KI2lmICFkZWZpbmVkIChJ Tl9QUk9DRVNTX0FHRU5UKQ0KICBpZiAoKmZvcm1hdCkNCkBAIC02OSw3ICsx MDQsNyBAQCBkZWJ1Z192cHJpbnRmIChjb25zdCBjaGFyICpmb3JtYXQsIHZh X2xpc3QgYXApDQp2b2lkDQpkZWJ1Z19mbHVzaCAodm9pZCkNCnsNCi0gIGZm bHVzaCAoc3RkZXJyKTsNCisgIGZmbHVzaCAoZGVidWdfZmlsZSk7DQp9DQoN Ci8qIE5vdGlmeSB0aGUgdXNlciB0aGF0IHRoZSBjb2RlIGlzIGVudGVyaW5n IEZVTkNUSU9OX05BTUUuDQpkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9k ZWJ1Zy5oIGIvZ2RiL2dkYnNlcnZlci9kZWJ1Zy5oDQppbmRleCBjOGQ1ZTMz NjVlLi5mNjVjOTFjOWViIDEwMDY0NA0KLS0tIGEvZ2RiL2dkYnNlcnZlci9k ZWJ1Zy5oDQorKysgYi9nZGIvZ2Ric2VydmVyL2RlYnVnLmgNCkBAIC0yMSw2 ICsyMSwxMSBAQA0KDQojaWYgIWRlZmluZWQgKElOX1BST0NFU1NfQUdFTlQp DQpleHRlcm4gaW50IHJlbW90ZV9kZWJ1ZzsNCisNCisvKiBTd2l0Y2ggYWxs IGRlYnVnIG91dHB1dCB0byBERUJVR19GSUxFLiAgSWYgREVCVUdfRklMRSBp cyBudWxscHRyIG9yIGFuDQorICAgZW1wdHkgc3RyaW5nLCBvciBpZiB0aGUg ZmlsZSBjYW5ub3QgYmUgb3BlbmVkLCB0aGVuIGRlYnVnIG91dHB1dCBpcyBz ZW50IHRvDQorICAgc3RkZXJyLiAgKi8NCit2b2lkIGRlYnVnX3NldF9vdXRw dXQgKGNvbnN0IGNoYXIgKmRlYnVnX2ZpbGUpOw0KI2VuZGlmDQoNCmV4dGVy biBpbnQgZGVidWdfdGhyZWFkczsNCmRpZmYgLS1naXQgYS9nZGIvZ2Ric2Vy dmVyL3NlcnZlci5jIGIvZ2RiL2dkYnNlcnZlci9zZXJ2ZXIuYw0KaW5kZXgg M2Y2Yzg0OWRiYy4uMzY1MTBhZDFiMiAxMDA2NDQNCi0tLSBhL2dkYi9nZGJz ZXJ2ZXIvc2VydmVyLmMNCisrKyBiL2dkYi9nZGJzZXJ2ZXIvc2VydmVyLmMN CkBAIC0xNDAzLDYgKzE0MDMsMTAgQEAgaGFuZGxlX21vbml0b3JfY29tbWFu ZCAoY2hhciAqbW9uLCBjaGFyICpvd25fYnVmKQ0KICAgICAgICAgd3JpdGVf ZW5uIChvd25fYnVmKTsNCiAgICAgICB9DQogICAgfQ0KKyAgZWxzZSBpZiAo c3RyY21wIChtb24sICJzZXQgZGVidWctZmlsZSIpID09IDApDQorICAgIGRl YnVnX3NldF9vdXRwdXQgKG51bGxwdHIpOw0KKyAgZWxzZSBpZiAoc3RhcnRz d2l0aCAobW9uLCAic2V0IGRlYnVnLWZpbGUgIikpDQorICAgIGRlYnVnX3Nl dF9vdXRwdXQgKG1vbiArIHNpemVvZiAoInNldCBkZWJ1Zy1maWxlICIpIC0g MSk7DQogIGVsc2UgaWYgKHN0cmNtcCAobW9uLCAiaGVscCIpID09IDApDQog ICAgbW9uaXRvcl9zaG93X2hlbHAgKCk7DQogIGVsc2UgaWYgKHN0cmNtcCAo bW9uLCAiZXhpdCIpID09IDApDQpAQCAtMzY0OSw2ICszNjUzLDggQEAgY2Fw dHVyZWRfbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCiAgICAgICB9 DQogICAgICBlbHNlIGlmIChzdHJjbXAgKCpuZXh0X2FyZywgIi0tcmVtb3Rl LWRlYnVnIikgPT0gMCkNCiAgICAgICByZW1vdGVfZGVidWcgPSAxOw0KKyAg ICAgIGVsc2UgaWYgKHN0YXJ0c3dpdGggKCpuZXh0X2FyZywgIi0tZGVidWct ZmlsZT0iKSkNCisgICAgICAgZGVidWdfc2V0X291dHB1dCAoKCpuZXh0X2Fy ZykgKyBzaXplb2YgKCItLWRlYnVnLWZpbGU9IikgLTEpOw0KICAgICAgZWxz ZSBpZiAoc3RyY21wICgqbmV4dF9hcmcsICItLWRpc2FibGUtcGFja2V0Iikg PT0gMCkNCiAgICAgICB7DQogICAgICAgICBnZGJzZXJ2ZXJfc2hvd19kaXNh YmxlYWJsZSAoc3Rkb3V0KTs= >From gdb-patches-return-155387-listarch-gdb-patches=sources.redhat.com@sourceware.org Wed Apr 17 14:31:43 2019 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 94770 invoked by alias); 17 Apr 2019 14:31:43 -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 93785 invoked by uid 89); 17 Apr 2019 14:31:43 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=announce, legitimate, H*r:142, baby X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (209.51.188.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 17 Apr 2019 14:31:41 +0000 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGlb6-00085i-T2; Wed, 17 Apr 2019 10:31:38 -0400 Received: from [176.228.60.248] (port=1435 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hGlav-0007T0-NJ; Wed, 17 Apr 2019 10:31:28 -0400 Date: Wed, 17 Apr 2019 14:31:00 -0000 Message-Id: <83imvcg0ud.fsf@gnu.org> From: Eli Zaretskii To: Joel Brobecker CC: gdb-patches@sourceware.org In-reply-to: <1555453982-77808-3-git-send-email-brobecker@adacore.com> (message from Joel Brobecker on Tue, 16 Apr 2019 18:33:02 -0400) Subject: Re: [RFA 2/2][master only] gdb/windows-nat.c: Get rid of main_thread_id global References: <1555453982-77808-1-git-send-email-brobecker@adacore.com> <1555453982-77808-3-git-send-email-brobecker@adacore.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-IsSubscribed: yes X-SW-Source: 2019-04/txt/msg00292.txt.bz2 Content-length: 2666 > From: Joel Brobecker > Date: Tue, 16 Apr 2019 18:33:02 -0400 > > This global is meant to point to the "main" thread of execution of > the program we are debugging. It is set when attaching to a process > or when receiving a CREATE_PROCESS_DEBUG_EVENT event. The theory at > the time was that this was also going to be the thread receiving > the EXIT_PROCESS_DEBUG_EVENT event. > > Unfortunately, we have discovered since then that this is actually > not guaranteed. What this means in practice is that there is moderate > risk that main_thread_id refers to a thread which no longer exists. > > This global is used in 3 situations: > - OUTPUT_DEBUG_STRING_EVENT > - LOAD_DLL_DEBUG_EVENT > - UNLOAD_DLL_DEBUG_EVENT > > It's not clear why we would need to use the main_thread_id in those cases > instead of using the thread ID provided by the kernel events itself. > So this patch implements this approach, which then allows us to delete > the main_thread_id global. > > gdb/testsuite: > > * windows-nat.c (main_thread_id): Delete. > (handle_output_debug_string): Replace main_thread_id by > current_event.dwThreadId. > (fake_create_process): Likewise. > (get_windows_debug_event) : > Do not set main_thread_id. > : Replace main_thread_id by > current_event.dwThreadId. > : Likewise. Thanks, but isn't this throwing the baby with the bathwater, though? AFAIK, the thread whose ID we get in the CREATE_PROCESS_DEBUG_EVENT _is_ indeed the main thread, at least that's my reading of everything I see about this on the Internet. What might _not_ be true is that the main thread exits last. In fact, I could write a legitimate Windows program whose main thread exited long before the process terminated (although doing that in a console application that uses 'main' would be somewhat tricky at best). Perhaps that's what happens in the cases where you saw the problem. AFAIU, the real problem with this global is that we delete the main thread when its thread-termination notification is received, and we also assume that EXIT_PROCESS_DEBUG_EVENT tells us that the main thread exited. But if this is the problem, then we could do one of two things: . Keep the main_thread global, but use it just for avoiding the announcement of the main thread. . Install some logic that would avoid trying to delete a thread if its ID is equal to main_thread, when main_thread cannot be found in the list of threads. This would allow us to avoid the crashes, but still not announce the main thread as any other thread. Does this make sense?