Skip site navigation (1)Skip section navigation (2)
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>