Multiarch interpreter names for traditional architectures
Zack Weinberg
zackw@panix.com
Sun Feb 4 17:06:00 GMT 2018
On Sun, Feb 4, 2018 at 11:25 AM, Javier Serrano Polo <javier@jasp.net> wrote:
> Dear list,
>
> Multiarch systems allow to run programs from other architectures. ELF
> executables for traditional architectures depend on interpreter names
> that may conflict with each other. For instance, it is complicated to
> run alpha programs on x86 systems.
>
> Simpler systems use multiarch interpreter names. I am looking for
> consensus since I would like to avoid, e.g., having ld-linux-i386.so.2,
> ld-linux-i686.so.2, ld-linux-x86.so.2, and ld-linux-x86-32.so.2 for x86.
> What would be the proper multiarch names for the following
> architectures? I present suggestions:
...
Debian's version of "multiarch" (see
https://wiki.debian.org/Multiarch) uses /lib/$(CANONICAL_HOST)/ld.so.2
where $(CANONICAL_HOST) is a slightly adjusted version of the GNU
canonical system identifier. Historical infixes in the name of ld.so
are preserved, but new subarchitectures don't need one. I think this
is better than trying to come up with lname infixes for everything,
since it also gives you somewhere to put all the _other_ files that
are subarchitecture-specific, and it's easy to see how it should be
extended to more complicated scenarios. There are multiarch
subdirectories of /usr/lib and /usr/include as well as /lib. I would
like to see it adopted more widely, perhaps even become the GNU-wide
convention.
zw
More information about the Libc-alpha
mailing list