From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by sourceware.org (Postfix) with ESMTPS id D5CAA3890410 for ; Tue, 16 Jun 2020 17:15:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D5CAA3890410 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andrew.burgess@embecosm.com Received: by mail-wm1-x344.google.com with SMTP id c71so3593182wmd.5 for ; Tue, 16 Jun 2020 10:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MtxLzWmdBJNxr1o8sxErCqJT2OBQJmSZbzaHAGCDhaU=; b=QkM5tadtHyNd5zqdKrzvlfeqzNoHC0vyJt/4LObvq2/NpIRtANhAPr0Z3TgOkvTNXQ QuCRd1eZwom38p2yL5sYnGP55I5r9raT46fruohMNv3/UwDtZhYGBvQxrejRDXXr5HxO GILua0ef46HQ127RHou/OoDPqkPLn+swYu/fK6IvEU43VKXnympjsAh9p9YzEUeGz+xB +s77ljp5nJjzo8aT/ePgJP8cXOnLRAvBc5z3agWqmjvq23idW/Ixv/PrVtjKL1Arf3vI xfO6v3aQBp6T6YAajQaFUGf8UjUjNyRbosLSrnvE+YTNJB0HKwwYK9w/lOeCO7LDAtbh n9Sg== 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:mime-version:content-transfer-encoding; bh=MtxLzWmdBJNxr1o8sxErCqJT2OBQJmSZbzaHAGCDhaU=; b=NIpVE1xg3x+4tII+Hy+/s+MVWaMVuQPFqmyOGXtLMIn0Dts6mUUrzoxIh2MDO+vKcp CAs5aDmBgT3ZGZiMXsj1ba+ay3EqFqqtPslCSiuXa3gVxTUjDtmZvgvFEuQ83BYuOuVo wkVMzxN74lKUEBDyR6YXyVw10r0dWe/L6cUPK5NkJwRDsnW2wS9eV2IBVt9KrB1OlyJm peQXhyoCyTl8qx/jsPsjPLuQ2l8PQQizYcU/3djT37yNKUi0l84Ywv9fNAfbY5ushnEX XeX1YW49uScrIqXP5cAanw3LdrXrDvEs2Wzd+zOkHdeSU1uc9K4JSbA0ZsTRK/KqpFpW Gj0Q== X-Gm-Message-State: AOAM5317XKgB13WJkc0krvgcCLgU+r+iDBD5IE72tRCoGMrCl19XbDPK a/Xx1F5bb8ts/R1mX7kH2luPVpKbUq4= X-Google-Smtp-Source: ABdhPJzCpFEtvve1uMNvVR0+laCgUBnGFaRCkxfW468F1C/q9kZkH8QEMuH8gyxYrF7l52UN7/INLw== X-Received: by 2002:a1c:2e47:: with SMTP id u68mr4405086wmu.45.1592327704633; Tue, 16 Jun 2020 10:15:04 -0700 (PDT) Received: from localhost (host86-128-12-16.range86-128.btcentralplus.com. [86.128.12.16]) by smtp.gmail.com with ESMTPSA id 185sm4809367wmz.22.2020.06.16.10.15.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2020 10:15:03 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Nelson Chu , Jim Wilson , Tom Tromey , palmer@dabbelt.com, Andrew Burgess Subject: [PATCH 8/8] gdb/riscv: Loop over all registers for 'info all-registers' Date: Tue, 16 Jun 2020 18:14:47 +0100 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, 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: 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: , X-List-Received-Date: Tue, 16 Jun 2020 17:15:07 -0000 Currently the 'info all-registers' command only loops over those registers that are known to GDB. Any registers that are unknown, that is, are mentioned in the target description, but are not something GDB otherwise knows, will not be displayed. This feels wrong, so this commit fixes this mistake. The output of 'info all-registers' now matches 'info registers all'. gdb/ChangeLog: * riscv-tdep.c (riscv_print_registers_info): Loop over all registers, not just the known core set of registers. gdb/testsuite/ChangeLog: * gdb.arch/riscv-tdesc-regs.exp: New test cases. --- gdb/ChangeLog | 5 +++++ gdb/riscv-tdep.c | 2 +- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp | 10 +++++++--- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index 37ea0ee81a4..0028572d844 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -1071,7 +1071,7 @@ riscv_print_registers_info (struct gdbarch *gdbarch, else reggroup = general_reggroup; - for (regnum = 0; regnum <= RISCV_LAST_REGNUM; ++regnum) + for (regnum = 0; regnum < gdbarch_num_cooked_regs (gdbarch); ++regnum) { /* Zero never changes, so might as well hide by default. */ if (regnum == RISCV_ZERO_REGNUM && !print_all) diff --git a/gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp b/gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp index 9feddbad074..1be32e0e8a1 100644 --- a/gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp +++ b/gdb/testsuite/gdb.arch/riscv-tdesc-regs.exp @@ -80,11 +80,15 @@ gdb_test "info registers \$csr0" "Invalid register `csr0'" gdb_test "info registers \$dscratch0" "dscratch0\[ \t\]+.*" gdb_test "info registers \$dscratch" "dscratch\[ \t\]+.*" -foreach rgroup {all save restore} { +foreach rgroup {x_all all save restore} { # Now use 'info registers all' to see how many times the floating # point status registers show up in the output. array set reg_counts {} - set test "info registers $rgroup" + if {$rgroup == "x_all"} { + set test "info all-registers" + } else { + set test "info registers $rgroup" + } gdb_test_multiple $test $test { -re ".*info registers all\r\n" { verbose -log "Skip to first register" @@ -107,7 +111,7 @@ foreach rgroup {all save restore} { set count 0 } if {($reg == "unknown_csr" || $reg == "dscratch") \ - && $rgroup != "all"} { + && $rgroup != "all" && $rgroup != "x_all"} { gdb_assert {$count == 0} \ "register $reg not seen in reggroup $rgroup" } else { -- 2.25.4