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]