ELF dynamic loader name [was: sbrk(2) broken]

From: Maxim Sobolev <sobomax_at_FreeBSD.org>
Date: Fri, 04 Jan 2008 13:25:58 -0800
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/<arch>/ 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
Received on Fri Jan 04 2008 - 20:26:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:25 UTC