From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 598C73854807 for ; Mon, 15 Feb 2021 20:34:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 598C73854807 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tdevries@suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 7459DAC32; Mon, 15 Feb 2021 20:34:19 +0000 (UTC) Date: Mon, 15 Feb 2021 21:34:17 +0100 From: Tom de Vries To: dwz@sourceware.org, jakub@redhat.com Cc: Mark Wielaard Subject: [PATCH] Print die_hash2 for --odr --devel-dump-dies Message-ID: <20210215203416.GA29992@delia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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: dwz@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Dwz mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Feb 2021 20:34:21 -0000 Hi, For --odr, there's an additional hash value, die->u.p1.die_hash2. Print this with --devel-dump-dies, such that we have: ... $ dwz --devel-dump-dies --odr odr-struct 114 O f56004ac(cd46c7ab) f56004ac aaa structure_type ... 1ba O f56004ac(cd46c7ab) f56004ac aaa structure_type ... Used to debug PR27400. Any comments? Thanks, - Tom Print die_hash2 for --odr --devel-dump-dies 2021-02-15 Tom de Vries * dwz.c (dump_die_with_indent): Print die->u.p1.die_hash2. --- dwz.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dwz.c b/dwz.c index 17921f0..80bc1e7 100644 --- a/dwz.c +++ b/dwz.c @@ -5452,11 +5452,13 @@ dump_die_with_indent (int indent, dw_die_ref die) else { const char *name = get_name (die); - fprintf (stderr, "%*s %x %c %x %x %s %s", indent, "", die->die_offset, + fprintf (stderr, "%*s %x %c %x", indent, "", die->die_offset, die->die_ck_state == CK_KNOWN ? 'O' : 'X', - (unsigned) die->u.p1.die_hash, - (unsigned) die->u.p1.die_ref_hash, name ? name : "", - get_DW_TAG_name (die->die_tag) + 7); + (unsigned) die->u.p1.die_hash); + if (odr && die->die_odr_state != ODR_NONE) + fprintf (stderr, "(%x)", (unsigned) die->u.p1.die_hash2); + fprintf (stderr, " %x %s %s", (unsigned) die->u.p1.die_ref_hash, + name ? name : "", get_DW_TAG_name (die->die_tag) + 7); dump_type (die); } fprintf (stderr, "\n");