Subject: Re: SunOS 4 shared libraries from Solaris 7 cdrom
To: None <abs@mono.org>
From: Brad Spencer <brad@anduin.eldar.org>
List: port-sparc
Date: 11/12/1999 17:28:12
	   The SUNWbcp package is for running SunOS 4 binaries under
	   Solaris 7 - so will make Solaris 7 syscalls :)

	   That would equate to a compat_sunos_via_svr4 manpage :)

		   David/absolute

   On Thu, 11 Nov 1999, matthew green wrote:

   > 
   > 
   > huh.  syscall 28 in sunos is *old* fstat -- the current sunos
   > fstat is a different syscall (62 and already supported).  any
   > one know what, exactly, is causing this?  solaris fstat is
   > syscall 28...
   > 




Yes, this appears to be the case.  For those who might care,

SunOS 5 emulation of SunOS 4 binaries [at least those with shared
libaries] seem to work by providing an alternative /usr/lib/ld.so that,
among other things, mmaps in /usr/lib/ld.so.1 and others.  These mapped
libraries appear to be Sparc ELF and appear to use SVR4 system calls.  I
suspect that /usr/4lib/libc.so.1.9, for example, maps the various SunOS 4
functions into the SunOS 5 world, which is how it gets most of the
binaries to behave correctly.  And it appears to be using the SVR4 system
calls to do this.  [Not suprising, I suppose, as there does not appear to
be an idea like /sys/compat in SunOS 5].

For NetBSB to be able to use /usr/4lib and friends from a Solaris 7 disk
[my initial test], I suspect one would have to convince NetBSD to use SVR4
system calls when trying to execute a SunOS 4 a.out binary [or at least
ones that use shared libraries].  As it stands now, because the binary
presents itself as SunOS 4 Sparc a.out, the emulation is setup to use the
SunOS 4 system calls, which of course, does not meld well when the
libraries want to use SVR4 system calls.


Thanks for all the comments.

Brad Spencer - brad@anduin.eldar.org   http://anduin.eldar.org
[finger brad@anduin.eldar.org for PGP public key]