From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1008 invoked by alias); 27 Mar 2017 11:19:01 -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 984 invoked by uid 89); 27 Mar 2017 11:19:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=sk:markus. X-HELO: mail-wr0-f180.google.com Received: from mail-wr0-f180.google.com (HELO mail-wr0-f180.google.com) (209.85.128.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 27 Mar 2017 11:18:58 +0000 Received: by mail-wr0-f180.google.com with SMTP id u1so51600190wra.2 for ; Mon, 27 Mar 2017 04:18:59 -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=nEjSse2eu13PIM0vRVhO77GdFki5aweynbB7oM8oznA=; b=ZrzjVZBrAGeRR754aRq0VLy1j52y6Zzbqy65uXaplPJJN2/EIatSjd2ybcqYjjTnYz Jr30ZXtGPW7j4iAl/kaX5V+8IMBF55k9a8GStUYtqMwkwZuItXDkHp6/B1vyvY0Yy6pb 0xESPFgXbl3jmPeE/CPjPUg9EGHFWL0cF56btvmersHcH8aq0lHGBy17Y3DWtNvxCMCJ KHtbH8amTPBlbEhyxldwzje2KZM5GoPTQP6G3MEC+7AwyodjD1nRtJqnISIFw13cINlr VVsh2HW00UMDyQVsATCkSCIRUWyiUxwxTcWBS0RZafORuPSo+2Wil0Iz5gcMnH0ip2xR 8Kkg== X-Gm-Message-State: AFeK/H1afWPBlosLkNOJ8SCPdy5HL4h+v5ufpd1dPyqVcpwte2jEjoKCL7mhtuldEQN2Ig== X-Received: by 10.28.152.11 with SMTP id a11mr9254602wme.64.1490613538147; Mon, 27 Mar 2017 04:18:58 -0700 (PDT) Received: from E107787-LIN ([194.214.185.158]) by smtp.gmail.com with ESMTPSA id o52sm280734wrb.51.2017.03.27.04.18.56 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Mon, 27 Mar 2017 04:18:57 -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> Date: Mon, 27 Mar 2017 11:19:00 -0000 In-Reply-To: (Markus T. Metzger's message of "Mon, 27 Mar 2017 10:51:03 +0000") Message-ID: <86wpbbnf1f.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/msg00460.txt.bz2 "Metzger, Markus T" writes: > Instruction would have to be an abstract class. Then we could have two > derived classes DisassembleInstruction for the disassemble command > that likely wants to store the pc and maybe the inferior id - or even the > disassembled string. > And we have Record(Btrace)Instruction that wants to store the ptid > and the number in the recorded instruction-history. Instruction doesn't have to be an abstract class, instead, it can be a base class which has attribute pc, data, and disassembled string. All of them can be used in Record(Btrace)Instruction too, but "data" and "disassembled string" can be got lazily. Record(Btrace)Instruction extends Instruction, and add its own stuff. In the future, we can add new RecordFooInstruction, extends Instruction, and add its own stuff too. > > What won't work is that we simply extend an Instruction base class by > adding new functions and data members. We need to overwrite every > function in the base class and each derived class will provide its own set > of data members to work on. I don't expect the change like that. --=20 Yao (=E9=BD=90=E5=B0=A7)