From owner-freebsd-toolchain@freebsd.org Fri Jan 12 19:42:36 2018 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA776E784A0 for ; Fri, 12 Jan 2018 19:42:36 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-133.reflexion.net [208.70.210.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 512DA7C3CB for ; Fri, 12 Jan 2018 19:42:35 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 6593 invoked from network); 12 Jan 2018 19:15:54 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 12 Jan 2018 19:15:54 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v8.40.4) with SMTP; Fri, 12 Jan 2018 14:15:54 -0500 (EST) Received: (qmail 30811 invoked from network); 12 Jan 2018 19:15:53 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 12 Jan 2018 19:15:53 -0000 Received: from [192.168.1.25] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 4314EEC9471; Fri, 12 Jan 2018 11:15:53 -0800 (PST) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: elfdump [a forward to toolchain] Message-Id: <62685F43-93A3-4380-B2C2-7FF386173999@dsl-only.net> Date: Fri, 12 Jan 2018 11:15:52 -0800 To: bygg@cafax.se, FreeBSD Toolchain X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jan 2018 19:42:36 -0000 Johnny Eriksson bygg at cafax.se wrote on Fri Jan 12 10:59:10 UTC 2018 : > When parsing a 64-bit big-endian elf file (on a 64-bit X86-64 system), > the sh_flags entry in the section header is mis-parsed since the routine > used only reads a 32-bit value. > > *** elfdump.c Fri Jan 12 10:43:35 2018 > --- elfdump.c.org Fri Jan 12 10:42:11 2018 > *************** > *** 798,804 **** > v = (char *)sh + i * shentsize; > name = elf_get_word(e, v, SH_NAME); > type = elf_get_word(e, v, SH_TYPE); > ! flags = elf_get_size(e, v, SH_FLAGS); > addr = elf_get_addr(e, v, SH_ADDR); > offset = elf_get_off(e, v, SH_OFFSET); > size = elf_get_size(e, v, SH_SIZE); > --- 798,804 ---- > v = (char *)sh + i * shentsize; > name = elf_get_word(e, v, SH_NAME); > type = elf_get_word(e, v, SH_TYPE); > ! flags = elf_get_word(e, v, SH_FLAGS); > addr = elf_get_addr(e, v, SH_ADDR); > offset = elf_get_off(e, v, SH_OFFSET); > size = elf_get_size(e, v, SH_SIZE); > > Possibly the (new) call to elf_get_size() should be changed to something > a little bit more informative. > > --Johnny === Mark Millard markmi at dsl-only.net