From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56693 invoked by alias); 20 Feb 2019 17:13:56 -0000 Mailing-List: contact dwz-help@sourceware.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Subscribe: Sender: dwz-owner@sourceware.org Received: (qmail 56525 invoked by uid 48); 20 Feb 2019 17:13:52 -0000 From: "vries at gcc dot gnu.org" To: dwz@sourceware.org Subject: [Bug default/24249] Section offsets not monotonically increasing 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: attachments.created 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-q1/txt/msg00038.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D24249 --- Comment #7 from Tom de Vries --- Created attachment 11635 --> https://sourceware.org/bugzilla/attachment.cgi?id=3D11635&action=3Ded= it Tentative patch (In reply to Jakub Jelinek from comment #5) > Pedantically, ELF doesn't require that. But I view it as a QoI thing, th= ere > is no reason for a sane ELF producer to just put sections randomly in > .shstrtab, sorting them by increasing .sh_offset is most reasonable. And, > both prelink and dwz and other tools just choose not to optimize if the > producer didn't do a reasonable job. I think it's reasonable to draw the line somewhere, so I'd understand it if this gets marked resolved-wontfix. OTOH, I'm not happy with not having a workaround (the ability to run say an= elf sanitizer or some such to fix this trivial problem to allow dwz to run on t= he sanitized elf). This tentative patch fixes up the bad-quality input in fdopen_dso in a fair= ly orthogonal way, by sorting dso->shdr and dso->scn according to sh_offset, a= nd updating dso->ehdr.e_shstrndx. ... $ gcc hello.c -g -fuse-ld=3Dgold -Wl,--gdb-index $ dwz a.out dwz: Section offsets in a.out not monotonically increasing, fixing up $ echo $? 0 $ readelf -S a.out Section Headers: [Nr] Name Type Address Offset Size EntSize Flags Link Info Align ... [37] .shstrtab STRTAB 0000000000000000 0000284f 000000000000017f 0000000000000000 0 0 1 [38] .gdb_index PROGBITS 0000000000000000 00003390 00000000000022f3 0000000000000000 0 0 4 ... --=20 You are receiving this mail because: You are on the CC list for the bug.