From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id LS0sNWPbzGL5ChEAWB0awg (envelope-from ) for ; Mon, 11 Jul 2022 22:24:35 -0400 Received: by simark.ca (Postfix, from userid 112) id C7A311E5EA; Mon, 11 Jul 2022 22:24:35 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id BABC11E222 for ; Mon, 11 Jul 2022 22:24:27 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9216F3831374 for ; Tue, 12 Jul 2022 02:24:25 +0000 (GMT) Received: from out29-171.mail.aliyun.com (out29-171.mail.aliyun.com [115.124.29.171]) by sourceware.org (Postfix) with ESMTPS id 01C863858290 for ; Tue, 12 Jul 2022 02:24:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 01C863858290 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=c-sky.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=c-sky.com X-Alimail-AntiSpam: AC=SUSPECT; BC=0.6490642|-1; BR=01201311R201b1; CH=blue; DM=|SUSPECT|false|; DS=CONTINUE|ham_system_inform|0.0101029-5.1286e-05-0.989846; FP=0|0|0|0|0|-1|-1|-1; HT=ay29a033018047192; MF=jiangshuai_li@c-sky.com; NM=1; PH=DS; RN=2; RT=2; SR=0; TI=SMTPD_---.OQFEEeI_1657592649; Received: from lijsh-VirtualBox.hz.ali.com(mailfrom:jiangshuai_li@c-sky.com fp:SMTPD_---.OQFEEeI_1657592649) by smtp.aliyun-inc.com; Tue, 12 Jul 2022 10:24:09 +0800 From: Jiangshuai Li To: gdb-patches@sourceware.org Subject: [PATCH] gdb/csky modify registers list for general_reggroup Date: Tue, 12 Jul 2022 10:23:52 +0800 Message-Id: <20220712022352.9640-1-jiangshuai_li@c-sky.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jiangshuai_li@c-sky.com Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" there are two modification points here: 1. for the debugging of csky architecture, after executing "info register", we hope to print out GPRs, PC and the registers related to exceptions 2. with tdesc-xml, users can view the register groups described in XML --- gdb/csky-tdep.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 502b01e33e1..fcdb865eb87 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -2518,7 +2518,11 @@ csky_register_reggroup_p (struct gdbarch *gdbarch, int regnum, if (reggroup == save_reggroup || reggroup == restore_reggroup) return raw_p; - if (((regnum >= CSKY_R0_REGNUM) && (regnum <= CSKY_R0_REGNUM + 31)) + if ((((regnum >= CSKY_R0_REGNUM) && (regnum <= CSKY_R0_REGNUM + 31)) + || (regnum == CSKY_PC_REGNUM) + || (regnum == CSKY_EPC_REGNUM) + || (regnum == CSKY_CR0_REGNUM) + || (regnum == CSKY_EPSR_REGNUM)) && (reggroup == general_reggroup)) return 1; @@ -2548,6 +2552,10 @@ csky_register_reggroup_p (struct gdbarch *gdbarch, int regnum, && (reggroup == fr_reggroup)) return 6; + if (tdesc_has_registers (gdbarch_target_desc (gdbarch))) + if (tdesc_register_in_reggroup_p (gdbarch, regnum, reggroup) > 0) + return 7; + return 0; } @@ -3020,6 +3028,8 @@ csky_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_num_regs (gdbarch, (num_regs + 1)); tdesc_use_registers (gdbarch, info.target_desc, std::move (tdesc_data)); set_gdbarch_register_type (gdbarch, csky_register_type); + set_gdbarch_register_reggroup_p (gdbarch, + csky_register_reggroup_p); } if (tdep->fv_pseudo_registers_count) -- 2.25.1