Subject: Problems with NetBSD/sparc 1.1, shared memory and SunOS compatibility
To: None <netbsd-help@NetBSD.ORG, port-sparc@NetBSD.ORG, tech-kern@NetBSD.ORG>
From: Brian Buhrow <buhrow@cats.ucsc.edu>
List: netbsd-help
Date: 01/23/1996 18:12:45
Hello fellow NetBSD users. I just finished installing NetBSD/sparc
1.1 on an IPC workstation. The purpose of this execercise is to take
advantage of the extra debugging capabilities of NetBSD to debug Ingres for
SunOS. The particular piece of code in question takes advantage of shared
memory. The problem I'm having, however, is that even when I define
options SYSVSEM, SYSVSHM, and SYSVMSG, in GENERIC, and recompile from
scratch, I get the following from the application when I run it.
122 ktrace RET ktrace 0
122 ktrace CALL execve(0xf7fffa93,0xf7fffa38,0xf7fffa48)
122 ktrace NAMI "/usr/ingres/bin/lockctl"
122 lockctl EMUL "sunos"
122 lockctl RET execve 0
[cut out for brevity]
122 lockctl CALL #169 (unimplemented semsys)(0x1,0x4a000002,0x42,0x780,0x18800)
122 lockctl RET #169 (unimplemented semsys) -1 errno 22 Invalid argument
122 lockctl CALL writev(0x2,0xf7fff900,0x4)
122 lockctl GIO fd 2 wrote 40 bytes
"lockctl init KN_shmat: Invalid argument
"
122 lockctl RET writev 40/0x28
122 lockctl CALL close(0)
122 lockctl RET close 0
122 lockctl CALL close(0x1)
122 lockctl RET close 0
122 lockctl CALL close(0x2)
122 lockctl RET close 0
122 lockctl CALL close(0x3)
122 lockctl RET close 0
122 lockctl CALL exit(0x1)
It looks like this function is served by compat_10(osemsys) in
/usr/src/sys/compat/common/compat_ipc_10.c
which is called from
/usr/src/sys/compat/sunos/syscalls.c
all of which are surrounded by
#ifdef SYSVSEM
Which I have defined.
Can anyone shed some light on this mystery?
-thanks
-Brian