Subject: sparc vs sparc64 vs /usr/lib vs /usr/lib/sparcv9
To: None <tech-toolchain@netbsd.org>
From: matthew green <mrg@eterna.com.au>
List: tech-toolchain
Date: 07/28/2001 20:27:18
OK, i have two problems with the current way sparc & sparc64 support
64 bit binaries.  (a) there's seemingly nowhere for sparc64 libraries
to be installed on a sparc system to enable compiling 64bit objects.
(b) the sparc64 `cc -m32' compiler pulls files out of
/emul/netbsd32/usr/lib and this seems to be wrong to me.

the 64 bit SPARC ELF ABI states quite clearly that shared libraries
will be searched for in /usr/lib/sparcv9.  so our current sparc64 is
not exactly compliant with the ELF standard.  (of course, i don't
think any of our ELF ports have ld.elf_so in the "correct place",
which is normally /usr/lib/ld.so.1.)


i was initially against the idea of having netbsd use /usr/lib/sparcv9,
but the more i use and clean up the system, particularly in the way of
sharing as much between sparc & sparc64 as possible, the more it appeals.


i've heard previous objections from tv that this wasn't right for netbsd
because "system libraries belong in /usr/lib", or some such.  however,
this isn't necessarily going against that.  even if you consider that the
sparv9 directory isn't part of /usr/lib, the 32 bit libraries there are
system libraries anyway.

this would also allow the (sparc64 only) compat_netbsd32 run slightly
faster due to alternate path checks never been required.


does anyone have any useful comments to add?