From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 44143 invoked by alias); 18 Apr 2018 09:03:20 -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 43982 invoked by uid 89); 18 Apr 2018 09:03:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=blank, H*r:15.20.0696.013, H*RU:15.20.0696.013, Hx-spam-relays-external:15.20.0696.013 X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-db5eur01on0050.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (104.47.2.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Apr 2018 09:03:16 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.226.148) by DB6PR0802MB2504.eurprd08.prod.outlook.com (10.172.251.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.14; Wed, 18 Apr 2018 09:03:13 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::a1b5:86be:9e75:2105]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::a1b5:86be:9e75:2105%14]) with mapi id 15.20.0696.013; Wed, 18 Apr 2018 09:03:13 +0000 From: Alan Hayward To: Simon Marchi CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH v5 1/8] Commonise tdesc_reg Date: Wed, 18 Apr 2018 09:03:00 -0000 Message-ID: <41D75C72-120B-4EEC-BAA5-D48232DD51ED@arm.com> References: <20180410143337.71768-1-alan.hayward@arm.com> <20180410143337.71768-2-alan.hayward@arm.com> <633ee25e-6f5e-5747-1f5d-8c86fafd19dd@simark.ca> In-Reply-To: <633ee25e-6f5e-5747-1f5d-8c86fafd19dd@simark.ca> authentication-results: simark.ca; dkim=none (message not signed) header.d=none;simark.ca; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB6PR0802MB2504;7:6cOsz4dQ8+5y0An6otWM9DMeaxJCNh2gW/4t1kb5XxZqOtRxtVUsr1UNegvqH8e4frn1pfbOw39odnVASH0HDqrPaG7N078BexQZe5w2/CXB6K1pA2GpdOmqTSwW2uIioT14zCf06t/nk4GGA3Z0sZxliLQ1Z54+RLt/XiXrFebvxdJjGPPYjySqyE5mLK+l0TMOxJ5s1+hJxSbQ4z8z7MF5YkOZWHN5xijYg03vI3Aqj9YKTn/DzDY8nWEiPQWh x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020);SRVR:DB6PR0802MB2504; x-ms-traffictypediagnostic: DB6PR0802MB2504: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231232)(944501327)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:DB6PR0802MB2504;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0802MB2504; x-forefront-prvs: 06469BCC91 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39380400002)(39860400002)(396003)(376002)(366004)(346002)(377424004)(6916009)(8936002)(316002)(81166006)(33656002)(54906003)(186003)(50226002)(446003)(83716003)(6512007)(59450400001)(25786009)(4326008)(82746002)(6116002)(5250100002)(72206003)(305945005)(3846002)(478600001)(5660300001)(476003)(76176011)(66066001)(36756003)(6246003)(2616005)(6506007)(53546011)(26005)(2906002)(8676002)(86362001)(6486002)(6436002)(53936002)(102836004)(11346002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0802MB2504;H:DB6PR0802MB2133.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;MLV:sfv; x-microsoft-antispam-message-info: EdNJmfovmXQgRZ6XeywH9F1LLuTq5P84ml4Q6zmznmtsS3b5+S3gU0mBvl9WSryAslbJ7vgjhMMG21/dCVOekOyt1MCrwT0/flTE/fZASmruBymnLeewCv73RczV7eOdclfsCGX+iaGtMW3Jd4hcOKqwGNEvnImVHa0job0Z/40pTGRdyWFbJNNXsjkiPDjJ spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <1B0E9214CDC74240A5367B0A883C3806@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 52b8abcd-278e-441c-a134-08d5a50b3748 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52b8abcd-278e-441c-a134-08d5a50b3748 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2018 09:03:13.2741 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2504 X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00366.txt.bz2 DQoNCj4gT24gMTggQXByIDIwMTgsIGF0IDAyOjU3LCBTaW1vbiBNYXJjaGkg PHNpbWFya0BzaW1hcmsuY2E+IHdyb3RlOg0KPiANCj4gT24gMjAxOC0wNC0x MCAxMDozMyBBTSwgQWxhbiBIYXl3YXJkIHdyb3RlOg0KPj4gVGhpcyBwYXRj aCBjb21tb25pc2VzIHRkZXNjX3JlZyBhbmQgbWFrZXMgdXNlIG9mIGl0IGlu IGdkYnNlcnZlciB0ZGVzYy4NCj4+IA0KPj4gZ2Ric2VydmVyIHRkZXNjX2Ny ZWF0ZV9yZWcgaXMgY2hhbmdlZCB0byBjcmVhdGUgYSB0ZGVzY19yZWcgaW5z dGVhZCBvZg0KPj4gYSByZWdfZGVmcyBlbnRyeS4gVGhlIHZlY3RvciBvZiB0 ZGVzY19yZWcgaXMgaGVsZCBpbnNpZGUgdGRlc2NfZmVhdHVyZS4NCj4+IA0K Pj4gSG93ZXZlciwgb3RoZXIgbW9kdWxlcyBpbiBnZGJzZXJ2ZXIgZGlyZWN0 bHkgYWNjZXNzIHRoZSByZWdfZGVmcyBzdHJ1Y3R1cmUuDQo+PiBUbyB3b3Jr IGFyb3VuZCB0aGlzLCBpbml0X3RhcmdldF9kZXNjIGZpbGxzIGluIHJlZ19k ZWZzIGJ5IHBhcnNpbmcgdGhlDQo+PiB0ZGVzY19yZWcgdmVjdG9yLg0KPj4g VGhlIGxvbmcgdGVybSBnb2FsIGlzIHRvIHJlbW92ZSByZWdfZGVmcywgcmVw bGFjaW5nIHdpdGggYWNjZXNzb3IgZnVuY3MuDQo+PiANCj4+IEkgd2FudGVk IHRvIG1ha2UgdGRlc2NfY3JlYXRlX3JlZyBjb21tb24sIGJ1dCBJIGNhbm5v dCBkbyB0aGF0IHVudGlsDQo+PiB0aGUgbmV4dCBwYXRjaC4NCj4+IA0KPj4g SSBhbHNvIGhhZCB0byBjb21tb25pc2UgdGRlc2NfZWxlbWVudF92aXNpdG9y IGFuZCB0ZGVzY19lbGVtZW50Lg0KPj4gDQo+PiBUaGlzIHBhdGNoIG9ubHkg ZGlmZmVycyBmcm9tIHRoZSBWNCB2ZXJzaW9uIGluIGluaXRfdGFyZ2V0X2Rl c2MoKSBhbmQNCj4+IHRoZSBjaGFuZ2luZyBvZiBjb25zdHJ1Y3RvcnMgZm9y IHJlZ2RlZi4NCj4gDQo+IEhpIEFsYW4sDQo+IA0KPiBKdXN0IHR3byBzbWFs bCBjb21tZW50LCBidXQgdGhlIHBhdGNoIExHVE0gd2l0aCB0aG9zZSBhbnN3 ZXJlZCBvciBhZGRyZXNzZWQuDQo+IA0KPj4gZGlmZiAtLWdpdCBhL2dkYi9n ZGJzZXJ2ZXIvdGRlc2MuaCBiL2dkYi9nZGJzZXJ2ZXIvdGRlc2MuaA0KPj4g aW5kZXggODUxMzlkOTQ4Yy4uOGViODhlZWRjZSAxMDA2NDQNCj4+IC0tLSBh L2dkYi9nZGJzZXJ2ZXIvdGRlc2MuaA0KPj4gKysrIGIvZ2RiL2dkYnNlcnZl ci90ZGVzYy5oDQo+PiBAQCAtMjUsNyArMjUsMTAgQEANCj4+ICNpbmNsdWRl IDx2ZWN0b3I+DQo+PiANCj4+IHN0cnVjdCB0ZGVzY19mZWF0dXJlDQo+PiAt e307DQo+PiArew0KPj4gKyAgLyogVGhlIHJlZ2lzdGVycyBhc3NvY2lhdGVk IHdpdGggdGhpcyBmZWF0dXJlLiAgKi8NCj4+ICsgIHN0ZDo6dmVjdG9yPHRk ZXNjX3JlZ191cD4gcmVnaXN0ZXJzOw0KPj4gK307DQo+PiANCj4+IC8qIEEg dGFyZ2V0IGRlc2NyaXB0aW9uLiAgSW5oZXJpdCBmcm9tIHRkZXNjX2ZlYXR1 cmUgc28gdGhhdCB0YXJnZXRfZGVzYw0KPj4gICAgY2FuIGJlIHVzZWQgYXMg dGRlc2NfZmVhdHVyZS4gICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2Zv cm1hdHMvcmVnZGVmLmggYi9nZGIvcmVnZm9ybWF0cy9yZWdkZWYuaA0KPj4g aW5kZXggNDc3NWU4NjNlOS4uN2M4MGQ0NWQ0OCAxMDA2NDQNCj4+IC0tLSBh L2dkYi9yZWdmb3JtYXRzL3JlZ2RlZi5oDQo+PiArKysgYi9nZGIvcmVnZm9y bWF0cy9yZWdkZWYuaA0KPj4gQEAgLTIxLDE1ICsyMSwxNSBAQA0KPj4gDQo+ PiBzdHJ1Y3QgcmVnDQo+PiB7DQo+PiAtICByZWcgKCkNCj4+ICsgIHJlZyAo aW50IF9vZmZzZXQpDQo+PiAgICAgOiBuYW1lICgiIiksDQo+PiAtICAgICAg b2Zmc2V0ICgwKSwNCj4+ICsgICAgICBvZmZzZXQgKF9vZmZzZXQpLA0KPj4g ICAgICAgc2l6ZSAoMCkNCj4+ICAge30NCj4gDQo+IElmIHRoaXMgY29uc3Ry dWN0b3IgaXMgb25seSB1c2VkIGZvciBwYWRkaW5nIGVudHJpZXMsIHNob3Vs ZG4ndCBuYW1lIGJlDQo+IE5VTEwsIGFzIHRoZSBkb2N1bWVudGF0aW9uIGZv ciB0aGUgZmllbGQgc3RhdGVzPw0KPiANCg0KVGhhdCBjcmVhdGVzIHR3byBp c3N1ZXM6DQoNClRoZSByZWc6b3BlcmF0b3I9PSBzZWdmYXVsdHMgaW4gdGhl IHN0cmNtcCBkdWUgdG8gdGhlIG51bGwuDQpFYXNpbHkgZml4YWJsZSwgYnV0 IGEgbGl0dGxlIHVnbHkuDQoNCldpdGggdGhhdCBwYXRjaGVkLCB0aGUgZ2Ri c2VydmVyIHVuaXQgdGVzdHMgd2lsbCBmYWlsLg0KVGhhdCBpcyBiZWNhdXNl IHRoZSBjcmVhdGlvbiBvZiB0YXJnZXQgZGVzY3JpcHRpb25zIGluIHRoZSAg LWdlbmVyYXRlZC5jIGZpbGVzDQppbiB0aGUgYnVpbGQgZGlyIGNyZWF0ZSB0 aGUgZ2FwcyB1c2luZzoNCnRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsIOKA nCIsIDAsIDAsIE5VTEwsIDAsIE5VTEwpOw0KDQpXb3VsZCBmaXhpbmcgdGhh dCBjYXVzZSBtb3JlIGlzc3Vlcz8gTm90IHN1cmUuDQoNCkhhdmluZyDigJzi gJ0gcmF0aGVyIHRoYW4gMCBkb2VzIG1ha2Ugc2Vuc2Ugd2hlbiB5b3UgZm9y bWF0IHRoZXNlIHRvIHhtbCBmaWxlcy4NCldlIGFyZSBleHBsaWNpdGx5IHNl dHRpbmcgdG8gYSBibGFuayBzdHJpbmcuIFdoZXJlYXMgbnVsbCBpcyBtb3Jl IGZvciB1bmluaXRpYWxpc2VkLg0KDQpJIHdhcyBnb2luZyB0byBzdWdnZXN0 IGZpeGluZyBpbiBhIGZvbGxvdyBvbiBwYXRjaCwgYnV0IHRoZSBtb3JlIEkg dGhpbmsgYWJvdXQgaXQsDQpUaGUgbW9yZSBJ4oCZbSB0aGlua2luZyDigJzi gJ0gaXMgY29ycmVjdC4NCg0KPiBBbHNvLCBkaWQgeW91IG5vdGljZSBzb21l dGhpbmcgZmFpbGluZyBpZiB0aGUgcGFkZGluZyBlbnRyaWVzIGRvbid0IGhh dmUNCj4gdGhlIG9mZnNldCBmaWVsZCB0byB0aGUgImN1cnJlbnQiIG9mZnNl dCBhdCB0aGUgdGltZSB0aGV5IGFyZSBjcmVhdGVkPw0KPiBJZiB3ZSBjb3Vs ZCBsZWF2ZSB0aGVtIGF0IDAsIEkgdGhpbmsgaXQgd291bGQga2VlcCB0aGlu Z3Mgc2ltcGxlci4gIEkNCj4gc3RvcHBlZCBmb3IgYSBmZXcgc2Vjb25kcywg d29uZGVyaW5nIHdoeSBpbml0X3RhcmdldF9kZXNjIGRpZDoNCj4gDQo+ICB0 ZGVzYy0+cmVnX2RlZnMucmVzaXplIChyZWdudW0sIHJlZyAob2Zmc2V0KSk7 DQo+IA0KPiBhbmQgbm90IGp1c3Q6DQo+IA0KPiAgdGRlc2MtPnJlZ19kZWZz LnJlc2l6ZSAocmVnbnVtKTsNCg0KQWdhaW4sIHRoaXMgY3JlYXRlcyB1bml0 IHRlc3QgZmFpbHVyZXMgZHVlIHRvIHRoZSBzYW1lIHRkZXNjX2NyZWF0ZV9y ZWcgYWJvdmUuDQpIZXJlIG9mZnNldCBpcyBhIGxpdHRsZSBtb3JlIGV4cGxp Y2l0LCBhbmQgc2V0dGluZyB0byAwIHNheXMgaXTigJlzIGF0IHRoZSBzdGFy dCBvZiB0aGUNCmRlc2NyaXB0aW9uLCB3aGljaCBpc27igJl0IHJpZ2h0Lg0K DQpUaGFua3MgYWdhaW4gZm9yIHRoZSByZXZpZXdzLg0KDQpBbGFuLg0KDQo= >From gdb-patches-return-146675-listarch-gdb-patches=sources.redhat.com@sourceware.org Wed Apr 18 11:21:42 2018 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 5618 invoked by alias); 18 Apr 2018 11:21: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 Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 5606 invoked by uid 89); 18 Apr 2018 11:21:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=falling X-HELO: mx1.redhat.com Received: from mx3-rdu2.redhat.com (HELO mx1.redhat.com) (66.187.233.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Apr 2018 11:21:38 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1C1484022909; Wed, 18 Apr 2018 11:21:37 +0000 (UTC) Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9AD08111CA18; Wed, 18 Apr 2018 11:21:34 +0000 (UTC) Subject: Re: [PATCH 31/40] target_ops/C++: Base FreeBSD target To: John Baldwin References: <20180414190953.24481-1-palves@redhat.com> <2651054.rGX2nUqyEc@ralph.baldwin.cx> <4c3b320e-ecbe-4e97-9ee4-91cacca60b8d@redhat.com> <2336080.G2aX46TNlR@ralph.baldwin.cx> Cc: gdb-patches@sourceware.org From: Pedro Alves Message-ID: <0b900391-f06d-278c-cbed-b89b207bd12e@redhat.com> Date: Wed, 18 Apr 2018 11:21:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <2336080.G2aX46TNlR@ralph.baldwin.cx> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-04/txt/msg00367.txt.bz2 Content-length: 3380 On 04/18/2018 01:37 AM, John Baldwin wrote: > On Tuesday, April 17, 2018 06:07:37 PM Pedro Alves wrote: >> On 04/17/2018 05:05 PM, John Baldwin wrote: >>> On Saturday, April 14, 2018 08:09:44 PM Pedro Alves wrote: >>>> The >>>> >>>> $architecture x NetBSD/OpenBSD/FreeBSD >>>> >>>> support matrix complicates things a bit. There's common BSD target >>>> code, and there's common architecture-specific code shared between the >>>> different BSDs. Current, all that is stiched together to form a final >>>> target, via the i386bsd_target, x86bsd_target, fbsd_nat_add_target >>>> functions etc. >>>> >>>> Introduces a fbsd_nat_target base/prototype target. To be used in >>>> following patches. >>> >>> I will do some tests of FreeBSD/amd64 first and let you know what I find. >> >> Thank you! > > I've pushed a target_ops-cxx branch to github.com/bsdjhb/gdb.git that has > some small fixups (compile fixes). Thank you! > I've built the amd64, i386, arm, and > aarch64 FreeBSD native targets so far. Simple testing of the the amd64 > and i386 binaries seems to work, but I encountered a new test failure > in the testsuite for FreeBSD/amd64 that is a bit odd. In particular, > I get a core dump running 'info set' when it tries to display the > current setting of whether ASLR is disabled. Looking at the core of gdb: Ah, I wasn't seeing this because the Linux target implements the supports_disable_randomization method. If I hack that away, I can reproduce the crash. > > Program terminated with signal SIGSEGV, Segmentation fault. > #0 0x0000000000d3a7d4 in target_ops::supports_disable_randomization ( > this=0x28d4c68 ) > at ../../gdb/target-delegates.c:2732 > 2732 return this->beneath->supports_disable_randomization (); > ... > > From the stack trace we can see that it already bounced down to the dummy > target which calls find_default_supports_disable_randomization. That > finds the native "run" target and invokes its method without pushing > it onto the stack. I think before if a native target didn't support ASLR > at all it just didn't set the function pointer and no harm was done. > Now the function pointer is effectively always set but to something that > assumes 'beneath' is valid. I'm not quite sure how you want to fix this. > The simple solution is to change the default method to return false if > beneath is NULL, but I'm not quite sure that fits in with the design this > branch is aiming for. Thanks for the analysis, that helps. There's a small set of target methods that must always be implemented by native targets, to avoid falling down to the target beneath (since the target may not be pushed when the method is called). See target.c:complete_target_initialization in current master. Since all native targets inherit from inf-child (just like in current master), in the C++ version, we can override it there. Like below. This fixes it for me. diff --git c/gdb/inf-child.h w/gdb/inf-child.h index d3f8b71589..956cee2a0a 100644 --- c/gdb/inf-child.h +++ w/gdb/inf-child.h @@ -72,6 +72,7 @@ public: target that can run. */ bool can_async_p () override { return false; } bool supports_non_stop () override { return false; } + bool supports_disable_randomization () override { return false; } char *pid_to_exec_file (int pid) override; Thanks, Pedro Alves