Loïc Minier loic.minier@linaro.org wrote:
I understood you to propose an alternative solution that would keep the old ELF interpreter name (/lib/ld.so.1) embedded in executables, and keep them working by installing some "common" loader at this location.
Ah no, I intended us to move to /lib/$(multiarch)/ld.so.1, but for compatibility with executables from other distros and pre-multiarch world, we need to provide /lib/ld* loaders.
OK, I see.
And since the current /lib/ld* names clash across architectures, I was proposing to replace /lib/ld* with a clever wrapper that calls the proper /lib/$(multiarch)/ld.so.1 depending on the architecture of the ELF file to load.
So now we get back to my original question: what file type would that "clever wrapper" be? The kernel can only load an ELF interpreter that is itself an ELF file of the native architecture, so that wrapper would have to be that. However, this means that we've once again violated multiarch rules ...
If we have to install different native versions of the clever wrapper, we might just as well install the original native ELF interpreters -- that's neither better nor worse from a multiarch rules perspective.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
-- Dr. Ulrich Weigand | Phone: +49-7031/16-3727 STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E. IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht Stuttgart, HRB 243294