From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82397 invoked by alias); 1 Dec 2019 09:09:25 -0000 Mailing-List: contact dwz-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: dwz-owner@sourceware.org Received: (qmail 82388 invoked by uid 89); 1 Dec 2019 09:09:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy= X-Spam-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: mx1.suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Date: Tue, 01 Jan 2019 00:00:00 -0000 From: Tom de Vries To: dwz@sourceware.org, jakub@redhat.com Subject: [committed] Add --devel-dump-dups Message-ID: <20191201090918.GA31379@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-SW-Source: 2019-q4/txt/msg00110.txt.bz2 Hi, Add an option --devel-dump-dups that prints the duplicate chains: ... $ dwz min --devel-dump-dups duplicate chain: 4a O e00eb67a e00eb67a int base_type 9c O e00eb67a e00eb67a int base_type ... Committed to trunk. Thanks, - Tom Add --devel-dump-dups 2019-11-30 Tom de Vries * dwz.c (dump_dups): New var. (partition_find_dups): Dump duplicate chains if dump_dups. (dwz_options): Add --devel-dump-dups. --- dwz.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dwz.c b/dwz.c index e92e9d8..93c8736 100644 --- a/dwz.c +++ b/dwz.c @@ -156,11 +156,13 @@ static int tracing; static int ignore_size; static int ignore_locus; static int dump_dies_p; +static int dump_dups; #else #define tracing 0 #define ignore_size 0 #define ignore_locus 0 #define dump_dies_p 0 +#define dump_dups 0 #endif static int unoptimized_multifile; static int save_temps = 0; @@ -5929,6 +5931,15 @@ partition_find_dups (struct obstack *vec, dw_die_ref parent) } child->die_nextdup = prev; obstack_ptr_grow (vec, child); + if (dump_dups) + { + fprintf (stderr, "duplicate chain:\n"); + { + dw_die_ref d; + for (d = child; d; d = d->die_nextdup) + dump_die (d); + } + } } else if (child->die_named_namespace) partition_find_dups (vec, child); @@ -13060,6 +13071,7 @@ static struct option dwz_options[] = { "devel-ignore-locus",no_argument, &ignore_locus, 1 }, { "devel-save-temps", no_argument, &save_temps, 1 }, { "devel-dump-dies", no_argument, &dump_dies_p, 1 }, + { "devel-dump-dups", no_argument, &dump_dups, 1 }, { "devel-unoptimized-multifile", no_argument, &unoptimized_multifile, 1 }, { "devel-verify-edges",no_argument, &verify_edges_p, 1 },