From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 70B263858D3C for ; Wed, 22 Mar 2023 13:46:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 70B263858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id A193420E37; Wed, 22 Mar 2023 13:46:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1679492797; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PZzOh35lYBG6xveJtsgz1eblqFJ7JeCnvt/gJOYO1us=; b=miMYlrNOIquzK8B+hh2oFXBcj7F47Uh+IlF4WcaKFyzqGz1M5kbOqReIbrbEKw8wZKWm05 k0lgW9pSb8jQocsr3BoITHjJCeAEY6Ww8/4oYHJRSmkGYffVrwhbAw0XO64xP++87YsKWn Tb0pCNeeolUVQAf0j52kGXMCuS6vxbA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1679492797; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PZzOh35lYBG6xveJtsgz1eblqFJ7JeCnvt/gJOYO1us=; b=6kqKAeIvVVAcY94OQDf1gmtfVxsiTE+3Tg1JK1q5P97X3Bg5Cceup8NDJXskFQhY9HuCdk 6Nx3ZTQmphRZDYBA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7DF2D13416; Wed, 22 Mar 2023 13:46:37 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id GaZCHb0GG2Q3DAAAMHmgww (envelope-from ); Wed, 22 Mar 2023 13:46:37 +0000 Message-ID: Date: Wed, 22 Mar 2023 14:46:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH] gdb: make "maintenance info line-table" show relocated addresses again Content-Language: en-US To: Simon Marchi , Andrew Burgess , Simon Marchi via Gdb-patches Cc: Simon Marchi References: <20230320163003.32960-1-simon.marchi@efficios.com> <87y1nrcdim.fsf@redhat.com> <87o7omcvb8.fsf@redhat.com> <7c2ba695-c6ec-5854-c81a-e84db28cc66b@simark.ca> From: Tom de Vries In-Reply-To: <7c2ba695-c6ec-5854-c81a-e84db28cc66b@simark.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,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: On 3/22/23 02:35, Simon Marchi via Gdb-patches wrote: > >> I'm never going to complain about more information. Especially not in >> maintainer commands. >> >> Just wanted to make sure my use case was noted. > > Thanks, here's what I pushed. > I'm seeing regressions, I'm assuming they're due to this patch: ... Running /data/vries/gdb/src/gdb/testsuite/gdb.dwarf2/dw2-out-of-range-end-of-seq.exp ... FAIL: gdb.dwarf2/dw2-out-of-range-end-of-seq.exp: END with address 1 eliminated Running /data/vries/gdb/src/gdb/testsuite/gdb.dwarf2/dw2-ranges-base.exp ... FAIL: gdb.dwarf2/dw2-ranges-base.exp: count END markers in line table Running /data/vries/gdb/src/gdb/testsuite/gdb.base/maint.exp ... ERROR: internal buffer is full. ERROR: internal buffer is full. ... Thanks, - Tom > Simon > > > From 904d9b02a185c9048cf17bf7295b89d7380cea3d Mon Sep 17 00:00:00 2001 > From: Simon Marchi > Date: Thu, 16 Mar 2023 16:30:34 -0400 > Subject: [PATCH] gdb: make "maintenance info line-table" show relocated > addresses again > > Commit 1acc9dca423f ("Change linetables to be objfile-independent") > changed "maintenance info line-table" to print unrelocated addresses > instead of relocated. This breaks a few tests on systems where that > matters. The ones I see are: > > Running /home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.base/consecutive.exp ... > FAIL: gdb.base/consecutive.exp: stopped at bp, 2nd instr (missing hex prefix) > Running /home/smarchi/src/binutils-gdb/gdb/testsuite/gdb.base/async.exp ... > FAIL: gdb.base/async.exp: stepi& > FAIL: gdb.base/async.exp: nexti& > FAIL: gdb.base/async.exp: finish& > > These tests run "maintenance info line-table" to record the address of > some lines, and then use these addresses in expected patterns. It > therefore expects these addresses to match the runtime addresses, > therefore the relocated addresses. > > Add back the relocated addresses, next to the unrelocated addresses, > like so: > > INDEX LINE REL-ADDRESS UNREL-ADDRESS IS-STMT PROLOGUE-END > 0 6 0x0000555555555119 0x0000000000001119 Y > 1 7 0x000055555555511d 0x000000000000111d Y > 2 8 0x0000555555555123 0x0000000000001123 Y > 3 END 0x0000555555555125 0x0000000000001125 Y > > The unrelocated addresses can always be useful trying to map this > information with a DWARF info dump. > > Adjust the is_stmt_addresses proc in the testsuite to match the new > output. > > Change-Id: I59558f167e13e63421c9e0f2cad192e7c95c10cf > --- > gdb/symmisc.c | 9 ++++++--- > gdb/testsuite/lib/gdb.exp | 2 +- > 2 files changed, 7 insertions(+), 4 deletions(-) > > diff --git a/gdb/symmisc.c b/gdb/symmisc.c > index 54dc570d282f..a09b541f1b39 100644 > --- a/gdb/symmisc.c > +++ b/gdb/symmisc.c > @@ -976,10 +976,11 @@ maintenance_print_one_line_table (struct symtab *symtab, void *data) > /* Leave space for 6 digits of index and line number. After that the > tables will just not format as well. */ > struct ui_out *uiout = current_uiout; > - ui_out_emit_table table_emitter (uiout, 5, -1, "line-table"); > + ui_out_emit_table table_emitter (uiout, 6, -1, "line-table"); > uiout->table_header (6, ui_left, "index", _("INDEX")); > uiout->table_header (6, ui_left, "line", _("LINE")); > - uiout->table_header (18, ui_left, "address", _("ADDRESS")); > + uiout->table_header (18, ui_left, "rel-address", _("REL-ADDRESS")); > + uiout->table_header (18, ui_left, "unrel-address", _("UNREL-ADDRESS")); > uiout->table_header (7, ui_left, "is-stmt", _("IS-STMT")); > uiout->table_header (12, ui_left, "prologue-end", _("PROLOGUE-END")); > uiout->table_body (); > @@ -995,7 +996,9 @@ maintenance_print_one_line_table (struct symtab *symtab, void *data) > uiout->field_signed ("line", item->line); > else > uiout->field_string ("line", _("END")); > - uiout->field_core_addr ("address", objfile->arch (), > + uiout->field_core_addr ("rel-address", objfile->arch (), > + item->pc (objfile)); > + uiout->field_core_addr ("unrel-address", objfile->arch (), > CORE_ADDR (item->raw_pc ())); > uiout->field_string ("is-stmt", item->is_stmt ? "Y" : ""); > uiout->field_string ("prologue-end", item->prologue_end ? "Y" : ""); > diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp > index 0a0ae697d1ee..6c2d7e1c74e5 100644 > --- a/gdb/testsuite/lib/gdb.exp > +++ b/gdb/testsuite/lib/gdb.exp > @@ -8872,7 +8872,7 @@ proc is_stmt_addresses { file } { > set is_stmt [list] > > gdb_test_multiple "maint info line-table $file" "" { > - -re "\r\n$decimal\[ \t\]+$decimal\[ \t\]+($hex)\[ \t\]+Y\[^\r\n\]*" { > + -re "\r\n$decimal\[ \t\]+$decimal\[ \t\]+($hex)\[ \t\]+$hex\[ \t\]+Y\[^\r\n\]*" { > lappend is_stmt $expect_out(1,string) > exp_continue > } > > base-commit: bcefc6be9754d45fb9391993e6daaf01a68d9bd5