Subject: Re: SunOS 4 shared libraries from Solaris 7 cdrom
To: None <port-sparc@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: port-sparc
Date: 11/11/1999 13:06:22
In article <199911110223.VAA28906@anduin.eldar.org>,
Brad Spencer <brad@anduin.eldar.org> wrote:
>
>Making note of the various messages lately about SunOS 4 shared libraries,
>I took a look at my Solaris 7 cd with the theory in mind that NetBSD seems
>to emulate nearly everyone.  It appears to contain some of the needed
>libraries, especially in the SUNWbcp package.  There is even a ld.so and
>ld.so.1 loader in usr/lib.  However, it drops core with an unimplemented
>system call.  The ktrace is:
>
> 26709 ktrace   RET   ktrace 0
> 26709 ktrace   CALL  execve(0xeffff73f,0xeffff6c8,0xeffff6d0)
> 26709 ktrace   NAMI  "./ldd"
> 26709 ldd      EMUL  "sunos"
> 26709 ldd      RET   execve JUSTRETURN
> 26709 ldd      CALL  open(0x21ec,0,0x3160)
> 26709 ldd      NAMI  "/emul/sunos/usr/lib/ld.so"
> 26709 ldd      NAMI  "/emul/sunos"
> 26709 ldd      NAMI  "/emul/sunos/usr/lib/ld.so"
> 26709 ldd      RET   open 3
> 26709 ldd      CALL  read(0x3,0xeffff64c,0x20)
> 26709 ldd      GIO   fd 3 read 32 bytes
>       "\M^A\^C\^A\v\0\0 \0\0\0 \0\0\0\0\0\0\0\^CT\0\0\0 \0\0\0\0\0\0\0\0"
> 26709 ldd      RET   read 32/0x20
> 26709 ldd      CALL  mmap(0,0x4000,0x5,0x80000002,0x3,0)
> 26709 ldd      RET   mmap 268500992/0x10010000
> 26709 ldd      CALL  mmap(0x10012000,0x2000,0x7,0x80000012,0x3,0x2000)
> 26709 ldd      RET   mmap 268509184/0x10012000
> 26709 ldd      CALL  open(0x21fb,0,0x7)
> 26709 ldd      NAMI  "/emul/sunos/dev/zero"
> 26709 ldd      NAMI  "/dev/zero"
> 26709 ldd      RET   open 4
> 26709 ldd      CALL  close(0x3)
> 26709 ldd      RET   close 0
> 26709 ldd      CALL  rmdir(0x6)
> 26709 ldd      RET   rmdir -1 errno 14 Bad address
> 26709 ldd      CALL  open(0x10012184,0,0x7)
> 26709 ldd      NAMI  "/emul/sunos/usr/lib/ld.so.1"
> 26709 ldd      NAMI  "/emul/sunos"
> 26709 ldd      NAMI  "/emul/sunos/usr/lib/ld.so.1"
> 26709 ldd      RET   open 3
> 26709 ldd      CALL  #28 (unimplemented sunos_fstat)
> 26709 ldd      PSIG  SIGSYS SIG_DFL
> 26709 ldd      NAMI  "ldd.core"
>
>Assuming that the it really did want system call 28, then the description
>is correct.  NetBSD does not emulate sunos_fstat.  I presume that someone
>knows the difference between this fstat and system call 62, the one that
>maps to compat_43_fstat.  Of course, there may certainly be other trouble,
>even if this particular one is delt with.  Another note...  system call 28
>in the SVR4 emulation is also a fstat call, don't know they are related.
>[calls 27-32 are the same ideas in sunos and svr4, so they are
>probably the same].
>
>I am not really sure how to fix this myself, or even if it is possible to
>make the libraries from the Solaris 7 disk work.  I can, however, test any
>patches that might become available.

I don't know what ld.so.1 is supposed to do, and I don't remember sunos
needing two dynamic linkers...

christos