From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by sourceware.org (Postfix) with ESMTPS id E495D3858C1F for ; Fri, 11 Aug 2023 09:53:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E495D3858C1F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-5230ac6dbc5so2374295a12.3 for ; Fri, 11 Aug 2023 02:53:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1691747605; x=1692352405; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9AeiOJmE6tSX+5/kua/neO+YwR+8naB0F0E7fJ3XyCs=; b=LEuuTq1ousyeLWUDz5bAXrlJrSkmBgxfitF4UqbylfruTRfN9jwehxB4E5J3h9uqWH kqvbF0hMUp/XJMgUgPzJcEOX1NzLNpGK30BYCSz4qu35exNRbdgdUMGUbbCK1ELGkyBT HkKRHRmHyuPQc+IzP3xwduZZ9ufSjw/T3dMm+sstIC8J6CCNKwIVQRkU89+L/2fSXXjW DpDwj+vEdqXDezcTAez+9JQla1xsUNBsSKUkF4veFm2dM1F4ZDpaKSslCgMgFQ2snqQE YNR+84s8mBvNviOhMhnDtE61z8S25Qb6UWynqWOdkvrQjl4Awdhs4ftCZQ/Hyyrrnrkb NszA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691747605; x=1692352405; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9AeiOJmE6tSX+5/kua/neO+YwR+8naB0F0E7fJ3XyCs=; b=fbnAnslvO1QXieu23iEB6BeW7lrAnhbUoBLNuE7lCzXy5F9wRPADc63As98KxPzJ73 7hDD0zSuoP3vKaKuOaXRJVjIvp5xJA8QWWyi1n0m8ZZ7OqqN55tVDyk0LexM5c/itqkF B5JVG1ncQHqkifFXDLertvEtXEnKB3FfTXYNzLeRh83DjcQyjiRZap6xaKbKUYkyeBzs XotXUvlEJg7hhqNRlw86Ft1W1fBpb93fgI8k/RQbQhs2ubyNi8NoeO7PgZpF2FCS2jjt PEfS59G9d80+MKOfHSml/YrCS7XrRKeUQCnyXWeh0ISOSnXjUAv4n/JgfQgO9Q0VAYzy 7REA== X-Gm-Message-State: AOJu0YwJM8IG02hbKOaRtPw0TSJXCAwxQ8hmAVW4np3zwbqSRu7clY3k J6Z9t16Un6apoYzLtrp/Oo/aGSJhoi4n+CuZXpYShulerC7E+idQVFR33w== X-Google-Smtp-Source: AGHT+IFjd0jcs2lQOPOU1sywKniU0MalWGth3NqWxwhx/8XR2lxVUgaNpYNn06fXzXf7dk0MJmM/KvxpGYNH8yvqxQI= X-Received: by 2002:a17:906:7698:b0:999:80cf:82fd with SMTP id o24-20020a170906769800b0099980cf82fdmr1381898ejm.18.1691747605528; Fri, 11 Aug 2023 02:53:25 -0700 (PDT) MIME-Version: 1.0 References: <20230809-info-proc-ui-out-v1-0-36d4b1b8f582@tromey.com> <20230809-info-proc-ui-out-v1-1-36d4b1b8f582@tromey.com> In-Reply-To: <20230809-info-proc-ui-out-v1-1-36d4b1b8f582@tromey.com> From: Christophe Lyon Date: Fri, 11 Aug 2023 11:53:15 +0200 Message-ID: Subject: Re: [PATCH 1/3] Use ui-out in maintenance_print_user_registers To: Tom Tromey Cc: gdb-patches@sourceware.org Content-Type: multipart/alternative; boundary="00000000000013dff60602a2af52" X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --00000000000013dff60602a2af52 Content-Type: text/plain; charset="UTF-8" Hi Tom, On Wed, 9 Aug 2023 at 18:41, Tom Tromey wrote: > This changes maintenance_print_user_registers to use a ui-out table. > --- > gdb/user-regs.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/gdb/user-regs.c b/gdb/user-regs.c > index 25c57d4886c..503a41162c6 100644 > --- a/gdb/user-regs.c > +++ b/gdb/user-regs.c > @@ -223,9 +223,19 @@ maintenance_print_user_registers (const char *args, > int from_tty) > struct gdb_user_regs *regs = get_user_regs (gdbarch); > regnum = gdbarch_num_cooked_regs (gdbarch); > > - gdb_printf (" %-11s %3s\n", "Name", "Nr"); > + struct ui_out *uiout = current_uiout; > + ui_out_emit_table table_emitter (uiout, 2, -1, "user-registers"); > + uiout->table_header (11, ui_left, "name", "Name"); > + uiout->table_header (3, ui_right, "number", "Nr"); > + > + uiout->table_body (); > for (reg = regs->first; reg != NULL; reg = reg->next, ++regnum) > - gdb_printf (" %-11s %3d\n", reg->name, regnum); > + { > + ui_out_emit_tuple tuple_emitter (uiout, nullptr); > + uiout->field_string ("name", reg->name); > + uiout->field_signed ("number", regnum); > + uiout->text ("\n"); > + } > } > > void _initialize_user_regs (); > > -- > 2.41.0 > > Our pre-commit CI has noticed that this causes a regression on aarch64 in gdb.base/completion.exp: FAIL: gdb.base/completion.exp: complete 'info registers ' I digged a bit, and it seems related to the fact that there's a slight spacing difference. Before your patch mt print user-registers prints: fp 260 (with a leading space) after your patch, it prints: fp 260 (with a trailing space) Accepting no space before the register name in completion.exp is enough to make the test pass again, but I guess you probably want to fix the actual output instead? diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp index 4686e6f8f34..07a91c90f73 100644 --- a/gdb/testsuite/gdb.base/completion.exp +++ b/gdb/testsuite/gdb.base/completion.exp @@ -145,7 +145,7 @@ append regs_output "\n" append regs_output [capture_command_output "mt print user-registers" \ ".*Name.*Nr\[^\n]*\n"] set all_regs {} -foreach {- reg} [regexp -all -inline -line {^\s+(\w+)} $regs_output] { +foreach {- reg} [regexp -all -inline -line {^\s*(\w+)} $regs_output] { lappend all_regs $reg } Thanks, Christophe --00000000000013dff60602a2af52--