From owner-svn-src-head@freebsd.org Sat Nov 3 19:05:07 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 28F0710E1A2D for ; Sat, 3 Nov 2018 19:05:07 +0000 (UTC) (envelope-from marklmi26-fbsd@yahoo.com) Received: from sonic301-32.consmr.mail.ne1.yahoo.com (sonic301-32.consmr.mail.ne1.yahoo.com [66.163.184.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B98FC8DD09 for ; Sat, 3 Nov 2018 19:05:06 +0000 (UTC) (envelope-from marklmi26-fbsd@yahoo.com) X-YMail-OSG: cdYFyQcVM1lzrecoS4JvaobmvVUFcfY10n7LNvpreJdgehTliqaNRnPnDrL1ZIi wCW_8wnzK7n0TxfTNsR2fBbXHJQOodQ6i8x506BdhlGj1RnOgVI.HQ0wNqpyKTMGGRE46SuplgG6 bhFIr.gN1MW64LsTF5U3yGRC4cMx55tS1gwAWw2K8acFWrVaC_7A5f1oMQF4eLiEO2SSsdRLVIRM nW1ZfgJjRcCiHFXjONnF1iacxnZySdDPr29qvr90S.D9d2Hwco.j1s7Xo9VX5XtCAqj6EIHT1TRt tEtKc_mvRi.exxHc66na08y1YPRUHxl9Z.Sh8zRHR33InUICrDkdCKPxvwCOCmysptESn6469mI0 y_bYrBnoMzvm6YhIAFkEilBFE.PQdngWxbctDaxbUDnYL9gRD5MeIl_VoN9t6LyyKV9yAkU_ib52 N4acMEbSx.pUL98GaKgx.8VgJlJp29238lmREerASc3utjiWAStYanUpDIjhlQngH6yU8DGJry_n VdYPlkgilB4I5GNHkp6vStR.36WZeu66gCtpcKkEDxaMtkwtTvDY.H5wCkRCTGRG72OPBD9W4rz. ha242iISE8sWdb9SSIWE_p8ZbfYe1tlM2tzKwYWj6_IUiTo2XO1whuk9_1wdsAfNPPmhfDsL0gtr M72qeJMvMO6BiUq.uO5Twi0QQAsmxuvmo4fEBC90HycuhZeQJHHlW9qpGarJDbsb9cMW14m249ub wVOMNOYJp33M6C7_tN79rHOx541bKKl3KR13wMXWqg7.oJQBLJZw_WONTO8P08.5lIgom9UzgmTv nf_74HwMBjEeCKWVNtU7eGvGZI_0ppHUxP2HNGFL92wsEICRtbqAov4ddFgTlCV4WcEKIUY4kAn8 N8WE62zTdZqdzlEb0ULs0aGjPAgEJerI12S.WC5tw_HvBzZ7WlOv3rtWnM945fNqKUjC4SlDyvQU 3BbeWAr6O46Pys0PwqsVvFES555IJpPHeQEiQo50tlxJuWqYnwntmrBdEcFeAYNggUYd7DXDcLo0 hlO_AedTVbbHHge5RLVeuP.UuZMgOh2qcIYlA0EhK2MEKYg-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Sat, 3 Nov 2018 19:05:00 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.25]) ([76.115.7.162]) by smtp422.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 56e53060648147265693a05bbffc1ea3; Sat, 03 Nov 2018 19:04:54 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: svn commit: r339876 - head/libexec/rtld-elf From: Mark Millard In-Reply-To: <20181103154955.GR5335@kib.kiev.ua> Date: Sat, 3 Nov 2018 12:04:53 -0700 Cc: svn-src-head@freebsd.org, Alexander Richardson Content-Transfer-Encoding: quoted-printable Message-Id: <1AD60949-F621-4F24-8985-B02102824EB1@yahoo.com> References: <8E5A5F3A-F1A7-4702-A2F7-65D74CC5B2E5@yahoo.com> <20181102004101.GI5335@kib.kiev.ua> <003A49D7-6E8B-4775-A70B-E0EB44505D4B@yahoo.com> <20181102113827.GM5335@kib.kiev.ua> <7B29A4C8-228D-41CB-B594-98DFA456E9C8@yahoo.com> <20181102155234.GN5335@kib.kiev.ua> <20181102185014.GP5335@kib.kiev.ua> <34554290-D26E-4FED-A598-4FB3E313EA92@yahoo.com> <20181103154955.GR5335@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.3445.9.1) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Nov 2018 19:05:07 -0000 On 2018-Nov-3, at 8:49 AM, Konstantin Belousov = wrote: > On Fri, Nov 02, 2018 at 05:51:25PM -0700, Mark Millard wrote: >> On 2018-Nov-2, at 11:50 AM, Konstantin Belousov wrote: >>=20 >>> On Fri, Nov 02, 2018 at 10:38:08AM -0700, Mark Millard wrote: >>>> . . . >>>=20 >>> There seems to be an issue with the direct execution mode on ppc. >>> Even otherwise working ld-elf.so.1 segfaults if I try to use it as >>> standalone binary. >>>=20 >>> But if I specify patched ld-elf.so.1 as the interpreter for some = program, >>> using 'cc -Wl,-I,/ld-elf.so.1' it works. So I see there two = bugs, >>> one is regression due to textsize calculation, which should be fixed = by >>> my patch. Another is the direct exec problem. >>=20 >> My head -r339076 based powerpc64 and armv7 contexts also >> fail for: >>=20 >> # /libexec/ld-elf.so.1 /bin/ls >>=20 >> The armv7 (a Cortext-A7 context) is interestingly different >> in how it fails: >>=20 >> # /libexec/ld-elf.so.1 /bin/ls >> ld-elf.so.1: /bin/ls: mmap of entire address space failed: Cannot = allocate memory > Can you show the ktrace/kdump for this ? Sure, in the Cortex-A7 context . . . # ktrace -t+ /libexec/ld-elf.so.1 /bin/ls ld-elf.so.1: /bin/ls: mmap of entire address space failed: Cannot = allocate memory # kdump | less 80903 ktrace RET ktrace 0 80903 ktrace CALL execve(0xbfbfee23,0xbfbfecf0,0xbfbfecfc) 80903 ktrace NAMI "/libexec/ld-elf.so.1" 80903 ld-elf.so.1 RET execve JUSTRETURN 80903 ld-elf.so.1 CALL = mmap(0,0x20000,0x3,0x1002,0xff= ffffff,0,0,0) 80903 ld-elf.so.1 RET mmap 537071616/0x20031000 80903 ld-elf.so.1 CALL issetugid 80903 ld-elf.so.1 RET issetugid 0 80903 ld-elf.so.1 CALL = openat(AT_FDCWD,0xbfbfee2d,0x300000) 80903 ld-elf.so.1 NAMI "/bin/ls" 80903 ld-elf.so.1 RET openat 3 80903 ld-elf.so.1 CALL fstat(0x3,0xbfbfe638) 80903 ld-elf.so.1 STRU struct stat {dev=3D95, ino=3D2568217, = mode=3D0100555, nlink=3D1, uid=3D0, gid=3D0, rdev=3D5140776, = atime=3D1538464078.957949000, mtime=3D1538464078.958055000, = ctime=3D1538464078.958810000, birthtime=3D1538464078.957947000, = size=3D39440, blksize=3D32768, blocks=3D80, flags=3D0x0 } 80903 ld-elf.so.1 RET fstat 0 80903 ld-elf.so.1 CALL geteuid 80903 ld-elf.so.1 RET geteuid 0 80903 ld-elf.so.1 CALL = mmap(0,0x1000,0x1,0x40002,0x3,0,= 0,0) 80903 ld-elf.so.1 RET mmap 537202688/0x20051000 80903 ld-elf.so.1 CALL = mmap(0x10000,0xb000,0,0x6010,0xff= ffffff,0x10000,0,0) 80903 ld-elf.so.1 RET mmap -1 errno 12 Cannot allocate memory 80903 ld-elf.so.1 CALL munmap(0x20051000,0x1000) 80903 ld-elf.so.1 RET munmap 0 80903 ld-elf.so.1 CALL close(0x3) 80903 ld-elf.so.1 RET close 0 80903 ld-elf.so.1 CALL write(0x2,0x12e38,0xd) 80903 ld-elf.so.1 GIO fd 2 wrote 13 bytes "ld-elf.so.1: " 80903 ld-elf.so.1 RET write 13/0xd 80903 ld-elf.so.1 CALL write(0x2,0x33238,0x44) 80903 ld-elf.so.1 GIO fd 2 wrote 68 bytes "/bin/ls: mmap of entire address space failed: Cannot allocate = memory" 80903 ld-elf.so.1 RET write 68/0x44 80903 ld-elf.so.1 CALL write(0x2,0xbfbfe1e7,0x1) 80903 ld-elf.so.1 GIO fd 2 wrote 1 byte " " 80903 ld-elf.so.1 RET write 1 80903 ld-elf.so.1 CALL exit(0x1) >> My aarch64 context (a Cortext-A53 context) had no problem. >>=20 >> (All 3 examples are without any of the the recent updates >> or patches to ld-elf.so.1 source code.) >=20 > And still, does the patch for isync range works ? You can test the = new > ld-elf.so.1 standalone by hard-coding its path into the binary. Build = e.g. > only ls(1) by using make in its directory, then re-issue the linking > command with the additional flag '-Wl,-I, > and try to run ls.full. Looks like the old PowerMac is available again for such activity. So I'll see about testing. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)