From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9AA94398B42F; Fri, 19 Feb 2021 11:50:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9AA94398B42F From: "vries at gcc dot gnu.org" To: dwz@sourceware.org Subject: [Bug default/27438] [dwz, odr, multifile] Multifile after odr not optimal Date: Fri, 19 Feb 2021 11:50:59 +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: 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-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: Fri, 19 Feb 2021 11:50:59 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27438 --- Comment #1 from Tom de Vries --- This seems to be related to DW_AT_decl_file. The first sign of trouble is that this DIE in the multifile: ... 4f O 83a3029f 0 member_four member (type: 16f int base_type) ... has a different checksum than this DIE from file 1 (in the finalize_multifi= le phase): ... 54 O a793678e 0 member_four member (type: 7c int base_type) ... Looking at checksum calculation of the 4f: ... DIE 4f, hash: 3a09c42b, tag DIE 4f, hash: b77c105, attr (0) DIE 4f, hash: 2d5a104c, attr (1) DIE 4f, hash: 7a4061d4, attr (2) DIE 4f, hash: 1d9a1621, attr (3) DIE 4f, hash: 83a3029f, attr (4) DIE 4f, hash: 83a3029f, final ... and the 54 DIEs: ... DIE 54, hash: 3a09c42b, tag DIE 54, hash: b77c105, attr (0) DIE 54, hash: b8ab158e, attr (1) DIE 54, hash: d527a92, attr (2) DIE 54, hash: 402d45a9, attr (3) DIE 54, hash: a793678e, attr (4) DIE 54, hash: a793678e, final ... it's clear that the difference starts at attribute 1, which is the DW_AT_decl_file one. Looking at the 4f DIE: ... <2><4f>: Abbrev Number: 16 (DW_TAG_member) <50> DW_AT_name : (indirect string, offset: 0x3fd): member_four <54> DW_AT_decl_file : 3 <55> DW_AT_decl_line : 6 <56> DW_AT_type : <0x16f> <5a> DW_AT_data_member_location: 0 ... The File Name Table (offset 0x67): Entry Dir Time Size Name 1 1 0 0 odr.cc 2 1 0 0 odr.h 3 1 0 0 odr-2.cc 4 2 0 0 stddef.h 5 0 0 0 elf-init.c .... the decl_file is odr-2.cc. Looking at the 54 DIE: ... <2><54>: Abbrev Number: 26 (DW_TAG_member) <55> DW_AT_name : (indirect string, offset: 0x280): member_four <59> DW_AT_decl_file : 1 <5a> DW_AT_decl_line : 6 <5b> DW_AT_type : <0x7c> <5f> DW_AT_data_member_location: 0 The File Name Table (offset 0x131): Entry Dir Time Size Name 1 1 0 0 odr.cc 2 1 0 0 odr.h ... the decl_file is odr.cc. --=20 You are receiving this mail because: You are on the CC list for the bug.=