Date: Thu, 5 Dec 2019 08:49:46 -0800 From: John Baldwin <jhb@FreeBSD.org> To: Mateusz Guzik <mjguzik@gmail.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r354754 - in head/sys: amd64/linux amd64/linux32 arm64/linux i386/linux Message-ID: <82511db1-efe3-5ab2-5ca9-081e7065b11f@FreeBSD.org> In-Reply-To: <CAGudoHF9xrG0G2rD=bGnTbYmt2ayn6AuS3D_bOkJDwchU%2BF4sg@mail.gmail.com> References: <201911152301.xAFN1hBM046422@repo.freebsd.org> <CAGudoHF9xrG0G2rD=bGnTbYmt2ayn6AuS3D_bOkJDwchU%2BF4sg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/5/19 5:28 AM, Mateusz Guzik wrote: > On 11/16/19, John Baldwin <jhb@freebsd.org> wrote: >> Author: jhb >> Date: Fri Nov 15 23:01:43 2019 >> New Revision: 354754 >> URL: https://svnweb.freebsd.org/changeset/base/354754 >> >> Log: >> Use a sv_copyout_auxargs hook in the Linux ELF ABIs. >> > > This makes Linux binaries instantly segfault for me on amd64. > > You check: https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64-root.tar.xz > > I unpack this to tmpfs and chroot inside. Works without this commit. Yes, trasz@ has let me know and the issue is that I'm calculating the stack alignment wrong (doesn't factor in the variable number of argv and envv entries). It works for linux-base-c7 which is why my testing didn't catch it. arm64 linuxulator has a similar issue I think, and I actually have another use case to want to copy auxv later, so my plan is to rework this change to go back to statically allocating room for auxargs and invoking this callback at the end of copyout_strings passing in the address at the end of envv. I should be able to work on that today or tomorrow. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?82511db1-efe3-5ab2-5ca9-081e7065b11f>