From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 92003 invoked by alias); 17 Nov 2019 08:47:00 -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 91964 invoked by uid 48); 17 Nov 2019 08:46:57 -0000 From: "vries at gcc dot gnu.org" To: dwz@sourceware.org Subject: [Bug default/25166] Use verify_edges in create_import_tree Date: Tue, 01 Jan 2019 00:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: dwz X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: nobody at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2019-q4/txt/msg00052.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D25166 --- Comment #1 from Tom de Vries --- I added some printing of the edges before verification. ... 1. PRINT_EDGES PUs idx: 0 cu: 0x0 incoming: 2 incoming: 3 incoming: 4 idx: 1 cu: 0x1 incoming: 2 incoming: 3 CUs idx: 2 cu: 0x2e outgoing: 0 outgoing: 1 idx: 3 cu: 0xc7 outgoing: 0 outgoing: 1 idx: 4 cu: 0x3e1 outgoing: 0 2. PRINT_EDGES PUs idx: 0 cu: 0x0 incoming: 2 incoming: 3 incoming: 4 idx: 1 cu: 0x1 incoming: 2 incoming: 3 CUs idx: 2 cu: 0x2e outgoing: 0 outgoing: 1 idx: 3 cu: 0xc7 outgoing: 0 outgoing: 1 idx: 4 cu: 0x3e1 outgoing: 0 3. PRINT_EDGES PUs idx: 0 cu: 0x0 incoming: 0 incoming: 4 idx: 1 cu: 0x1 incoming: 2 incoming: 3 outgoing: 0 CUs idx: 2 cu: 0x2e outgoing: 1 idx: 3 cu: 0xc7 outgoing: 1 idx: 4 cu: 0x3e1 outgoing: 0 dwz: /data/dwz/dwz.git/dwz.c:6071: verify_edges_1: Assertion `e2' failed. ... The first two calls give identical output. The third show a transformed import tree, which looks good apart from one oddity: ... PUs idx: 0 cu: 0x0 incoming: 0 incoming: 4 ... PU 0 has an incoming edge from itself. The verification assert trips on this, because there's no corresponding outgoing edge. In the code that is generated, there's no import statement in PU 0 that imp= orts itself, so it looks like this oddity doesn't have negative consequences in = code generation. So, this merely looks like insufficient cleanup, which is not terribly important. It would be good to fix though, because it would allow us to run the edge verification at the point where it is now asserting. --=20 You are receiving this mail because: You are on the CC list for the bug.