From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) by sourceware.org (Postfix) with ESMTPS id A848F388A417 for ; Mon, 1 Feb 2021 14:22:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A848F388A417 Received: by mail-qk1-x72e.google.com with SMTP id a12so16288417qkh.10 for ; Mon, 01 Feb 2021 06:22:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=AJ7Jo2noK9U9CV3CUtU5d6VKYMC7Xd3Du9etMnlkaCM=; b=bLrqLb9ST4gEFyyXMzSr3rGMwhhdFV/x+67tilNaVIpJ2IZAMHgI9eiSyBiT7PjAcm VLj9rE7wGjhHy+WgMX3fdugmuYVjCJjDo1i7/gN2SYRo0kbcJiGb2KSnND0s7E40cVT/ i6XoA8E1VHeFbttRbceoOUurlZLpa4PO/reYcNz7hWFg1E6eLiU1l9J50uTHY1p2y2S7 hqA0LgTICajGxDOy1Uyp+UJThf6xrsxBFT8GFG6m4FTSA03FSphr1hSJH2E8zMIci2wW uj3c8zVkEgGvO+fEsxLj0Th3nUbQVkn7JYjnubvSBv4C5P5Yfski1GwFnT6ESOCNSN61 2rIA== X-Gm-Message-State: AOAM533r9ceETVgcfdSLscyq7vLaWb0CQf6rc00eU2Ima/2wixa3r7ul KB7G1DITZrDnGan7xEzx7cGqUxe3mQo8dg== X-Google-Smtp-Source: ABdhPJyx4Qpy3beAKM94tmot/Bkuh5U+cCYCsFl4m6p6V/bi686XsOLR22fA57X5TJQN4lAyGzBzTw== X-Received: by 2002:a37:62c8:: with SMTP id w191mr16628350qkb.47.1612189353205; Mon, 01 Feb 2021 06:22:33 -0800 (PST) Received: from ?IPv6:2804:7f0:8284:848d:c0e:b160:155c:b079? ([2804:7f0:8284:848d:c0e:b160:155c:b079]) by smtp.gmail.com with ESMTPSA id e1sm14578082qkd.135.2021.02.01.06.22.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Feb 2021 06:22:32 -0800 (PST) Subject: Re: [PATCHv2 7/9] gdb/riscv: make riscv target description names global To: Andrew Burgess , gdb-patches@sourceware.org, binutils@sourceware.org Cc: Fredrik Hederstierna References: <93b9873e8ef7eadf0ba73d901cbfb693baedd97d.1611172468.git.andrew.burgess@embecosm.com> From: Luis Machado Message-ID: Date: Mon, 1 Feb 2021 11:22:29 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <93b9873e8ef7eadf0ba73d901cbfb693baedd97d.1611172468.git.andrew.burgess@embecosm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Feb 2021 14:22:35 -0000 On 1/20/21 5:23 PM, Andrew Burgess wrote: > A later commit will need the names of the RISC-V target description > features in files other than riscv-tdep.c. This commit just makes the > names global strings that can be accessed from other riscv-*.c files. > > There should be no user visible changes after this commit. > > gdb/ChangeLog: > > * riscv-tdep.c (riscv_feature_name_csr): Define. > (riscv_feature_name_cpu): Define. > (riscv_feature_name_fpu): Define. > (riscv_feature_name_virtual): Define. > (riscv_xreg_feature): Use riscv_feature_name_cpu. > (riscv_freg_feature): Use riscv_feature_name_fpu. > (riscv_virtual_feature): Use riscv_feature_name_virtual. > (riscv_csr_feature): Use riscv_feature_name_csr. > * riscv-tdep.h (riscv_feature_name_csr): Declare. > --- > gdb/ChangeLog | 12 ++++++++++++ > gdb/riscv-tdep.c | 14 ++++++++++---- > gdb/riscv-tdep.h | 3 +++ > 3 files changed, 25 insertions(+), 4 deletions(-) > > diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c > index b16e7d78fc5..cb917247bab 100644 > --- a/gdb/riscv-tdep.c > +++ b/gdb/riscv-tdep.c > @@ -94,6 +94,12 @@ static unsigned int riscv_debug_unwinder = 0; > > static unsigned int riscv_debug_gdbarch = 0; > > +/* The names of the RISC-V target description features. */ > +const char *riscv_feature_name_csr = "org.gnu.gdb.riscv.csr"; > +static const char *riscv_feature_name_cpu = "org.gnu.gdb.riscv.cpu"; > +static const char *riscv_feature_name_fpu = "org.gnu.gdb.riscv.fpu"; > +static const char *riscv_feature_name_virtual = "org.gnu.gdb.riscv.virtual"; > + > /* Cached information about a frame. */ > > struct riscv_unwind_cache > @@ -257,7 +263,7 @@ riscv_register_feature::register_info::check > struct riscv_xreg_feature : public riscv_register_feature > { > riscv_xreg_feature () > - : riscv_register_feature ("org.gnu.gdb.riscv.cpu") > + : riscv_register_feature (riscv_feature_name_cpu) > { > m_registers = { > { RISCV_ZERO_REGNUM + 0, { "zero", "x0" } }, > @@ -354,7 +360,7 @@ static const struct riscv_xreg_feature riscv_xreg_feature; > struct riscv_freg_feature : public riscv_register_feature > { > riscv_freg_feature () > - : riscv_register_feature ("org.gnu.gdb.riscv.fpu") > + : riscv_register_feature (riscv_feature_name_fpu) > { > m_registers = { > { RISCV_FIRST_FP_REGNUM + 0, { "ft0", "f0" } }, > @@ -482,7 +488,7 @@ static const struct riscv_freg_feature riscv_freg_feature; > struct riscv_virtual_feature : public riscv_register_feature > { > riscv_virtual_feature () > - : riscv_register_feature ("org.gnu.gdb.riscv.virtual") > + : riscv_register_feature (riscv_feature_name_virtual) > { > m_registers = { > { RISCV_PRIV_REGNUM, { "priv" } } > @@ -518,7 +524,7 @@ static const struct riscv_virtual_feature riscv_virtual_feature; > struct riscv_csr_feature : public riscv_register_feature > { > riscv_csr_feature () > - : riscv_register_feature ("org.gnu.gdb.riscv.csr") > + : riscv_register_feature (riscv_feature_name_csr) > { > m_registers = { > #define DECLARE_CSR(NAME,VALUE,CLASS,DEFINE_VER,ABORT_VER) \ > diff --git a/gdb/riscv-tdep.h b/gdb/riscv-tdep.h > index d1f1cf17ba8..154097df5d0 100644 > --- a/gdb/riscv-tdep.h > +++ b/gdb/riscv-tdep.h > @@ -160,4 +160,7 @@ extern void riscv_supply_regset (const struct regset *regset, > struct regcache *regcache, int regnum, > const void *regs, size_t len); > > +/* The names of the RISC-V target description features. */ > +extern const char *riscv_feature_name_csr; > + > #endif /* RISCV_TDEP_H */ > This looks OK.