From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16948 invoked by alias); 4 Mar 2020 16:13:26 -0000 Mailing-List: contact gdb-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: gdb-cvs-owner@sourceware.org List-Subscribe: Sender: gdb-cvs-owner@sourceware.org Received: (qmail 16895 invoked by uid 9722); 4 Mar 2020 16:13:25 -0000 Date: Wed, 04 Mar 2020 16:13:00 -0000 Message-ID: <20200304161325.16893.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Luis Machado To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Revert "gdb: Do not print empty-group regs when printing general ones" X-Act-Checkin: binutils-gdb X-Git-Author: Luis Machado X-Git-Refname: refs/heads/master X-Git-Oldrev: 0bab6cf11655d310690e48d7c07b4aa28a87026d X-Git-Newrev: 440cf44eb0f70830b8d8ac35289f84129c7a35c1 X-SW-Source: 2020-03/txt/msg00019.txt https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=440cf44eb0f70830b8d8ac35289f84129c7a35c1 commit 440cf44eb0f70830b8d8ac35289f84129c7a35c1 Author: Luis Machado Date: Wed Mar 4 13:08:13 2020 -0300 Revert "gdb: Do not print empty-group regs when printing general ones" Revert the change since it breaks existing behavior of "info registers" for some architectures. At least AArch64 and ARM are impacted by this change. gdb/ChangeLog: 2020-03-04 Luis Machado Revert aa66aac47b4dd38f9524ddb5546c08cc09930d37 due to regressions in "info registers" for AArch64/ARM. The change caused "info registers" to not print GPR's. gdb/ChangeLog: 2020-02-01 Shahab Vahedi * target-descriptions.c (tdesc_register_in_reggroup_p): Return 0 when reg->group is empty and reggroup is not. Diff: --- gdb/ChangeLog | 14 ++++++++++++++ gdb/target-descriptions.c | 13 +++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index edb8781..36b3f3d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,17 @@ +2020-03-04 Luis Machado + + Revert aa66aac47b4dd38f9524ddb5546c08cc09930d37 due to regressions + in "info registers" for AArch64/ARM. + + The change caused "info registers" to not print GPR's. + + gdb/ChangeLog: + + 2020-02-01 Shahab Vahedi + + * target-descriptions.c (tdesc_register_in_reggroup_p): Return 0 + when reg->group is empty and reggroup is not. + 2020-03-03 Tom Tromey * dwarf2/frame.c (struct dwarf2_frame_cache) diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 06f42a1..04711ba 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -977,16 +977,13 @@ tdesc_register_in_reggroup_p (struct gdbarch *gdbarch, int regno, { struct tdesc_reg *reg = tdesc_find_register (gdbarch, regno); - if (reg != NULL) - { - if (reggroup == all_reggroup) + if (reg != NULL && !reg->group.empty () + && (reg->group == reggroup_name (reggroup))) return 1; - else if (reggroup == save_reggroup || reggroup == restore_reggroup) - return reg->save_restore; - else - return (int) (reg->group == reggroup_name (reggroup)); - } + if (reg != NULL + && (reggroup == save_reggroup || reggroup == restore_reggroup)) + return reg->save_restore; return -1; }