NetBSD Problem Report #26116

Received: (qmail 23057 invoked by uid 605); 29 Jun 2004 20:18:08 -0000
Message-Id: <200406291934.TAA00865@sopwith.solgatos.com>
Date: Tue, 29 Jun 2004 19:34:25 GMT
From: Dieter <netbsd@sopwith.solgatos.com>
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: netbsd@sopwith.solgatos.com
To: gnats-bugs@gnats.netbsd.org
Subject: osf1 emul needs fix to run netscape
X-Send-Pr-Version: 3.95

>Number:         26116
>Category:       port-alpha
>Synopsis:       netscape does not run due to unimplemented osf1 system calls
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-alpha-maintainer
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 29 20:19:00 +0000 2004
>Closed-Date:    Mon Jun 10 06:41:12 +0000 2019
>Last-Modified:  Mon Jun 10 06:41:12 +0000 2019
>Originator:     Dieter
>Release:        NetBSD 1.6.2
>Organization:

>Environment:


System: NetBSD sopwith.uucp 1.6.2 NetBSD 1.6.2 (ALPHA-$Revision: 1.4 $) #11: Tue Jun 29 12:05:05 PDT 2004 root@sopwith.uucp:/usr/src/sys/arch/alpha/compile/SOPWITH alpha
Architecture: alpha
Machine: alpha
>Description:
	Netscape does not run due to unimplemented osf1 system calls.
Appariently it does run for some people, but not for others?
>How-To-Repeat:
	Attempt to run a Digital Unix version of Netscape on an Alpha.
It dies.  ktrace(1) is helpful.
>Fix:

===================================================================
RCS file: RCS/osf1_syscall.h,v
retrieving revision 1.1
diff -r1.1 osf1_syscall.h
360a361,369
> /* syscall: "msgget" ret: "int" args: "key_t" "int" */
> #define       OSF1_SYS_msgget 201
> 
> /* syscall: "msgrcv" ret: "int" args: "int" "void *" "size_t" "int" */
> #define       OSF1_SYS_msgrcv 202
> 
> /* syscall: "msgsnd" ret: "int" args: "int" "void *" "size_t" "int" */
> #define       OSF1_SYS_msgsnd 203
> 

===================================================================
RCS file: RCS/osf1_syscallargs.h,v
retrieving revision 1.1
diff -r1.1 osf1_syscallargs.h
483a484,488
> 
> int   sys_msgget      __P((struct proc *, void *, register_t *));
> int   sys_msgrcv      __P((struct proc *, void *, register_t *));
> int   sys_msgsnd      __P((struct proc *, void *, register_t *));
> 

===================================================================
RCS file: RCS/osf1_syscalls.c,v
retrieving revision 1.1
diff -r1.1 osf1_syscalls.c
229,231c229,231
< 	"#201 (unimplemented msgget)",		/* 201 = unimplemented msgget */
< 	"#202 (unimplemented msgrcv)",		/* 202 = unimplemented msgrcv */
< 	"#203 (unimplemented msgsnd)",		/* 203 = unimplemented msgsnd */
---
> 	"msgget",		/* 201 = msgget */
> 	"msgrcv",		/* 202 = msgrcv */
> 	"msgsnd",		/* 203 = msgsnd */

===================================================================
RCS file: RCS/osf1_sysent.c,v
retrieving revision 1.1
diff -r1.1 osf1_sysent.c
430,435c430,435
< 	{ 0, 0, 0,
< 	    sys_nosys },			/* 201 = unimplemented msgget */
< 	{ 0, 0, 0,
< 	    sys_nosys },			/* 202 = unimplemented msgrcv */
< 	{ 0, 0, 0,
< 	    sys_nosys },			/* 203 = unimplemented msgsnd */
---
> 	{ 2, s(struct sys_msgget_args), 0,
> 	    sys_msgget },			/* 201 = msgget */
> 	{ 4, s(struct sys_msgrcv_args), 0,
> 	    sys_msgrcv },			/* 202 = msgrcv */
> 	{ 4, s(struct sys_msgsnd_args), 0,
> 	    sys_msgsnd },			/* 203 = msgsnd */

