Subject: Re: 32 bit & 64 bit libraries.
To: matthew green <firstname.lastname@example.org>
From: Frank van der Linden <email@example.com>
Date: 08/13/2001 11:50:29
I also don't like /usr/lib64 and /usr/lib32. Since most newer ELF specs
talk about /usr/lib/<arch>, I'd propose:
* For NetBSD binaries, if the loader is "/usr/libexec/ld.elf_so",
have the kernel look at <loader>-<arch> first, and if this
doesn't exist it uses <loader>. I.e. in the standard case it
tries /usr/libexec/ld.elf_so-sparcv9 first for a 64 bit binary,
if this doesn't exist it uses /usr/libexec/ld.elf_so. <arch>
here is the architecture that
matches the type in the ELF header (i.e. sparc or sparcv9 or
ia64 or i386 etc)
* ld.elf_so looks in /usr/lib/<arch> before /usr/lib (where <arch>
is the type of binaries it's supposed to handle, not the
system that it runs on).
This way the default libraries would still be in /usr/lib, and multiple
sub-arches can coexist on one system. The only downpoint is that there
may be a mismatch between the loader stored in the ELF header and the
one actually run, if the kernel picks the -<arch> one for a native binary.
This behaviour is already present to some extent in the /emul shadow tree
Frank van der Linden firstname.lastname@example.org
Quality NetBSD CDs, Support & Service. http://www.wasabisystems.com/