From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48407 invoked by alias); 6 Feb 2019 23:11: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 48395 invoked by uid 89); 6 Feb 2019 23:11:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,MIME_BASE64_BLANKS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Feb 2019 23:11:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/relaxed; q=dns/txt; i=@ericsson.com; t=1549494696; x=1552086696; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=PasGgOHboh9chpFSgOs6fWOStShhBzLsD8JG15Elxq4=; b=CC0p2gKNURnyoFt+gMHlvbKItNz4D/d8tn0SnXMQ6hba3pdtOTdg3AeGIptGzK3o oga0FSmSOA0C5beTWLVmA9B4slvOi54Ik9POorZ8MYeWwwjfxlQOWBfJ0umizs0i 3cJYkHw9MNllVzxaVJ29YInJuSz/kMK5EkGjQ+PDH+Y=; Received: from ESESBMB502.ericsson.se (Unknown_Domain [153.88.183.115]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id E2.DD.24567.8A96B5C5; Thu, 7 Feb 2019 00:11:36 +0100 (CET) Received: from ESESBMR506.ericsson.se (153.88.183.202) by ESESBMB502.ericsson.se (153.88.183.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 7 Feb 2019 00:11:36 +0100 Received: from ESESBMB501.ericsson.se (153.88.183.168) by ESESBMR506.ericsson.se (153.88.183.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 7 Feb 2019 00:11:36 +0100 Received: from NAM04-CO1-obe.outbound.protection.outlook.com (153.88.183.157) by ESESBMB501.ericsson.se (153.88.183.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3 via Frontend Transport; Thu, 7 Feb 2019 00:11:36 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PasGgOHboh9chpFSgOs6fWOStShhBzLsD8JG15Elxq4=; b=LS9BKtcpH9S6OjtG3PeXnOX7k0C6Xq0I75vYDsw4qNumzBD4n5uuONRAOBChW4PEyECiKbph7GEYThUMpUiJ5KhGqvsuUSfPg17KAaYmUkHje3DZHGHtsYxln0NrFBwFBEHqWLuOFe3D1HnkDlvnpOumpKJKjcjXVD4kB58TcfE= Received: from BYAPR15MB2390.namprd15.prod.outlook.com (52.135.198.30) by BYAPR15MB3494.namprd15.prod.outlook.com (20.179.60.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.17; Wed, 6 Feb 2019 23:11:32 +0000 Received: from BYAPR15MB2390.namprd15.prod.outlook.com ([fe80::5445:37d6:bd5d:b8ce]) by BYAPR15MB2390.namprd15.prod.outlook.com ([fe80::5445:37d6:bd5d:b8ce%5]) with mapi id 15.20.1601.016; Wed, 6 Feb 2019 23:11:32 +0000 From: Simon Marchi To: Pedro Alves , Simon Marchi , "gdb-patches@sourceware.org" CC: "philippe.waroquiers@skynet.be" Subject: Re: [PATCH] Make gdb.base/corefile.exp work on terminals with few rows Date: Wed, 06 Feb 2019 23:11:00 -0000 Message-ID: References: <20190206034857.14608-1-simon.marchi@polymtl.ca> <12fe97cd-e3d9-56dd-fd88-f3c0fd7adae1@redhat.com> In-Reply-To: <12fe97cd-e3d9-56dd-fd88-f3c0fd7adae1@redhat.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-Type: text/plain; charset="utf-8" Content-ID: <1A5B14E68DC46E498758B668264F7E0A@namprd15.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED Return-Path: simon.marchi@ericsson.com X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00047.txt.bz2 T24gMjAxOS0wMi0wNiAxOjQyIHAubS4sIFBlZHJvIEFsdmVzIHdyb3RlOg0K PiBPbiAwMi8wNi8yMDE5IDAzOjQ4IEFNLCBTaW1vbiBNYXJjaGkgd3JvdGU6 DQo+PiBXaGVuIGNyZWF0aW5nIGEgcHR5IHRvIHNwYXduIGEgc3VicHJvY2Vz cyAoc3VjaCBhcyBnZGIpLCBFeHBlY3QNCj4+IGNvcGllcyB0aGUgc2V0dGlu Z3Mgb2YgaXRzIG93biBjb250cm9sbGluZyB0ZXJtaW5hbCwgaW5jbHVkaW5n IHRoZQ0KPj4gbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuICBJZiB5b3Ug Im1ha2UgY2hlY2siIG9uIGEgdGVybWluYWwgd2l0aCBqdXN0DQo+PiBhIGZl dyByb3dzIChlLmcuIDQpLCBHREIgd2lsbCBwYWdpbmF0ZSBiZWZvcmUgcmVh Y2hpbmcgdGhlIGluaXRpYWwNCj4+IHByb21wdC4gIEluIGRlZmF1bHRfZ2Ri X3N0YXJ0LCB1c2VkIGJ5IG1vc3QgdGVzdHMsIHRoaXMgaXMgYWxyZWFkeQ0K Pj4gaGFuZGxlZDogaWYgd2Ugc2VlIHRoZSBwYWdpbmF0aW9uIHByb21wdCwg d2Ugc2VudCBcbiB0byBjb250aW51ZS4NCj4+DQo+PiBQaGlsaXBwZSByZXBv cnRlZCB0aGF0IGdkYi5iYXNlL2NvcmVmaWxlLmV4cCBkaWRuJ3Qgd29yayBp biB0ZXJtaW5hbHMNCj4+IHdpdGgganVzdCBhIGZldyByb3dzLiAgVGhpcyB0 ZXN0IHNwYXducyBHREIgYnkgaGFuZCwgYmVjYXVzZSBpdCBuZWVkcyB0bw0K Pj4gY2hlY2sgdGhpbmdzIGJlZm9yZSB0aGUgaW5pdGlhbCBwcm9tcHQsIHdo aWNoIGl0IGNvdWxkbid0IGRvIGlmIGl0IHVzZWQNCj4+IGRlZmF1bHRfZ2Ri X3N0YXJ0Lg0KPj4NCj4+IEluIHRoaXMgY2FzZSBJIHRoaW5rIGl0J3Mgbm90 IHNhZmUgdG8gdXNlIHRoZSBzYW1lIHRlY2huaXF1ZSBhcyBpbg0KPj4gZGVm YXVsdF9nZGJfc3RhcnQuICBFdmVuIGlmIHdlIGNvdWxkIHNlbmQgYSBcbiBp ZiB3ZSBzZWUgYSBwYWdpbmF0aW9uDQo+PiBwcm9tcHQsIHdlIG1hdGNoIHNv bWUgbXVsdGlsaW5lIHJlZ2V4ZXMgaW4gdGhlcmUuICBTbyBpZiBhIHBhZ2lu YXRpb24NCj4+IHNsaXBzIGluIHRoZXJlLCBpdCBtaWdodCBtYWtlIHRoZSBy ZWdleGVzIG5vdCBtYXRjaCBhbmQgZmFpbCB0aGUgdGVzdC4NCj4+DQo+PiBJ dCdzIGFsc28gbm90IHBvc3NpYmxlIHRvIHVzZSAtZXggInNldCBoZWlnaHQg MCIgb3IgLWlleCAic2V0IGhlaWdodCAwIiwNCj4+IGl0IGlzIGhhbmRsZWQg YWZ0ZXIgdGhlIGludHJvZHVjdGlvbiB0ZXh0IGlzIHNob3duLg0KPj4NCj4+ IFRoZSBzaW1wbGVzdCB3YXkgSSBmb3VuZCB0byBhdm9pZCBzaG93aW5nIHRo ZSBwYWdpbmF0aW9uIGNvbXBsZXRlbHkgaXMNCj4+IHRvIHNldCBzdHR5X2lu aXQgKGRvY3VtZW50ZWQgaW4gZXhwZWN0J3MgbWFuIHBhZ2UpIHRvIGluaXRp YWxpemUgZ2RiJ3MNCj4+IHB0eSB3aXRoIGEgZml4ZWQgbnVtYmVyIG9mIHJv d3MuDQo+IA0KPiBIbW0sIGdvb2QgaWRlYS4gIEJ1dCwgaWYgeW91IGhhdmUg YSBzbWFsbCB0ZXJtaW5hbCB3aXRoIGp1c3QgYSBmZXcNCj4gY29sdW1ucyAo YXMgb3Bwb3NlZCB0byByb3dzKSwgdGhlbiB0aGUgdGVzdHN1aXRlIGFsbCBi cmVha3MsIEFGQUlDVC4NCj4gDQo+IEUuZy4sIEkganVzdCB0cmllZCBydW5u aW5nIGdkYi5iYXNlL2JyZWFrLmV4cCB3aXRoIGEgc21hbGwgd2luZG93IGFu ZA0KPiB0aGUgdGVzdCBoYW5ncyBzdGFydGluZyBHREIuDQo+IA0KPiBCdXQg d2l0aDoNCj4gDQo+ICAtLS0gYy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw DQo+ICArKysgdy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwDQo+ICBAQCAt NDc1Miw2ICs0NzUyLDkgQEAgcHJvYyBnZGJfaW5pdCB7IHRlc3RfZmlsZV9u YW1lIH0gew0KPiAgICAgICAjIHRlc3RzLg0KPiAgICAgICBzZXRlbnYgVEVS TSAiZHVtYiINCj4gICANCj4gICsgICAgZ2xvYmFsIHN0dHlfaW5pdA0KPiAg KyAgICBzZXQgc3R0eV9pbml0ICJyb3dzIDI1IGNvbHMgODAiDQo+ICArDQo+ ICAgICAgICMgU29tZSB0ZXN0cyAoZm9yIGV4YW1wbGUgZ2RiLmJhc2UvbWFp bnQuZXhwKSBzaGVsbCBvdXQgZnJvbSBnZGIgdG8gdXNlDQo+ICAgICAgICMg Z3JlcC4gIENsZWFyIEdSRVBfT1BUSU9OUyB0byBtYWtlIHRoZSBiZWhhdmlv ciBwcmVkaWN0YWJsZSwNCj4gICAgICAgIyBlc3BlY2lhbGx5IGhhdmluZyBj b2xvciBvdXRwdXQgdHVybmVkIG9uIGNhbiBjYXVzZSB0ZXN0cyB0byBmYWls Lg0KPiANCj4gLi4uIGl0IHBhc3Nlcy4gIEFuZCBzbyBkb2VzIGdkYi5iYXNl L2NvcmVmaWxlLmV4cC4NCj4gDQo+IElzIHRoZXJlIGFueSByZWFzb24gd2Un ZCBldmVyIHdhbnQgR0RCJ3MgdGVybWluYWwgc2l6ZSB0byBtYXRjaA0KPiB3 aGF0ZXZlciB0aGUgdXNlcidzIHRlcm0gc2l6ZSB3YXM/ICBJJ2QgdGhpbmsg dGhhdCBzYW5pdGl6aW5nIC8gZm9yY2luZw0KPiB0aGUgc2FtZSBzaXplcyBl dmVyeXdoZXJlIHdvdWxkIGp1c3QgbGVhZCB0byBtb3JlIHN0YWJsZSB0ZXN0 aW5nLA0KPiBhbmQgdGh1cyBiZSBhIGdvb2QgdGhpbmcuDQoNCkFncmVlZC4g IElmIHdlIGRvIHRoaXMsIHdlIGNhbiByZW1vdmUgdGhlIHBhcnQgd2hlcmUg d2UgbWF0Y2ggdGhlIHBhZ2luYXRpb24NCnByb21wdCBkdXJpbmcgc3RhcnR1 cCwgbGlrZSBzbzoNCg0KDQpGcm9tIDY3YmIxZGRlOTU3ZmNkOGEwMTY4ZmIw NGFmYTNmOGUzYTRjY2Y5YmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQpG cm9tOiBTaW1vbiBNYXJjaGkgPHNpbW9uLm1hcmNoaUBwb2x5bXRsLmNhPg0K RGF0ZTogVHVlLCA1IEZlYiAyMDE5IDIyOjQ4OjU3IC0wNTAwDQpTdWJqZWN0 OiBbUEFUQ0hdIE1ha2UgZ2RiLmJhc2UvY29yZWZpbGUuZXhwIHdvcmsgb24g dGVybWluYWxzIHdpdGggZmV3IHJvd3MNCg0KV2hlbiBjcmVhdGluZyBhIHB0 eSB0byBzcGF3biBhIHN1YnByb2Nlc3MgKHN1Y2ggYXMgZ2RiKSwgRXhwZWN0 DQpjb3BpZXMgdGhlIHNldHRpbmdzIG9mIGl0cyBvd24gY29udHJvbGxpbmcg dGVybWluYWwsIGluY2x1ZGluZyB0aGUNCm51bWJlciBvZiByb3dzIGFuZCBj b2x1bW5zLiAgSWYgeW91ICJtYWtlIGNoZWNrIiBvbiBhIHRlcm1pbmFsIHdp dGgganVzdA0KYSBmZXcgcm93cyAoZS5nLiA0KSwgR0RCIHdpbGwgcGFnaW5h dGUgYmVmb3JlIHJlYWNoaW5nIHRoZSBpbml0aWFsDQpwcm9tcHQuICBJbiBk ZWZhdWx0X2dkYl9zdGFydCwgdXNlZCBieSBtb3N0IHRlc3RzLCB0aGlzIGlz IGFscmVhZHkNCmhhbmRsZWQ6IGlmIHdlIHNlZSB0aGUgcGFnaW5hdGlvbiBw cm9tcHQsIHdlIHNlbnQgXG4gdG8gY29udGludWUuDQoNClBoaWxpcHBlIHJl cG9ydGVkIHRoYXQgZ2RiLmJhc2UvY29yZWZpbGUuZXhwIGRpZG4ndCB3b3Jr IGluIHRlcm1pbmFscw0Kd2l0aCBqdXN0IGEgZmV3IHJvd3MuICBUaGlzIHRl c3Qgc3Bhd25zIEdEQiBieSBoYW5kLCBiZWNhdXNlIGl0IG5lZWRzIHRvDQpj aGVjayB0aGluZ3MgYmVmb3JlIHRoZSBpbml0aWFsIHByb21wdCwgd2hpY2gg aXQgY291bGRuJ3QgZG8gaWYgaXQgdXNlZA0KZGVmYXVsdF9nZGJfc3RhcnQu DQoNCkluIHRoaXMgY2FzZSBJIHRoaW5rIGl0J3Mgbm90IHNhZmUgdG8gdXNl IHRoZSBzYW1lIHRlY2huaXF1ZSBhcyBpbg0KZGVmYXVsdF9nZGJfc3RhcnQu ICBFdmVuIGlmIHdlIGNvdWxkIHNlbmQgYSBcbiBpZiB3ZSBzZWUgYSBwYWdp bmF0aW9uDQpwcm9tcHQsIHdlIG1hdGNoIHNvbWUgbXVsdGlsaW5lIHJlZ2V4 ZXMgaW4gdGhlcmUuICBTbyBpZiBhIHBhZ2luYXRpb24NCnNsaXBzIGluIHRo ZXJlLCBpdCBtaWdodCBtYWtlIHRoZSByZWdleGVzIG5vdCBtYXRjaCBhbmQg ZmFpbCB0aGUgdGVzdC4NCg0KSXQncyBhbHNvIG5vdCBwb3NzaWJsZSB0byB1 c2UgLWV4ICJzZXQgaGVpZ2h0IDAiIG9yIC1pZXggInNldCBoZWlnaHQgMCIs DQppdCBpcyBoYW5kbGVkIGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gdGV4dCBp cyBzaG93bi4NCg0KVGhlIHNpbXBsZXN0IHdheSBJIGZvdW5kIHRvIGF2b2lk IHNob3dpbmcgdGhlIHBhZ2luYXRpb24gY29tcGxldGVseSBpcw0KdG8gc2V0 IHN0dHlfaW5pdCAoZG9jdW1lbnRlZCBpbiBleHBlY3QncyBtYW4gcGFnZSkg dG8gaW5pdGlhbGl6ZSBnZGIncw0KcHR5IHdpdGggYSBmaXhlZCBudW1iZXIg b2Ygcm93cy4NCg0KQW5kIGFjdHVhbGx5LCBpZiB3ZSBzZXQgc3R0eV9pbml0 IGluIGdkYl9pbml0LCBpdCB3b3JrcyBuaWNlbHkgYXMgYQ0KZ2VuZXJhbCBz b2x1dGlvbiBhcHBsaWNhYmxlIHRvIGFsbCB0ZXN0cy4gIFdlIGNhbiB0aGVy ZWZvcmUgcmVtb3ZlIHRoZQ0Kc29sdXRpb24gaW50cm9kdWNlZCBpbiBlODgy ZWYzY2ZjMyAoInRlc3RzdWl0ZTogZXhwZWN0IHBvc3NpYmxlDQpwYWdpbmF0 aW9uIHdoZW4gc3RhcnRpbmcgZ2RiIikgd2hlcmUgd2UgbWF0Y2hlZCB0aGUg cGFnaW5hdGlvbiBwcm9tcHQNCmR1cmluZyBzdGFydHVwLg0KDQpnZGIvdGVz dHN1aXRlL0NoYW5nZUxvZzoNCg0KCSogbGliL2dkYi5leHAgKGRlZmF1bHRf Z2RiX3N0YXJ0KTogRG9uJ3QgbWF0Y2ggcGFnaW5hdGlvbg0KCXByb21wdC4N CgkoZ2RiX2luaXQpOiBTZXQgc3R0eV9pbml0Lg0KLS0tDQogZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cCB8IDQ0ICsrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRp b25zKCspLCAyNCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwDQppbmRleCBiYzdiYTEyZDQ4MC4uZDA1ODU0MzI5ZDggMTAwNjQ0DQot LS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwDQorKysgYi9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwDQpAQCAtMTYzOCw3ICsxNjM4LDcgQEAgcHJv YyBkZWZhdWx0X2dkYl9zcGF3biB7IH0gew0KICMgRGVmYXVsdCBnZGJfc3Rh cnQgcHJvY2VkdXJlLg0KDQogcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7IH0g ew0KLSAgICBnbG9iYWwgZ2RiX3Byb21wdCBwYWdpbmF0aW9uX3Byb21wdA0K KyAgICBnbG9iYWwgZ2RiX3Byb21wdA0KICAgICBnbG9iYWwgZ2RiX3NwYXdu X2lkDQogICAgIGdsb2JhbCBpbmZlcmlvcl9zcGF3bl9pZA0KDQpAQCAtMTY1 OSwyOSArMTY1OSwyMCBAQCBwcm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7 DQogICAgICMgV2hlbiBydW5uaW5nIG92ZXIgTkZTLCBwYXJ0aWN1bGFybHkg aWYgcnVubmluZyBtYW55IHNpbXVsdGFuZW91cw0KICAgICAjIHRlc3RzIG9u IGRpZmZlcmVudCBob3N0cyBhbGwgdXNpbmcgdGhlIHNhbWUgc2VydmVyLCB0 aGluZ3MgY2FuDQogICAgICMgZ2V0IHJlYWxseSBzbG93LiAgR2l2ZSBnZGIg YXQgbGVhc3QgMyBtaW51dGVzIHRvIHN0YXJ0IHVwLg0KLSAgICBzZXQgbG9v cF9hZ2FpbiAxDQotICAgIHdoaWxlIHsgJGxvb3BfYWdhaW4gfSB7DQotCXNl dCBsb29wX2FnYWluIDANCi0JZ2RiX2V4cGVjdCAzNjAgew0KLQkgICAgLXJl ICIkcGFnaW5hdGlvbl9wcm9tcHQiIHsNCi0JCXZlcmJvc2UgIkhpdCBwYWdp bmF0aW9uIGR1cmluZyBzdGFydHVwLiBQcmVzc2luZyBlbnRlciB0byBjb250 aW51ZS4iDQotCQlzZW5kX2dkYiAiXG4iDQotCQlzZXQgbG9vcF9hZ2FpbiAx DQotCSAgICB9DQotCSAgICAtcmUgIlxbXHJcblxdJGdkYl9wcm9tcHQgJCIg ew0KLQkJdmVyYm9zZSAiR0RCIGluaXRpYWxpemVkLiINCi0JICAgIH0NCi0J ICAgIC1yZSAiJGdkYl9wcm9tcHQgJCIJew0KLQkJcGVycm9yICJHREIgbmV2 ZXIgaW5pdGlhbGl6ZWQuIg0KLQkJdW5zZXQgZ2RiX3NwYXduX2lkDQotCQly ZXR1cm4gLTENCi0JICAgIH0NCi0JICAgIHRpbWVvdXQJew0KLQkJcGVycm9y ICIodGltZW91dCkgR0RCIG5ldmVyIGluaXRpYWxpemVkIGFmdGVyIDEwIHNl Y29uZHMuIg0KLQkJcmVtb3RlX2Nsb3NlIGhvc3QNCi0JCXVuc2V0IGdkYl9z cGF3bl9pZA0KLQkJcmV0dXJuIC0xDQotCSAgICB9DQorICAgIGdkYl9leHBl Y3QgMzYwIHsNCisJLXJlICJcW1xyXG5cXSRnZGJfcHJvbXB0ICQiIHsNCisJ ICAgIHZlcmJvc2UgIkdEQiBpbml0aWFsaXplZC4iDQorCX0NCisJLXJlICIk Z2RiX3Byb21wdCAkIgl7DQorCSAgICBwZXJyb3IgIkdEQiBuZXZlciBpbml0 aWFsaXplZC4iDQorCSAgICB1bnNldCBnZGJfc3Bhd25faWQNCisJICAgIHJl dHVybiAtMQ0KKwl9DQorCXRpbWVvdXQJew0KKwkgICAgcGVycm9yICIodGlt ZW91dCkgR0RCIG5ldmVyIGluaXRpYWxpemVkIGFmdGVyIDEwIHNlY29uZHMu Ig0KKwkgICAgcmVtb3RlX2Nsb3NlIGhvc3QNCisJICAgIHVuc2V0IGdkYl9z cGF3bl9pZA0KKwkgICAgcmV0dXJuIC0xDQogCX0NCiAgICAgfQ0KDQpAQCAt NDc1Miw2ICs0NzQzLDExIEBAIHByb2MgZ2RiX2luaXQgeyB0ZXN0X2ZpbGVf bmFtZSB9IHsNCiAgICAgIyB0ZXN0cy4NCiAgICAgc2V0ZW52IFRFUk0gImR1 bWIiDQoNCisgICAgIyBJbml0aWFsaXplIEdEQidzIHB0eSB3aXRoIGEgZml4 ZWQgc2l6ZSwgdG8gbWFrZSBzdXJlIHdlIGF2b2lkIHBhZ2luYXRpb24NCisg ICAgIyBkdXJpbmcgc3RhcnR1cC4gIFNlZSAibWFuIGV4cGVjdCIgZm9yIGRl dGFpbHMgYWJvdXQgc3R0eV9pbml0Lg0KKyAgICBnbG9iYWwgc3R0eV9pbml0 DQorICAgIHNldCBzdHR5X2luaXQgInJvd3MgMjUgY29scyA4MCINCisNCiAg ICAgIyBTb21lIHRlc3RzIChmb3IgZXhhbXBsZSBnZGIuYmFzZS9tYWludC5l eHApIHNoZWxsIG91dCBmcm9tIGdkYiB0byB1c2UNCiAgICAgIyBncmVwLiAg Q2xlYXIgR1JFUF9PUFRJT05TIHRvIG1ha2UgdGhlIGJlaGF2aW9yIHByZWRp Y3RhYmxlLA0KICAgICAjIGVzcGVjaWFsbHkgaGF2aW5nIGNvbG9yIG91dHB1 dCB0dXJuZWQgb24gY2FuIGNhdXNlIHRlc3RzIHRvIGZhaWwuDQotLSANCjIu MjAuMQ0KDQo= >From gdb-patches-return-153781-listarch-gdb-patches=sources.redhat.com@sourceware.org Thu Feb 07 04:05:37 2019 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 112662 invoked by alias); 7 Feb 2019 04:05:36 -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 112638 invoked by uid 89); 7 Feb 2019 04:05:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=BAYES_00,KAM_STOCKGEN,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 spammy=H*f:sk:cover.1, libfoo.so, foo_id, libfoosodebug X-HELO: smtp.polymtl.ca Received: from smtp.polymtl.ca (HELO smtp.polymtl.ca) (132.207.4.11) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 07 Feb 2019 04:05:34 +0000 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id x1745SN6024288 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 6 Feb 2019 23:05:32 -0500 Received: by simark.ca (Postfix, from userid 112) id 17CAC1E87B; Wed, 6 Feb 2019 23:05:28 -0500 (EST) Received: from simark.ca (localhost [127.0.0.1]) by simark.ca (Postfix) with ESMTP id 1F93D1E472; Wed, 6 Feb 2019 23:05:27 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Thu, 07 Feb 2019 04:05:00 -0000 From: Simon Marchi To: John Baldwin Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 3/9] Handle TLS variable lookups when using separate debug object files. In-Reply-To: <10dfaac6-0119-4f9f-666d-89fe7d8fb6cb@FreeBSD.org> References: <6f24b813adb0155b499d6e2265a6f15a2db4e6ca.1548180889.git.jhb@FreeBSD.org> <27bfe45d3ccba5f52d2e3632da417000@polymtl.ca> <10dfaac6-0119-4f9f-666d-89fe7d8fb6cb@FreeBSD.org> Message-ID: <67973931006085a171ad69952649de33@polymtl.ca> X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.3.6 X-IsSubscribed: yes X-SW-Source: 2019-02/txt/msg00048.txt.bz2 Content-length: 4308 On 2019-02-05 17:33, John Baldwin wrote: > On 2/5/19 2:21 PM, John Baldwin wrote: >> So it seems that the OP_VAR_VALUE path calls down into the dwarf bits >> that >> get the "original" objfile to pass to target_translate_tls_address, >> whereas >> the OP_VAR_MSYM_VALUE case ends up using a separate object file. This >> might >> in fact be due to bugs in the RISCV GCC backend as the TLS symbols for >> RISCV >> don't seem quite right. I have to cast TLS variables to their types >> for >> example: >> >> (gdb) p __je_tsd_initialized >> '__je_tsd_initialized` has unknown type; cast it to its declared type >> (gdb) p (bool)__je_tsd_initialized >> $2 = 1 '\001' >> >> Also, for me TLS variables in the main executable did not work for me >> on >> RISCV, only TLS variables in shared libraries, unlike on other >> architectures >> I tested where TLS variables in both the executable and shared >> libraries >> worked. > > I should have said: I think this means I probably need to rework the > commit > message a bit to explain that this doesn't always happen with separate > debug files, but it can, and if so this fix is needed. After discussing with John on IRC and trying by all means to trigger this bug, this is what I ended up with. On x86/GNU/Linux, it is possible to trigger this bug in a rather contrived way, but at least it shows that there is indeed a bug in GDB. The requirements are: 1. Have a TLS variable in a shared library ("libfoo.so") 2. The .o containing the TLS variable should not be described with DWARF. This can be done simply by compiling it without -g. 3. The shared lib should still have a separate debug info file ("libfoo.so.debug"). 4. The shared lib should be stripped of its unnecessary ELF symbols (ran through the strip utility) 5. The shared library should not be the first object file in the program to have TLS. This can be done by adding a TLS variable in the main executable ("main"). 6. Because we don't have debug info for the variable we try to print, we need to cast it to its expected type, e.g. "print (int)foo_id". With all this, when parsing "(int)foo_id", we find a minimal symbol matching foo_id in the objfile representing libfoo.so.debug. find_minsym_type_and_address is eventually called with that objfile, which calls target_translate_tls_address, which calls svr4_fetch_objfile_link_map. The latter obviously can't find a link_map matching the separate-debug-info objfile, and wrong things happen after. Without #2 above, the DWARF symbol is found and some other code path is taken, where the separate-debug-info objfile is replaced with the "real" objfile at some point. Without #3, we obviously wouldn't end up with a separate-debug-info objfile in svr4_fetch_objfile_link_map. Without #4 above, we would find the objfile for libfoo.so first, so we wouldn't end up with the seaprate-debug-info objfile in svr4_fetch_objfile_link_map. Without #5 we actually get the right result by chance. This is because we end up in the special case "else" of thread_db_target::get_thread_local_address. That special case hardcodes the module id to read from to 1. If the shared lib is the only module to have TLS, then it happens to be the right one. By making the main executable have some TLS, we will end up reading the TLS for the wrong module, and thus trigger the bug. I have not yet found the motivation to write a proper test for this (in particular, I am not sure how to build the lib with separate debug info in the testsuite). But I attached a reproducer for future reference. You should just need to "make" and "gdb -x run.gdb". The wrong value is printed with today's GDB. In John's specific case, apparently the DWARF debug info for TLS variables on riscv is broken, which brought him to roughly the same state. I don't have any more info about that. All this to say that I think this patch is fine. I wondered whether it was better instead to make svr4_fetch_objfile_link_map assert that it receives a "real" objfile (objfile->separate_debug_objfile_backlink == NULL) and push the responsibility to the caller to provide a correct objfile. But in the end I didn't find a compelling to do this rather than what John did in this patch. So therefore, the patch LGTM. Simon