===================================================================
RCS file: RCS/syscalls.master,v
retrieving revision 1.1
diff -r1.1 syscalls.master
316,318c316,318
< 201	UNIMPL		msgget
< 202	UNIMPL		msgrcv
< 203	UNIMPL		msgsnd
---
> 201	NOARGS		{ int sys_msgget(key_t key, int msgflg); }
> 202	NOARGS		{ int sys_msgrcv(int msqid, void *msgp, size_t msgsz, int msgflg); }
> 203	NOARGS		{ int sys_msgsnd(int msqid, void *msgp, size_t msgsz, int msgflg); }


>Release-Note:
>Audit-Trail:

From: kpneal@pobox.com
To: gnats-bugs@netbsd.org
Cc: Dieter <netbsd@sopwith.solgatos.com>, port-alpha@netbsd.org
Subject: Re: port-alpha/26116
Date: Mon, 5 Jul 2004 15:21:49 -0400

 On Tue, Jun 29, 2004 at 07:34:25PM +0000, Dieter wrote:
 > 
 > >Number:         26116
 > >Category:       port-alpha
 > >Synopsis:       netscape does not run due to unimplemented osf1 system calls

 This is a duplicate of port-alpha/16468, filed by me (with patches)
 Tue Apr 23 19:22:00 PDT 2002. I patched 1.5.2 and supplied updates for
 1.6. My patches are more extensive and take into account things like 
 kernel config files that don't include SYSVMSG (and friends).

 I would greatly appreciate it if someone would either commit or reject
 with reason my patches. I don't see the point of having the same problems
 fixed over and over again by a variety of people.

 Pretty please?
 -- 
 Kevin P. Neal                                http://www.pobox.com/~kpn/

  "Good grief, I've just noticed I've typed in a rant. Sorry chaps!"
                             Keir Finlow Bates, circa 1998

From: christos@zoulas.com (by way of Erik E. Fair)
To: NetBSD GNATS Problem Report Tracking System <gnats-bugs@gnats.netbsd.org>
Cc:  
Subject: Re: port-alpha/26116
Date: Mon, 5 Jul 2004 17:34:35 -0700

 In article <20040705192149.GA20713@neutralgood.org>,  <kpneal@pobox.com> wrote:
 >On Tue, Jun 29, 2004 at 07:34:25PM +0000, Dieter wrote:
 >>
 >>  >Number:         26116
 >>  >Category:       port-alpha
 >>  >Synopsis:       netscape does not run due to unimplemented osf1 
 >>system calls
 >
 >This is a duplicate of port-alpha/16468, filed by me (with patches)
 >Tue Apr 23 19:22:00 PDT 2002. I patched 1.5.2 and supplied updates for
 >1.6. My patches are more extensive and take into account things like
 >kernel config files that don't include SYSVMSG (and friends).
 >
 >I would greatly appreciate it if someone would either commit or reject
 >with reason my patches. I don't see the point of having the same problems
 >fixed over and over again by a variety of people.
 >
 >Pretty please?

 1. The code defined osf1_u_int, your new defines for unsigned long and unsigned
     short define osf1_ulong and osf1_ushort which is inconsistent. Either all
     of them should have an underscore or none.

 2. What about secinfo_t? Don't you need the space for a pointer anyway, even
     though you are not going to fill it up? How about setting it to NULL?

 3. No space before ( in function defs. Should all be ansi prototypes anyway.

 4. The names of the conversion functions are not consistent.

 5. Why define all the functions when most of them just return ENOSYS?

 6. Are the arguments really different, so that they need special structs,
     and we can't just re-use the NetBSD syscalls?

 christos
State-Changed-From-To: open->closed
State-Changed-By: maxv@NetBSD.org
State-Changed-When: Mon, 10 Jun 2019 06:41:12 +0000
State-Changed-Why:
Duplicate of 16468, closed because compat_osf1 was removed several months ago.
Close this PR for the same reason...


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.