Date: Sun, 27 Aug 2000 19:21:19 -0700
From: Marcel Moolenaar <marcel@cup.hp.com>
To: Sean-Paul Rees <sean@seanrees.com>
Cc: current@FreeBSD.org, gdinolt@pacbell.net
Subject: Broken definition for {g|s}etrlimit
Message-ID: <39A9CC9F.5ED2A6E4@cup.hp.com>
References: <39A9AD36.D3CAECDA@pacbell.net> <39A9B127.42C609B3@cup.hp.com> <20000827172728.A80939@seanrees.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Sean-Paul Rees wrote:
>
> On Sun, Aug 27, 2000 at 05:24:07PM -0700, Marcel Moolenaar wrote:
> > "George W. Dinolt" wrote:
> > >
> > > I was wondering whether the setrlimit changes had something to do with
> > > this. This seems to be the major change to the linux code in the last
> > > few days. Apparently you were the one to make those changes, so I am
> > > writing to you (Marcel)
> >
> > Can you track down which change caused the failure. I haven't
> > experienced any problems so far. I'll try running SO myself in the mean
> > time.
>
> I'm also running -current, however, StarOffice will barely even run! It seems
> that all the Linux apps on -current run at about 1/10th their speed. It was
> unbearable (and also unusable).
>
> This has been happening to me for the last few builds of -current. Maybe I'm
> doing something wrong or need to reinstall something. Can you offer any
> pointers?
It seems that the recent change to {g|s}etrlimit hit upon a bug in the
FreeBSD syscall definition. Can you tell me if the following patch
solves the problem?
(don't forget to run 'make sysent.c' in /sys/kern before running config)
Index: syscalls.master
===================================================================
RCS file: /home/ncvs/src/sys/kern/syscalls.master,v
retrieving revision 1.81
diff -u -r1.81 syscalls.master
--- syscalls.master 2000/07/29 10:05:23 1.81
+++ syscalls.master 2000/08/28 01:48:38
@@ -223,8 +223,8 @@
141 COMPAT BSD { int getpeername(int fdes, caddr_t asa, int
*alen); }
142 COMPAT BSD { long gethostid(void); }
143 COMPAT BSD { int sethostid(long hostid); }
-144 COMPAT BSD { int getrlimit(u_int which, struct ogetrlimit
*rlp); }
-145 COMPAT BSD { int setrlimit(u_int which, struct ogetrlimit
*rlp); }
+144 COMPAT BSD { int getrlimit(u_int which, struct orlimit
*rlp); }
+145 COMPAT BSD { int setrlimit(u_int which, struct orlimit
*rlp); }
146 COMPAT BSD { int killpg(int pgid, int signum); }
147 STD POSIX { int setsid(void); }
148 STD BSD { int quotactl(char *path, int cmd, int uid, \
@@ -294,10 +294,10 @@
192 STD POSIX { int fpathconf(int fd, int name); }
193 UNIMPL NOHIDE nosys
194 STD BSD { int getrlimit(u_int which, \
- struct orlimit *rlp); } \
+ struct rlimit *rlp); } \
getrlimit __getrlimit_args int
195 STD BSD { int setrlimit(u_int which, \
- struct orlimit *rlp); } \
+ struct rlimit *rlp); } \
setrlimit __setrlimit_args int
196 STD BSD { int getdirentries(int fd, char *buf, u_int
count, \
long *basep); }
--
Marcel Moolenaar
mail: marcel@cup.hp.com / marcel@FreeBSD.org
tel: (408) 447-4222
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39A9CC9F.5ED2A6E4>
