From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108499 invoked by alias); 8 Feb 2016 11:55:14 -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 108485 invoked by uid 89); 8 Feb 2016 11:55:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL,BAYES_00,MIME_BASE64_BLANKS,MISSING_MIMEOLE,RP_MATCHES_RCVD,SPF_PASS autolearn=no version=3.3.2 spammy=R, abandon, 8, HX-MSMail-Priority:Normal X-HELO: xyzzy.0x04.net Received: from xyzzy.0x04.net (HELO xyzzy.0x04.net) (109.74.193.254) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 08 Feb 2016 11:55:11 +0000 Received: from hogfather.0x04.net (89-65-66-135.dynamic.chello.pl [89.65.66.135]) by xyzzy.0x04.net (Postfix) with ESMTPS id A0450400FB; Mon, 8 Feb 2016 12:55:57 +0100 (CET) Received: from [192.0.0.4] (public-gprs516540.centertel.pl [31.61.136.253]) by hogfather.0x04.net (Postfix) with ESMTPSA id DC0DF58008C; Mon, 8 Feb 2016 12:55:07 +0100 (CET) Date: Mon, 08 Feb 2016 11:55:00 -0000 Subject: Re: [PATCH] gdb.trace: Remove struct tracepoint_action_ops. Message-ID: <7baa00a9-1972-4b73-a6b6-359c09413a88@email.android.com> X-Android-Message-ID: <7baa00a9-1972-4b73-a6b6-359c09413a88@email.android.com> In-Reply-To: <56AB650B.1000204@ericsson.com> From: =?UTF-8?Q?Marcin_Ko=C5=9Bcielnicki?= To: Antoine Tremblay Cc: Pedro Alves , gdb-patches@sourceware.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00189.txt.bz2 Cj4KPgo+Cj4gT24gMDEvMjUvMjAxNiAwNzoxNyBBTSwgTWFyY2luIEtvxZtj aWVsbmlja2kgd3JvdGU6IAo+ID4gT24gMjUvMDEvMTYgMTI6NTMsIFBlZHJv IEFsdmVzIHdyb3RlOiAKPiA+PiBPbiAwMS8yMy8yMDE2IDA3OjMxIFBNLCBN YXJjaW4gS2/Fm2NpZWxuaWNraSB3cm90ZTogCj4gPj4+IFRoZSBzdHJ1Y3Qg dHJhY2Vwb2ludF9hY3Rpb24gaGFzIGFuIG9wcyBmaWVsZCwgcG9pbnRpbmcg dG8gCj4gPj4+IGEgdHJhY2Vwb2ludF9hY3Rpb25fb3BzIHN0cnVjdHVyZSwg Y29udGFpbmluZyBzZW5kIGFuZCBkb3dubG9hZCBvcHMuIAo+ID4+PiBIb3dl dmVyLCB0aGlzIGZpZWxkIGlzIG9ubHkgcHJlc2VudCB3aGVuIGNvbXBpbGVk IGluIGdkYnNlcnZlciwgYW5kIG5vdCAKPiA+Pj4gd2hlbiBjb21waWxlZCBp biBJUEEuwqAgV2hlbiBnZGJzZXJ2ZXIgaXMgZG93bmxvYWRpbmcgdHJhY2Vw b2ludCBhY3Rpb25zIAo+ID4+PiB0byBJUEEsIGl0IHNraXBzIG9mZnNldG9m KHN0cnVjdCB0cmFjZXBvaW50X2FjdGlvbiwgdHlwZSkgYnl0ZXMgZnJvbSAK PiA+Pj4gaXRzIHN0cnVjdCB0cmFjZXBvaW50X2FjdGlvbiwgdG8gZ2V0IHRv IHRoZSBwYXJ0IHRoYXQgY29ycmVzcG9uZHMgdG8gCj4gPj4+IElQQSdzIHN0 cnVjdCB0cmFjZXBvaW50X2FjdGlvbi4gCj4gPj4+IAo+ID4+PiBVbmZvcnR1 bmF0ZWx5LCB0aGlzIGZhaWxzIGJhZGx5IG9uIElMUDMyIHBsYXRmb3JtcyB3 aGVyZSBhbGlnbm9mKGxvbmcgCj4gPj4+IGxvbmcpIAo+ID4+PiA9PSA4LsKg IENvbnNpZGVyIHN0cnVjdCBjb2xsZWN0X21lbW9yeV9hY3Rpb24gbGF5b3V0 IGluIGdkYnNlcnZlcjogCj4gPj4+IAo+ID4+PiAwLTM6IGJhc2Uub3BzIAo+ ID4+PiA0OiBiYXNlLnR5cGUgCj4gPj4+IDgtMTU6IGFkZHIgCj4gPj4+IDE2 LTIzOiBsZW4gCj4gPj4+IDI0LTI3OiBiYXNlcmVnIAo+ID4+PiBzaXplb2Yg PT0gMzIgCj4gPj4+IAo+ID4+PiBhbmQgaXRzIGxheW91dCBpbiBJUEE6IAo+ ID4+PiAKPiA+Pj4gMDogYmFzZS50eXBlIAo+ID4+PiA4LTE1OiBhZGRyIAo+ ID4+PiAxNi0yMzogbGVuIAo+ID4+PiAyNC0yNzogYmFzZXJlZyAKPiA+Pj4g c2l6ZW9mID09IDMyIAo+ID4+PiAKPiA+Pj4gV2hlbiBnZGJzZXJ2ZXIgdHJp ZXMgdG8gZG93bmxvYWQgaXQgdG8gSVBBLCBpdCBza2lwcyB0aGUgZmlyc3Qg NCBieXRlcyAKPiA+Pj4gKGJhc2Uub3BzKSwgZmlndXJpbmcgdGhlIHJlc3Qg d2lsbCBtYXRjaCB3aGF0IElQQSBleHBlY3RzIC0gd2hpY2ggaXMgCj4gPj4+ IG5vdCB0cnVlLCBzaW5jZSBhZGRyIGlzIGFsaWduZWQgdG8gOCBieXRlcyBh bmQgd2lsbCBiZSBhdCBhIGRpZmZlcmVudCAKPiA+Pj4gcmVsYXRpdmUgcG9z aXRpb24gdG8gYmFzZS50eXBlLiAKPiA+Pj4gCj4gPj4+IFRoZSBwcm9ibGVt IHdlbnQgdW5ub3RpY2VkIG9uIHRoZSBjdXJyZW50bHkgc3VwcG9ydGVkIHBs YXRmb3Jtcywgc2luY2UgCj4gPj4+IGFhcmNoNjQgYW5kIHg4Nl82NCBoYXZl IG9wcyBhbGlnbmVkIHRvIDggYnl0ZXMsIGFuZCBpMzg2IGhhcyBvbmx5IDQt Ynl0ZSAKPiA+Pj4gYWxpZ25tZW50IGZvciBsb25nIGxvbmcuIAo+ID4+PiAK PiA+Pj4gVGhlcmUgYXJlIGEgZmV3IHBvc3NpYmxlIHdheXMgYXJvdW5kIHRo aXMgcHJvYmxlbS7CoCBJIGRlY2lkZWQgb24gCj4gPj4+IHJlbW92aW5nIAo+ ID4+PiBvcHMgYWx0b2dldGhlciwgc2luY2UgdGhleSBjYW4gYmUgZWFzaWx5 IGlubGluZWQgaW4gdGhlaXIgKG9ubHkpIHBsYWNlcyAKPiA+Pj4gb2YgdXNl IC0gaW4gZmFjdCBhbGxvd2luZyB1cyBzaGFyZSB0aGUgY29kZSBiZXR3ZWVu ICdMJyBhbmQgJ1InLsKgIEFueSAKPiA+Pj4gYXBwcm9hY2ggd2hlcmUgc3Ry dWN0IHRyYWNlcG9pbnRfYWN0aW9uIGlzIGRpZmZlcmVudCBiZXR3ZWVuIElQ QSBhbmQgCj4gPj4+IGdkYnNlcnZlciBpcyBqdXN0IGFza2luZyBmb3IgdHJv dWJsZS4gCj4gPj4+IAo+ID4+PiBGb3VuZCBvbiBzMzkwLsKgIFRlc3RlZCBv biB4ODZfNjQsIHMzOTAsIHMzOTB4LiAKPiA+PiAKPiA+PiBIbW0sIHRoaXMg aXMgZXNzZW50aWFsbHkgdGhlIHNhbWUgYXM6IAo+ID4+IAo+ID4+wqDCoCBo dHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTUtMDMv bXNnMDA5OTUuaHRtbCAKPiA+PiAKPiA+PiBSaWdodD8gCj4gPj4gCj4gPj4g U2VlbXMgdGhhdCBvdGhlciBwYXRjaCBpbmxpbmVzIHRoaW5ncyBhIGJpdCBs ZXNzIHRob3VnaCwgd2hpY2ggb2ZmaGFuZCAKPiA+PiBsb29rcyBwcmVmZXJh YmxlLsKgIFdEWVQ/IAo+ID4+IAo+ID4+IE5vdCBzdXJlIHdoYXQgaGFwcGVu ZWQgdG8gdGhhdCBzZXJpZXMuwqAgSSB0aG91Z2h0IG1vc3Qgb2YgaXQgKGlm IG5vdCBhbGwpIAo+ID4+IGhhZCBiZWVuIGFwcHJvdmVkIGFscmVhZHkuIAo+ ID4+IAo+ID4+IFRoYW5rcywgCj4gPj4gUGVkcm8gQWx2ZXMgCj4gPj4gCj4g PiAKPiA+IEh1aCwgSSBkaWRuJ3Qga25vdyBhYm91dCB0aGF0IHBhdGNoIHNl cmllcy7CoCBHb29kIHRvIGtub3csIHNpbmNlIEkgd2FzIAo+ID4gZ29pbmcg dG8gdHJ5IGRvaW5nIHBwYyB0cmFjZXBvaW50cyBuZXh0LCBhbmQgaGFkIG5v IGlkZWEgdGhhdCBoYXMgCj4gPiBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkLsKg IFdoYXQgaGFwcGVuZWQgdG8gdGhhdCBwYXRjaHNldC9hdXRob3I/wqAgS2lu ZCBvZiAKPiA+IHN0cmFuZ2UgdG8gYWJhbmRvbiBtb3N0bHktZmluaXNoZWQg Y29kZSB3aGVuIHRoZXJlJ3MgYSAkM2sgYm91bnR5IG9uIGl0LiAKPiA+IAo+ ID4gVGhlIG90aGVyIHBhdGNoIGxvb2tzIGZpbmUgdG9vLCBJIGhhdmUgbm8g cHJlZmVyZW5jZSBoZXJlLiAKPiA+IAo+ID4gTWFyY2luIEtvxZtjaWVsbmlj a2kgCj4KPiBJIGhhZCB0aGUgc2FtZSBwcm9ibGVtIG9uIEFSTS4gCj4KPiBX ZSBjb3VsZCBqdXN0IGtlZXAgdGhlIHN0cnVjdCBhbmQgcGFjayBpdCB0b28s IHRoaXMgaXMgY29tbW9uIGZvciBBQklzIAo+IElNTy4uLiAKPgo+IEl0IHdv dWxkIGF2b2lkIHRoaXMga2luZCBvZiBtaXN0YWtlIGluIHRoZSBmdXR1cmUg aWYgd2Ugd2VyZSBnb2luZyB0byAKPiByZWludHJvZHVjZSBzb21ldGhpbmcg c2ltaWxhci4uLiAKPgo+IEkgaGFkIHRoaXMgcGF0Y2ggaW4gdGhlIHBpcGVs aW5lOiAKPgo+IEF1dGhvcjogQW50b2luZSBUcmVtYmxheSA8YW50b2luZS50 cmVtYmxheUBlcmljc3Nvbi5jb20+IAo+IERhdGU6wqDCoCBUaHUgSmFuIDI4 IDEzOjAzOjEwIDIwMTYgLTA1MDAgCj4KPiDCoMKgwqDCoCBGaXggc3RydWN0 dXJlIGFsaWdubWVudCBwcm9ibGVtcyB3aXRoIElQQSBwcm90b2NvbCBvYmpl Y3RzLiAKPgo+IMKgwqDCoMKgIFdoaWxlIHRlc3RpbmcgZmFzdCB0cmFjZXBv aW50cyBvbiBBUk0gSSBjYW1lIGFjcm9zcyB0aGlzIHByb2JsZW0gOiAKPgo+ IMKgwqDCoMKgIFByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNl Z21lbnRhdGlvbiBmYXVsdC4gCj4gwqDCoMKgwqAgMHg0MDEwYjU2YyBpbiA/ PyAoKSBmcm9tIHRhcmdldDovbGliL2FybS1saW51eC1nbnVlYWJpaGYvbGli Yy5zby42IAo+IMKgwqDCoMKgIChnZGIpIEZBSUw6IGdkYi50cmFjZS9mdHJh Y2UuZXhwOiBvbmQgZ2xvYnZhciA+IDc6IGNvbnRpbnVlIAo+Cj4gwqDCoMKg wqAgVGhlIHByb2JsZW0gaXMgdGhhdCBvbiBHREJTZXJ2ZXIgc2lkZSBzdHJ1 Y3QgdHJhY2Vwb2ludF9hY3Rpb24gaXMgCj4gYWxpZ25lZCAKPiDCoMKgwqDC oCBvbiA0IGJ5dGVzLCBhbmQgY29sbGVjdF9tZW1vcnlfYWN0aW9uIGlzIGFs aWduZWQgb24gOC4gSG93ZXZlciBpbiAKPiB0aGUgSVBBIAo+IMKgwqDCoMKg IHRoZXkgYXJlIGJvdGggYWxpZ25lZCBvbiA4IGJ5dGVzLiAKPgo+IMKgwqDC oMKgIFRodXMgd2hlbiB3ZSBjb3B5IHRoZSBkYXRhIGZyb20gR0RCU2VydmVy J3Mgc3RydWN0IAo+IHRyYWNlcG9pbnRfYWN0aW9uLT50eXBlIAo+IMKgwqDC oMKgIG9mZnNldCB0byB0aGUgaXBhIHRoZSBhbGlnbmVtZW50IGlzIHdyb25n IGFuZCB0aGUgYWRkcixsZW4sYmFzZXJlZyAKPiB2YWx1ZXMgCj4gwqDCoMKg wqAgYXJlIHdyb25nIGFsc28sIGNhdXNpbmcgYSBjcmFzaCBpbiB0aGUgaW5m ZXJpcm9yIGFzIGl0IHRyaWVzIHRvIHJlYWQgCj4gwqDCoMKgwqAgbWVtb3J5 IGF0IGEgYm9ndXMgYWRkcmVzcy4gCj4KPiDCoMKgwqDCoCBUaGlzIHBhdGNo IGZpeGVzIHRoaXMgaXNzdWUgYnkgc2V0dGluZyB0aGUgdHJhY2Vwb2ludF9h Y3Rpb24gYW5kIAo+IMKgwqDCoMKgIGNvbGxlY3RfbWVtb3J5X2FjdGlvbiBh cyBwYWNrZWQuIAo+Cj4gwqDCoMKgwqAgVGhpcyBwYXRjaCBhbHNvIGZpeGVz IHRoaXMgaXNzdWUgaW4gZ2VuZXJhbCBieSBzZXR0aW5nIGFsbCBJUEEgcHJv dG9jb2wgCj4gwqDCoMKgwqAgb2JqZWN0IHN0cnVjdHVyZXMgYXMgcGFja2Vk LiAKPgo+IMKgwqDCoMKgIGdkYi9nZGJzZXJ2ZXIvQ2hhbmdlTG9nOiAKPgo+ IMKgwqDCoMKgICogdHJhY2Vwb2ludC5jIChBVFRSX1BBQ0tFRCk6IE1vdmVk IGVhcmxpZXIgaW4gdGhlIGZpbGUuIAo+IMKgwqDCoMKgIChzdHJ1Y3QgdHJh Y2Vwb2ludF9hY3Rpb24pOiBVc2UgQVRUUl9QQUNLRUQuIAo+IMKgwqDCoMKg IChzdHJ1Y3QgY29sbGVjdF9tZW1vcnlfYWN0aW9uKTogTGlrZXdpc2UuIAo+ IMKgwqDCoMKgIChzdHJ1Y3QgY29sbGVjdF9yZWdpc3RlcnNfYWN0aW9uKTog TGlrZXdpc2UuIAo+IMKgwqDCoMKgIChzdHJ1Y3QgZXZhbF9leHByX2FjdGlv bik6IExpa2V3aXNlLiAKPiDCoMKgwqDCoCAoc3RydWN0IGNvbGxlY3Rfc3Rh dGljX3RyYWNlX2RhdGFfYWN0aW9uKTogTGlrZXdpc2UuIAo+Cj4gZGlmZiAt LWdpdCBhL2dkYi9nZGJzZXJ2ZXIvdHJhY2Vwb2ludC5jIGIvZ2RiL2dkYnNl cnZlci90cmFjZXBvaW50LmMgCj4gaW5kZXggMzNmNjEyMC4uMzVjZTJhZCAx MDA2NDQgCj4gLS0tIGEvZ2RiL2dkYnNlcnZlci90cmFjZXBvaW50LmMgCj4g KysrIGIvZ2RiL2dkYnNlcnZlci90cmFjZXBvaW50LmMgCj4gQEAgLTQ2Nyw2 ICs0NjcsMTQgQEAgc3RhdGljIGludCB3cml0ZV9pbmZlcmlvcl9kYXRhX3B0 ciAoQ09SRV9BRERSIAo+IHdoZXJlLCBDT1JFX0FERFIgcHRyKTsgCj4KPiDC oCAjZW5kaWYgCj4KPiArI2lmbmRlZiBBVFRSX1BBQ0tFRCAKPiArI8KgIGlm IGRlZmluZWQoX19HTlVDX18pIAo+ICsjwqDCoMKgIGRlZmluZSBBVFRSX1BB Q0tFRCBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgCj4gKyPCoCBlbHNlIAo+ ICsjwqDCoMKgIGRlZmluZSBBVFRSX1BBQ0tFRCAvKiBub3RoaW5nICovIAo+ ICsjwqAgZW5kaWYgCj4gKyNlbmRpZiAKPiArIAo+IMKgIC8qIE9wZXJhdGlv bnMgb24gdmFyaW91cyB0eXBlcyBvZiB0cmFjZXBvaW50IGFjdGlvbnMuwqAg Ki8gCj4KPiDCoCBzdHJ1Y3QgdHJhY2Vwb2ludF9hY3Rpb247IAo+IEBAIC00 OTAsNyArNDk4LDcgQEAgc3RydWN0IHRyYWNlcG9pbnRfYWN0aW9uIAo+IMKg wqDCoCBjb25zdCBzdHJ1Y3QgdHJhY2Vwb2ludF9hY3Rpb25fb3BzICpvcHM7 IAo+IMKgICNlbmRpZiAKPiDCoMKgwqAgY2hhciB0eXBlOyAKPiAtfTsgCj4g K30gQVRUUl9QQUNLRUQ7IAo+Cj4gwqAgLyogQW4gJ00nIChjb2xsZWN0IG1l bW9yeSkgYWN0aW9uLsKgICovIAo+IMKgIHN0cnVjdCBjb2xsZWN0X21lbW9y eV9hY3Rpb24gCj4gQEAgLTUwMCwxNCArNTA4LDE0IEBAIHN0cnVjdCBjb2xs ZWN0X21lbW9yeV9hY3Rpb24gCj4gwqDCoMKgIFVMT05HRVNUIGFkZHI7IAo+ IMKgwqDCoCBVTE9OR0VTVCBsZW47IAo+IMKgwqDCoCBpbnQzMl90IGJhc2Vy ZWc7IAo+IC19OyAKPiArfSBBVFRSX1BBQ0tFRDsgCj4KPiDCoCAvKiBBbiAn UicgKGNvbGxlY3QgcmVnaXN0ZXJzKSBhY3Rpb24uwqAgKi8gCj4KPiDCoCBz dHJ1Y3QgY29sbGVjdF9yZWdpc3RlcnNfYWN0aW9uIAo+IMKgIHsgCj4gwqDC oMKgIHN0cnVjdCB0cmFjZXBvaW50X2FjdGlvbiBiYXNlOyAKPiAtfTsgCj4g K30gQVRUUl9QQUNLRUQ7IAo+Cj4gwqAgLyogQW4gJ1gnIChldmFsdWF0ZSBl eHByZXNzaW9uKSBhY3Rpb24uwqAgKi8gCj4KPiBAQCAtNTE2LDEzICs1MjQs MTMgQEAgc3RydWN0IGV2YWxfZXhwcl9hY3Rpb24gCj4gwqDCoMKgIHN0cnVj dCB0cmFjZXBvaW50X2FjdGlvbiBiYXNlOyAKPgo+IMKgwqDCoCBzdHJ1Y3Qg YWdlbnRfZXhwciAqZXhwcjsgCj4gLX07IAo+ICt9IEFUVFJfUEFDS0VEOyAK Pgo+IMKgIC8qIEFuICdMJyAoY29sbGVjdCBzdGF0aWMgdHJhY2UgZGF0YSkg YWN0aW9uLsKgICovIAo+IMKgIHN0cnVjdCBjb2xsZWN0X3N0YXRpY190cmFj ZV9kYXRhX2FjdGlvbiAKPiDCoCB7IAo+IMKgwqDCoCBzdHJ1Y3QgdHJhY2Vw b2ludF9hY3Rpb24gYmFzZTsgCj4gLX07IAo+ICt9IEFUVFJfUEFDS0VEOyAK Pgo+IMKgICNpZm5kZWYgSU5fUFJPQ0VTU19BR0VOVCAKPiDCoCBzdGF0aWMg Q09SRV9BRERSIAo+IEBAIC04MjgsMTQgKzgzNiw2IEBAIElQX0FHRU5UX0VY UE9SVF9WQVIgc3RydWN0IHRyYWNlX3N0YXRlX3ZhcmlhYmxlIAo+ICp0cmFj ZV9zdGF0ZV92YXJpYWJsZXM7IAo+IMKgwqDCoMKgIHdoZW4gdGhlIHdyYXBw ZWQtYXJvdW5kIHRyYWNlIGZyYW1lIGlzIHRoZSBvbmUgYmVpbmcgZGlzY2Fy ZGVkOyB0aGUgCj4gwqDCoMKgwqAgZnJlZSBzcGFjZSBlbmRzIHVwIGluIHR3 byBwYXJ0cyBhdCBvcHBvc2l0ZSBlbmRzIG9mIHRoZSBidWZmZXIuwqAgKi8g Cj4KPiAtI2lmbmRlZiBBVFRSX1BBQ0tFRCAKPiAtI8KgIGlmIGRlZmluZWQo X19HTlVDX18pIAo+IC0jwqDCoMKgIGRlZmluZSBBVFRSX1BBQ0tFRCBfX2F0 dHJpYnV0ZV9fICgocGFja2VkKSkgCj4gLSPCoCBlbHNlIAo+IC0jwqDCoMKg IGRlZmluZSBBVFRSX1BBQ0tFRCAvKiBub3RoaW5nICovIAo+IC0jwqAgZW5k aWYgCj4gLSNlbmRpZiAKPiAtIAo+IMKgIC8qIFRoZSBkYXRhIGNvbGxlY3Rl ZCBhdCBhIHRyYWNlcG9pbnQgaGl0LsKgIFRoaXMgb2JqZWN0IHNob3VsZCBi ZSBhcyAKPiDCoMKgwqDCoCBzbWFsbCBhcyBwb3NzaWJsZSwgc2luY2UgdGhl cmUgbWF5IGJlIGEgZ3JlYXQgbWFueSBvZiB0aGVtLsKgIFdlIGRvIAo+IMKg wqDCoMKgIG5vdCBuZWVkIHRvIGtlZXAgYSBmcmFtZSBudW1iZXIsIGJlY2F1 c2UgdGhleSBhcmUgYWxsIHNlcXVlbnRpYWwgCj4KPgo+IFdEWVQgPyAKPgo+ IFRoYW5rcywgCj4gQW50b2luZSAKPgo+CgpXZWxsLCB0aGF0J2Qgd29yayB0 b28sIGJ1dCBJIHN0aWxsIHRoaW5rIGhhdmluZyBhIHN0cnVjdCB3aXRoIGRp ZmZlcmVudCBsYXlvdXQgYmV0d2VlbiBpcGEgYW5kIGdkYnNlcnZlciBpcyB1 bm5lY2Vzc2FyeSBhbmQgYXNraW5nIGZvciB0cm91YmxlLiAgV2Ugc2hvdWxk IGJlIGNvbnNpc3RlbnQgLSBpZiB0aGUgZW5jb2RpbmcgcGF0aHMgZ28gdGhy b3VnaCB0aGUgb3BzIHN0cnVjdHVyZSwgd2h5IGRvZXMgdGhlIGFjdHVhbCBl eGVjdXRpb24gb2YgYWN0aW9ucyB1c2UgYSBzd2l0Y2g/ICBSZW1vdmluZyB0 aGUgb3BzLCBieSBXZWktY2hlbmcncyBwYXRjaCBvciBtaW5lLCBzaW1wbGlm aWVzIHRoZSBjb2RlIGFuZCBtYWtlcyBpdCBjb25zaXN0ZW50IHdpdGggdGhl IHN3aXRjaC11c2luZyBwYXRocy4= >From gdb-patches-return-129306-listarch-gdb-patches=sources.redhat.com@sourceware.org Mon Feb 08 12:54:42 2016 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 88224 invoked by alias); 8 Feb 2016 12:54:42 -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 88212 invoked by uid 89); 8 Feb 2016 12:54:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=abandon X-HELO: usplmg20.ericsson.net Received: from usplmg20.ericsson.net (HELO usplmg20.ericsson.net) (198.24.6.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 08 Feb 2016 12:54:39 +0000 Received: from EUSAAHC004.ericsson.se (Unknown_Domain [147.117.188.84]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id 1C.69.06940.8AC88B65; Mon, 8 Feb 2016 13:40:09 +0100 (CET) Received: from [142.133.110.95] (147.117.188.8) by smtp-am.internal.ericsson.com (147.117.188.86) with Microsoft SMTP Server id 14.3.248.2; Mon, 8 Feb 2016 07:54:37 -0500 Subject: Re: [PATCH] gdb.trace: Remove struct tracepoint_action_ops. To: =?UTF-8?Q?Marcin_Ko=c5=9bcielnicki?= References: <7baa00a9-1972-4b73-a6b6-359c09413a88@email.android.com> CC: Pedro Alves , From: Antoine Tremblay Message-ID: <56B8900C.3020408@ericsson.com> Date: Mon, 08 Feb 2016 12:54:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <7baa00a9-1972-4b73-a6b6-359c09413a88@email.android.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00190.txt.bz2 Content-length: 7670 On 02/08/2016 06:55 AM, Marcin Ko=C5=9Bcielnicki wrote: > >> >> >> >> On 01/25/2016 07:17 AM, Marcin Ko=C5=9Bcielnicki wrote: >>> On 25/01/16 12:53, Pedro Alves wrote: >>>> On 01/23/2016 07:31 PM, Marcin Ko=C5=9Bcielnicki wrote: >>>>> The struct tracepoint_action has an ops field, pointing to >>>>> a tracepoint_action_ops structure, containing send and download ops. >>>>> However, this field is only present when compiled in gdbserver, and n= ot >>>>> when compiled in IPA. When gdbserver is downloading tracepoint actio= ns >>>>> to IPA, it skips offsetof(struct tracepoint_action, type) bytes from >>>>> its struct tracepoint_action, to get to the part that corresponds to >>>>> IPA's struct tracepoint_action. >>>>> >>>>> Unfortunately, this fails badly on ILP32 platforms where alignof(long >>>>> long) >>>>> =3D=3D 8. Consider struct collect_memory_action layout in gdbserver: >>>>> >>>>> 0-3: base.ops >>>>> 4: base.type >>>>> 8-15: addr >>>>> 16-23: len >>>>> 24-27: basereg >>>>> sizeof =3D=3D 32 >>>>> >>>>> and its layout in IPA: >>>>> >>>>> 0: base.type >>>>> 8-15: addr >>>>> 16-23: len >>>>> 24-27: basereg >>>>> sizeof =3D=3D 32 >>>>> >>>>> When gdbserver tries to download it to IPA, it skips the first 4 bytes >>>>> (base.ops), figuring the rest will match what IPA expects - which is >>>>> not true, since addr is aligned to 8 bytes and will be at a different >>>>> relative position to base.type. >>>>> >>>>> The problem went unnoticed on the currently supported platforms, since >>>>> aarch64 and x86_64 have ops aligned to 8 bytes, and i386 has only 4-b= yte >>>>> alignment for long long. >>>>> >>>>> There are a few possible ways around this problem. I decided on >>>>> removing >>>>> ops altogether, since they can be easily inlined in their (only) plac= es >>>>> of use - in fact allowing us share the code between 'L' and 'R'. Any >>>>> approach where struct tracepoint_action is different between IPA and >>>>> gdbserver is just asking for trouble. >>>>> >>>>> Found on s390. Tested on x86_64, s390, s390x. >>>> >>>> Hmm, this is essentially the same as: >>>> >>>> https://sourceware.org/ml/gdb-patches/2015-03/msg00995.html >>>> >>>> Right? >>>> >>>> Seems that other patch inlines things a bit less though, which offhand >>>> looks preferable. WDYT? >>>> >>>> Not sure what happened to that series. I thought most of it (if not a= ll) >>>> had been approved already. >>>> >>>> Thanks, >>>> Pedro Alves >>>> >>> >>> Huh, I didn't know about that patch series. Good to know, since I was >>> going to try doing ppc tracepoints next, and had no idea that has >>> already been attempted. What happened to that patchset/author? Kind of >>> strange to abandon mostly-finished code when there's a $3k bounty on it. >>> >>> The other patch looks fine too, I have no preference here. >>> >>> Marcin Ko=C5=9Bcielnicki >> >> I had the same problem on ARM. >> >> We could just keep the struct and pack it too, this is common for ABIs >> IMO... >> >> It would avoid this kind of mistake in the future if we were going to >> reintroduce something similar... >> >> I had this patch in the pipeline: >> >> Author: Antoine Tremblay >> Date: Thu Jan 28 13:03:10 2016 -0500 >> >> Fix structure alignment problems with IPA protocol objects. >> >> While testing fast tracepoints on ARM I came across this problem : >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x4010b56c in ?? () from target:/lib/arm-linux-gnueabihf/libc.so.6 >> (gdb) FAIL: gdb.trace/ftrace.exp: ond globvar > 7: continue >> >> The problem is that on GDBServer side struct tracepoint_action is >> aligned >> on 4 bytes, and collect_memory_action is aligned on 8. However in >> the IPA >> they are both aligned on 8 bytes. >> >> Thus when we copy the data from GDBServer's struct >> tracepoint_action->type >> offset to the ipa the alignement is wrong and the addr,len,basereg >> values >> are wrong also, causing a crash in the inferiror as it tries to re= ad >> memory at a bogus address. >> >> This patch fixes this issue by setting the tracepoint_action and >> collect_memory_action as packed. >> >> This patch also fixes this issue in general by setting all IPA pro= tocol >> object structures as packed. >> >> gdb/gdbserver/ChangeLog: >> >> * tracepoint.c (ATTR_PACKED): Moved earlier in the file. >> (struct tracepoint_action): Use ATTR_PACKED. >> (struct collect_memory_action): Likewise. >> (struct collect_registers_action): Likewise. >> (struct eval_expr_action): Likewise. >> (struct collect_static_trace_data_action): Likewise. >> >> diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c >> index 33f6120..35ce2ad 100644 >> --- a/gdb/gdbserver/tracepoint.c >> +++ b/gdb/gdbserver/tracepoint.c >> @@ -467,6 +467,14 @@ static int write_inferior_data_ptr (CORE_ADDR >> where, CORE_ADDR ptr); >> >> #endif >> >> +#ifndef ATTR_PACKED >> +# if defined(__GNUC__) >> +# define ATTR_PACKED __attribute__ ((packed)) >> +# else >> +# define ATTR_PACKED /* nothing */ >> +# endif >> +#endif >> + >> /* Operations on various types of tracepoint actions. */ >> >> struct tracepoint_action; >> @@ -490,7 +498,7 @@ struct tracepoint_action >> const struct tracepoint_action_ops *ops; >> #endif >> char type; >> -}; >> +} ATTR_PACKED; >> >> /* An 'M' (collect memory) action. */ >> struct collect_memory_action >> @@ -500,14 +508,14 @@ struct collect_memory_action >> ULONGEST addr; >> ULONGEST len; >> int32_t basereg; >> -}; >> +} ATTR_PACKED; >> >> /* An 'R' (collect registers) action. */ >> >> struct collect_registers_action >> { >> struct tracepoint_action base; >> -}; >> +} ATTR_PACKED; >> >> /* An 'X' (evaluate expression) action. */ >> >> @@ -516,13 +524,13 @@ struct eval_expr_action >> struct tracepoint_action base; >> >> struct agent_expr *expr; >> -}; >> +} ATTR_PACKED; >> >> /* An 'L' (collect static trace data) action. */ >> struct collect_static_trace_data_action >> { >> struct tracepoint_action base; >> -}; >> +} ATTR_PACKED; >> >> #ifndef IN_PROCESS_AGENT >> static CORE_ADDR >> @@ -828,14 +836,6 @@ IP_AGENT_EXPORT_VAR struct trace_state_variable >> *trace_state_variables; >> when the wrapped-around trace frame is the one being discarded; the >> free space ends up in two parts at opposite ends of the buffer. */ >> >> -#ifndef ATTR_PACKED >> -# if defined(__GNUC__) >> -# define ATTR_PACKED __attribute__ ((packed)) >> -# else >> -# define ATTR_PACKED /* nothing */ >> -# endif >> -#endif >> - >> /* The data collected at a tracepoint hit. This object should be as >> small as possible, since there may be a great many of them. We do >> not need to keep a frame number, because they are all sequential >> >> >> WDYT ? >> >> Thanks, >> Antoine >> >> > > Well, that'd work too, but I still think having a struct with different l= ayout between ipa and gdbserver is unnecessary and asking for trouble. We = should be consistent - if the encoding paths go through the ops structure, = why does the actual execution of actions use a switch? Removing the ops, b= y Wei-cheng's patch or mine, simplifies the code and makes it consistent wi= th the switch-using paths. > Yes I agree about removing the ops it does make it cleaner. I'll still=20 post this patch after just to avoid repeating this problem if we ever=20 need to have diverging structs in the future and forget about the issue. Regards, Antoine