Sergey Bugaev, le ven. 21 avril 2023 17:30:12 +0300, a ecrit: > On Fri, Apr 21, 2023 at 12:24 PM Samuel Thibault > <samuel.thiba...@gnu.org> wrote: > > No, they don't :) otherwise they wouldn't respect the ABI. The AMD64 > > ABI indeed defaults to /lib/ld64.so.1, and says that Linux uses > > /lib64/ld-linux-x86-64.so.2, and that is cast in stone, we cannot change > > it any more. > > > > /lib/ld-x86-64.so.1 should be completely fine. > > I don't think I understand -- so the AMD64 ABI spec requires it to be > /lib/ld64.so.1,
It does not require it to be that, it says it should be that. But it's a very bad idea since it doesn't permit to distinguish different 64bit archs. > but it also mentions that Linux uses > /lib64/ld-linux-x86-64.so.2, Yes, because Linux chose to use that, to encode the OS name and the arch in the path. > and that means we should be using /lib/ld-x86-64.so.1? Yes, because we do want to put the arch name in the path. We could want to put "gnu-" in it too, it's just about time to decide. After we have some settled distribution, we should really not change that. > Moreover, how does the ELF spec requiring a specific file path for > INTERP make any sense at all? For interoperability between distributions. > Surely the .1 is the soname means something, we should be able to bump > it to .2 when we break ABI really bad? Yes, but we'd rather avoid that if possible. > What if the system is not a Unix and doesn't use /lib/ or .so for its > libraries (but still uses ELF as a format)? Then it's not the same system and thus it's free to use whatever interpreter path it prefers. But it should really rather stick to it once decided, for interoperability. Samuel