ELF dynamic loader name [was: sbrk(2) broken]
Maxim Sobolev
sobomax at FreeBSD.org
Fri Jan 4 13:26:52 PST 2008
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
More information about the freebsd-current
mailing list