This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Multiarch interpreter names for traditional architectures
- From: Zack Weinberg <zackw at panix dot com>
- To: javier--CbphpPOVok9WFxGWvC7CbkqlsxDZyT at jasp dot net
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Sun, 4 Feb 2018 12:06:03 -0500
- Subject: Re: Multiarch interpreter names for traditional architectures
- Authentication-results: sourceware.org; auth=none
- References: <1517756479.29018.96.camel@sempati.menos4>
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