From owner-freebsd-current@FreeBSD.ORG Fri Jan 4 21:26:52 2008 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DC9316A417 for ; Fri, 4 Jan 2008 21:26:52 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from sippysoft.com (gk.360sip.com [72.236.70.226]) by mx1.freebsd.org (Postfix) with ESMTP id 4B21913C455 for ; Fri, 4 Jan 2008 21:26:51 +0000 (UTC) (envelope-from sobomax@FreeBSD.org) Received: from [192.168.0.3] ([204.244.149.125]) (authenticated bits=0) by sippysoft.com (8.13.8/8.13.8) with ESMTP id m04LQg8a004176 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 4 Jan 2008 13:26:43 -0800 (PST) (envelope-from sobomax@FreeBSD.org) Message-ID: <477EA466.6060204@FreeBSD.org> Date: Fri, 04 Jan 2008 13:25:58 -0800 From: Maxim Sobolev Organization: Sippy Software, Inc. User-Agent: Thunderbird 2.0.0.9 (Windows/20071031) MIME-Version: 1.0 To: Tim Kientzle References: <477C82F0.5060809@freebsd.org> <863ateemw2.fsf@ds4.des.no> <200801032200.25650.peter.schuller@infidyne.com> <8663yac62d.fsf@ds4.des.no> <477E72FC.5070304@freebsd.org> In-Reply-To: <477E72FC.5070304@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= , freebsd-current@FreeBSD.org, Peter Schuller , Jason Evans Subject: ELF dynamic loader name [was: sbrk(2) broken] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2008 21:26:52 -0000 Tim Kientzle wrote: >> "Sidegrading" is supposed to work now in HEAD; with a little hacking, >> you can build an amd64 world and kernel on the i386 world, install the >> kernel, reboot, and install world. AFAIK, the required hacking involves >> copying /libexec/ld-elf.so.1 to /libexec/ld-elf32.so.1 ... > > I wonder when we'll have to standardize /libexec// to support > multiple architectures for things like ld-elf.so.1. It used to only > be a concern for those rare people running diskless over multiple > architectures, but the case of i386 binaries on amd64 is a little > more common. > > On the other hand, if ld-elf.so.1 is fairly unique in this > concern, it might be simpler to rename it to: > ld-elf-{i386,amd64,ppc,...}.so.1 Good point, it's silly that i386 binary running on amd64 kernel requires ld-elf32.so.1, while ld-elf.so.1 when running on i386 kernel. It adds unneeded complexity for running i386 jail or chroot on amd64 for example. I wonder if we can do what Tim said - rename dynamic loader to actually include architecture name. I am pretty sure it would allow to remove quite few special cases from the kernel elf/emulation code and possibly from the cross build logic. -Maxim