From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2FF033854820; Wed, 20 Jan 2021 21:32:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FF033854820 From: "jakub at redhat dot com" To: dwz@sourceware.org Subject: [Bug default/27212] ./dwz: xxx: Invalid DW_AT_decl_file file number 20 Date: Wed, 20 Jan 2021 21:32:22 +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: normal X-Bugzilla-Who: jakub at redhat dot com 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-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: Wed, 20 Jan 2021 21:32:22 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27212 --- Comment #7 from Jakub Jelinek --- I understood what you meant with that dance, but as the abbrev is stored fi= rst the value doesn't really make it into the abbrev. Furthermore, the abbrev comparison/hashing needs to include those exact values, so they shouldn't be modified afterwards. The way (I understand how) build_abbrevs_for_die works is essentially it creates a new abbrev with the exact values needed in there for each DIE and then computes hash for that abbrev and looks it up in the hash table, if we don't already have a dup. So, if we use the remapped file number in the temporary abbrev's values that build_abbrevs_for_die is writing, all DIEs (that are otherwise same) that translate to the same final value will share the same abbrev. You're right that the update var can be killed, instead case DW_FORM_implicit_const: can do just j++; continue; And, we don't have DW_FORM_data8 handled after the lookup in write_die, but handle it before the lookup. Strange inconsistency (though it is very unli= kely something would be emitting 64-bit file numbers). --=20 You are receiving this mail because: You are on the CC list for the bug.=