From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 75535 invoked by alias); 30 Mar 2017 11:58: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 Received: (qmail 75406 invoked by uid 89); 30 Mar 2017 11:58:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,MIME_BASE64_BLANKS,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=Suppose X-HELO: mga14.intel.com Received: from mga14.intel.com (HELO mga14.intel.com) (192.55.52.115) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 30 Mar 2017 11:58:33 +0000 Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Mar 2017 04:58:33 -0700 X-ExtLoop1: 1 Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by fmsmga005.fm.intel.com with ESMTP; 30 Mar 2017 04:58:33 -0700 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.170]) by IRSMSX103.ger.corp.intel.com ([169.254.3.241]) with mapi id 14.03.0319.002; Thu, 30 Mar 2017 12:58:32 +0100 From: "Metzger, Markus T" To: Yao Qi CC: "gdb-patches@sourceware.org" , "Wiederhake, Tim" , "xdje42@gmail.com" , "Joel Brobecker" Subject: RE: GDB 8.0 release/branching 2017-03-20 update Date: Thu, 30 Mar 2017 11:58:00 -0000 Message-ID: References: <20170320201629.pbjzaqsnvs7dx7f2@adacore.com> <86zigevkv0.fsf@gmail.com> <86inn1utkp.fsf@gmail.com> <86inmzvrbx.fsf@gmail.com> <86shm2u47t.fsf@gmail.com> <86wpbbnf1f.fsf@gmail.com> <86shlyoggb.fsf@gmail.com> <86mvc5o7o4.fsf@gmail.com> <86a885o0z2.fsf@gmail.com> <861stgo072.fsf@gmail.com> <86lgrn3uos.fsf@gmail.com> In-Reply-To: <86lgrn3uos.fsf@gmail.com> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg00525.txt.bz2 SGVsbG8gWWFvLA0KDQo+ID4gV2hhdCBJJ20gbGVzcyBjbGVhciBhYm91dCBp cyB3aGF0IGNoYW5nZXMgeW91IGFyZSByZXF1ZXN0aW5nIGluIG9yZGVyIHRv DQo+ID4gZXN0YWJsaXNoIHRoYXQgaW50ZXJmYWNlLg0KPiA+DQo+ID4gU2hv dWxkIHdlIGp1c3QgZG9jdW1lbnQgaXQgdGhhdCB3YXk/DQo+IA0KPiBZZXMs IEkgdGhpbmsgc28uICAoLFJlY29yZClJbnN0cnVjdGlvbi57cGMsIGRhdGEs IGRlY29kZSwgc2l6ZX0gc2hvdWxkDQo+IGJlaGF2ZSBhcyBleHBlY3RlZCwg LnBjIHNob3VsZCByZXR1cm4gdGhlIGFkZHJlc3Mgb2YgaW5zdHJ1Y3Rpb24s IGFuZA0KPiAuZGF0YSBzaG91bGQgcmV0dXJuIHRoZSBieXRlcyBvZiBpbnN0 cnVjdGlvbiwgLmRlY29kZSBzaG91bGQgcmV0dXJuIGENCj4gc3RyaW5nIG9m IGFzbSBjb2RlLg0KPiANCj4gRnJvbSBkb2N1bWVudGF0aW9uIHBvaW50IG9m IHZpZXcsIHRoZXNlIGZvdXIgYXR0cmlidXRlcyBhcmUgZG9jdW1lbnRlZA0K PiBpbiBJbnN0cnVjdGlvbiwgYW5kIFJlY29yZEluc3RydWN0aW9uIGV4dGVu ZHMgSW5zdHJ1Y3Rpb24uDQoNCk9LLiAgVGhhdCBzaG91bGRuJ3QgdGFrZSBs b25nLiAgQWxzbyB0aGUgb3RoZXIgaXRlbXMgd2UgZGlzY3Vzc2VkIHNob3Vs ZG4ndA0KdGFrZSBsb25nIHRvIGltcGxlbWVudC4gIFdlIGFncmVlZCB0byBy ZW1vdmUgcHRpZCBhbmQgbnVtYmVyIGZyb20NClJlY29yZEJ0cmFjZUluc3Ry dWN0aW9uIGFuZCByZW5hbWUgaXQgdG8gUmVjb3JkSW5zdHJ1Y3Rpb24uDQoN CldoZW4gd2UgZG8gdGhpcyBmb3IgcmVjb3JkLWZ1bGwsIHdlIG5lZWQgZGlm ZmVyZW50IGZ1bmN0aW9ucyBhbmQgd2UgbWF5IGFsc28NCndhbnQgdG8gc3Rv cmUgZGlmZmVyZW50IGRhdGEgaW4gdGhlIHB5dGhvbiBvYmplY3QuDQoNCkFu dGljaXBhdGluZyBzdWNoIGEgY2hhbmdlLCBJIHdvdWxkIGRvY3VtZW50IGNs YXNzIFJlY29yZEluc3RydWN0aW9uIGFzIHdlDQpkaXNjdXNzZWQgYnV0IGtl ZXAgUmVjb3JkQnRyYWNlSW5zdHJ1Y3Rpb24uICBXZSBtYXkgaW50cm9kdWNl IHlldCBhbm90aGVyDQphYnN0cmFjdCBiYXNlIGNsYXNzIFJlY29yZEluc3Ry dWN0aW9uLiAgT0s/DQoNCldlIG1heSBub3QgbmVlZCB0byBkb2N1bWVudCBj bGFzcyBSZWNvcmRCdHJhY2VJbnN0cnVjdGlvbiBzaW5jZSBpdCBkb2VzIG5v dA0KcmVhbGx5IGFkZCBhbnl0aGluZyB0byBjbGFzcyBSZWNvcmRJbnN0cnVj dGlvbi4gIFRoZSBpbnRlcmZhY2UgY29uc2lzdHMgb2YgY2xhc3Nlcw0KSW5z dHJ1Y3Rpb24gYW5kIFJlY29yZEluc3RydWN0aW9uLiAgT0s/DQoNCg0KPiA+ IFNob3VsZCB3ZSBpbXBsZW1lbnQgYW4gSW5zdHJ1Y3Rpb24gYmFzZSBjbGFz cyB0aGF0IHRocm93cyBpbiBhbGwgZnVuY3Rpb25zPw0KPiA+IFNob3VsZCB3 ZSBpbXBsZW1lbnQgYW4gSW5zdHJ1Y3Rpb24gYmFzZSBjbGFzcyB0aGF0IHJl dHVybnMgTm9uZSBpbiBhbGwNCj4gPiBmdW5jdGlvbnM/DQo+IA0KPiBUaGlz IGlzIHRoZSBDIGltcGxlbWVudGF0aW9uIGRlY2lzaW9uLCBub3QgcmVsYXRl ZCB0byBQeXRob24gaW50ZXJmYWNlIG5vcg0KPiBkb2N1bWVudC4gIFB5dGhv biBzY3JpcHQgY2FuIG9ubHkgZ2V0IFJlY29yZEluc3RydWN0aW9uIG9iamVj dHMgdmlhDQo+IFJlY29yZC5pbnN0cnVjdGlvbl9oaXN0b3J5LCBhbmQgUmVj b3JkSW5zdHJ1Y3Rpb24ue3BjLCBkYXRhLCBkZWNvZGUsDQo+IHNpemV9IHNo b3VsZCBiZWhhdmUgYXMgd2UgZG9jdW1lbnRlZCBmb3IgSW5zdHJ1Y3Rpb24u ICBTbyBmYXIsIHRoYXQgaXMNCj4gbm8gd2F5IGluIHB5dGhvbiBzY3JpcHQg dG8gZ2V0IEluc3RydWN0aW9uIG9iamVjdHMuICBXZSBjYW4gZWl0aGVyIHRo cm93DQo+IGV4Y2VwdGlvbnMgb3IgcmV0dXJuIE5vbmUuIChJIHBlcnNvbmFs bHkgcHJlZmVyIGV4Y2VwdGlvbnMsIGlmIHlvdQ0KPiByZWFsbHkgd2FudCBt ZSB0byBjaG9vc2Ugb25lKS4NCj4gDQo+IFN1cHBvc2UsIG9uZSBkYXksIHdl IGFkZCBhIG5ldyBweXRob24gaW50ZXJmYWNlIGxpa2UNCj4gZ2RiLkluZmVy aW9yLnJlYWRfaW5zbiAoc3RhcnRfcGMsKSByZXR1cm5zIEluc3RydWN0aW9u IG9iamVjdHMuICBUaGUgVGhlc2UNCj4gb2JqZWN0cyBzaG91bGQgYmVoYXZl IGFzIHdlIGFscmVhZHkgZG9jdW1lbnRlZC4gIEluIEMgY29kZSwgd2UgY2Fu DQo+IGNoYW5nZSBJbnN0cnVjdGlvbidzIGdldHNldCBmdW5jdGlvbnMgdG8g ZG8gc29tZXRoaW5nIG1lYW5pbmdmdWwgcmF0aGVyDQo+IHRoYW4gdGhyb3dp bmcgZXhjZXB0aW9uLg0KDQpXZSB3aWxsIG5lZWQgdG8gaW50cm9kdWNlIGFu b3RoZXIgZGVyaXZlZCBjbGFzcyBEaXNhc3NlbWJsZUluc3RydWN0aW9uDQpz aW5jZSBpdCB3aWxsIHdhbnQgdG8gc3RvcmUgZGF0YSBpbiB0aGUgcHl0aG9u IG9iamVjdCBhbmQgd2UgZG9uJ3Qgd2FudCB0aGF0DQpkYXRhIGluIFJlY29y ZEluc3RydWN0aW9uIG9iamVjdHMsIHNvIHdlIGNhbid0IGFkZCBpdCB0byB0 aGUgSW5zdHJ1Y3Rpb24gYmFzZQ0KY2xhc3MuDQoNClRoYXQncyBhZ2FpbiB0 YWxraW5nIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbi4gIElmIHdlIGNhbiBt b2RlbCB0aGlzIGluDQpQeXRob24gd2l0aG91dCBpbnRyb2R1Y2luZyBuZXcg Y2xhc3NlcywgSSdtIGZpbmUsIGFzIHdlbGwuICBXZSBzaG91bGQgYWxzbw0K ZG8gaXQgbGlrZSB0aGlzIGZvciBjbGFzc2VzIFJlY29yZEluc3RydWN0aW9u IGFuZCBSZWNvcmRCdHJhY2VJbnN0cnVjdGlvbiBpbg0KdGhhdCBjYXNlLg0K DQpSZWdhcmRzLA0KTWFya3VzLg0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApS ZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAtMTIsIDg1NTc5IE5l dWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5p bnRlbC5kZQpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2No bWlkLCBDaHJpc3RpYW4gTGFtcHJlY2h0ZXIKQ2hhaXJwZXJzb24gb2YgdGhl IFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2Zm aWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQg TXVlbmNoZW4gSFJCIDE4NjkyOAo= >From gdb-patches-return-137882-listarch-gdb-patches=sources.redhat.com@sourceware.org Thu Mar 30 15:31:46 2017 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 5453 invoked by alias); 30 Mar 2017 15:31:46 -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 5429 invoked by uid 89); 30 Mar 2017 15:31:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy= X-HELO: mail-wr0-f175.google.com Received: from mail-wr0-f175.google.com (HELO mail-wr0-f175.google.com) (209.85.128.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 30 Mar 2017 15:31:44 +0000 Received: by mail-wr0-f175.google.com with SMTP id l43so66796759wre.1 for ; Thu, 30 Mar 2017 08:31:45 -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=fBArHRTNmc6UrRyzlOfDKa/wAKwVpdXG5/ImpecnDO8=; b=jZZIJUnAWNpO8MdKvh/dlvvBz+ADUQWDrLT8K6QEwlM/5YL4oOzNPrY3cczfACD/mn S+Td9EEnuXCZmV7wI+yJVR/Xik53OjeEBRz6tHHO4o6VrKrG73dmkZ8lmKE3C2w1F0tq oyRPOFiMrhM9Za7XQnCa+hVALVlyEkc6o5IBgRVgCLpj4vm+iobPzZtNRDI3B5lRzKCg R6TYOFnoOBvZ0HlhXRSp5hJYxTRW7Mr1N3hGXOfLX8oPx6q4DfL3gCOEk7wY94d3MSmg OVw0lc9zT4kYTcEBY4AraTsokdZ0fI9adHfqgMlDCxF4tFPNRoPdK0ZkNih0owJlzRPO Va6g== X-Gm-Message-State: AFeK/H2JQO//LqXS588As63000D7LrdUW3g7SSs/MbtNVXWzK4tpm0npY5s0azIMAEz5FA== X-Received: by 10.28.178.84 with SMTP id b81mr4245463wmf.83.1490887903507; Thu, 30 Mar 2017 08:31:43 -0700 (PDT) Received: from E107787-LIN ([194.214.185.158]) by smtp.gmail.com with ESMTPSA id u15sm3213595wrc.10.2017.03.30.08.31.41 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Thu, 30 Mar 2017 08:31:42 -0700 (PDT) From: Yao Qi To: "Metzger\, Markus T" Cc: "gdb-patches\@sourceware.org" , "Wiederhake\, Tim" , "xdje42\@gmail.com" , Joel Brobecker Subject: Re: GDB 8.0 release/branching 2017-03-20 update References: <20170320201629.pbjzaqsnvs7dx7f2@adacore.com> <86zigevkv0.fsf@gmail.com> <86inn1utkp.fsf@gmail.com> <86inmzvrbx.fsf@gmail.com> <86shm2u47t.fsf@gmail.com> <86wpbbnf1f.fsf@gmail.com> <86shlyoggb.fsf@gmail.com> <86mvc5o7o4.fsf@gmail.com> <86a885o0z2.fsf@gmail.com> <861stgo072.fsf@gmail.com> <86lgrn3uos.fsf@gmail.com> Date: Thu, 30 Mar 2017 15:31:00 -0000 In-Reply-To: (Markus T. Metzger's message of "Thu, 30 Mar 2017 11:58:31 +0000") Message-ID: <86h92a4w86.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: 2017-03/txt/msg00526.txt.bz2 Content-length: 2450 "Metzger, Markus T" writes: > Anticipating such a change, I would document class RecordInstruction as we > discussed but keep RecordBtraceInstruction. We may introduce yet another > abstract base class RecordInstruction. OK? Why do we still keep RecordBtraceInstruction in Python? > We may not need to document class RecordBtraceInstruction since it does n= ot > really add anything to class RecordInstruction. The interface > consists of classes > Instruction and RecordInstruction. OK? These two paragraphs are self-contradictory. We don't need to keep RecordBtraceInstruction in Python, just use RecordInstruction. We've already agreed that "put everything into a single RecordInstruction class for all record targets", as you said https://sourceware.org/ml/gdb-patches/2017-03/msg00420.html >> > Should we implement an Instruction base class that throws in all funct= ions? >> > Should we implement an Instruction base class that returns None in all >> > functions? >>=20 >> This is the C implementation decision, not related to Python interface n= or >> document. Python script can only get RecordInstruction objects via >> Record.instruction_history, and RecordInstruction.{pc, data, decode, >> size} should behave as we documented for Instruction. So far, that is >> no way in python script to get Instruction objects. We can either throw >> exceptions or return None. (I personally prefer exceptions, if you >> really want me to choose one). >>=20 >> Suppose, one day, we add a new python interface like >> gdb.Inferior.read_insn (start_pc,) returns Instruction objects. The The= se >> objects should behave as we already documented. In C code, we can >> change Instruction's getset functions to do something meaningful rather >> than throwing exception. > > We will need to introduce another derived class DisassembleInstruction > since it will want to store data in the python object and we don't want t= hat > data in RecordInstruction objects, so we can't add it to the Instruction = base > class. > > That's again talking about the implementation. If we can model this in What is "this"? > Python without introducing new classes, I'm fine, as well. We should > also "without introducing new classes" in C? What are the "new classes", Disassembleinstruction? > do it like this for classes RecordInstruction and RecordBtraceInstruction= in > that case. --=20 Yao (=E9=BD=90=E5=B0=A7)