From patchwork Mon Apr 24 12:52:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stafford Horne X-Patchwork-Id: 20121 Received: (qmail 119848 invoked by alias); 24 Apr 2017 12:53:14 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 119832 invoked by uid 89); 24 Apr 2017 12:53:13 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:sk:mail-pf, H*RU:sk:mail-pf, displayed, H*r:sk:65.2017 X-HELO: mail-pf0-f196.google.com Received: from mail-pf0-f196.google.com (HELO mail-pf0-f196.google.com) (209.85.192.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 24 Apr 2017 12:53:12 +0000 Received: by mail-pf0-f196.google.com with SMTP id v14so2588714pfd.3 for ; Mon, 24 Apr 2017 05:53:13 -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:date:message-id:in-reply-to :references:in-reply-to:references; bh=pM/SzU4LagIB/JZ8Tiz5Y2m9jiug10bml27MrgQp9l8=; b=IgwqLiGA9G6apzMiWBR0FcpFZYKZ0KF4QNtCNUE1qwaQoCvMMwZBawnxIZ7gKugxCi mj96QrJTV/UjX3Y5wIRPF36OYbuPBf/dNQM07vZdtGGYX109kHNkojQPhpcth4F9tOCb Guy4tdjgkEaGzuvz8vzq+VG82nSuRo1eLPF0LolV/oByW+0WrVrPvXr7bCeEjaKAnKf+ ZFx2MrsBtKRv2bAr0OURC6jQw3GZmooNF5ODDJQSVvHhjJ0Bz7/JLUtKTrSSdgJWqK7W wEkCHOmq7A9ax6yF+Ss4rcOoDEtV97k/J902+94autw8XTbJpMwAgqZIfrwKZnfzS6K4 ViYw== X-Gm-Message-State: AN3rC/6uXnPkk2Hofz0zfifo8vfTNvQzrCkzktbSoZPjKmBon9bzcqPX FPBwKVfPu+1waA== X-Received: by 10.84.238.195 with SMTP id l3mr33288274pln.101.1493038392620; Mon, 24 Apr 2017 05:53:12 -0700 (PDT) Received: from localhost (z64.124-44-184.ppp.wakwak.ne.jp. [124.44.184.64]) by smtp.gmail.com with ESMTPSA id s132sm13515883pgc.65.2017.04.24.05.53.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 24 Apr 2017 05:53:12 -0700 (PDT) From: Stafford Horne To: GDB patches Cc: Openrisc , Franck Jullien Subject: [PATCH v6 1/5] tdesc: handle arbitrary strings in tdesc_register_in_reggroup_p Date: Mon, 24 Apr 2017 21:52:50 +0900 Message-Id: In-Reply-To: References: In-Reply-To: References: X-IsSubscribed: yes From: Franck Jullien tdesc_register_in_reggroup_p in now able to handle arbitrary groups. This is useful when groups are created while the target descriptor file is received from the remote. This can be the case of a soft core target processor where registers/groups can change. gdb/ChangeLog: 2013-02-15 Franck Jullien * target-descriptions.c (tdesc_register_in_reggroup_p): Support arbitrary strings. --- gdb/target-descriptions.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 9a7e2dd..8b5ac92 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -1086,12 +1086,8 @@ tdesc_remote_register_number (struct gdbarch *gdbarch, int regno) return -1 if it does not know; the caller should handle registers with no specified group. - Arbitrary strings (other than "general", "float", and "vector") - from the description are not used; they cause the register to be - displayed in "info all-registers" but excluded from "info - registers" et al. The names of containing features are also not - used. This might be extended to display registers in some more - useful groupings. + The names of containing features are also not used. This might be + extended to display registers in some more useful groupings. The save-restore flag is also implemented here. */ @@ -1120,6 +1116,10 @@ tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno, if (reggroup == general_reggroup) return general_p; + + if (strcmp (reg->group, reggroup_name (reggroup)) == 0) + return 1; + } if (reg != NULL