Apply by doing
       cd /sys/compat/svr4
       patch -p0 < compat_linux.patch

And then rebuild your kernel.

Index: svr4_misc.c
===================================================================
RCS file: /cvs/src/sys/compat/svr4/svr4_misc.c,v
retrieving revision 1.13
diff -u -r1.13 svr4_misc.c
--- svr4_misc.c 1997/10/06 20:19:35     1.13
+++ svr4_misc.c 1998/01/03 06:41:23
@@ -1,4 +1,4 @@
-/*     $OpenBSD: svr4_misc.c,v 1.13 1997/10/06 20:19:35 deraadt Exp $   */
+/*     $OpenBSD: svr4_misc.c,v 1.18 1997/12/02 00:07:04 deraadt Exp $   */
/*     $NetBSD: svr4_misc.c,v 1.42 1996/12/06 03:22:34 christos Exp $   */

/*
@@ -48,6 +48,7 @@
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
+#include <sys/ktrace.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/resource.h>
@@ -742,7 +743,7 @@
               return 0;

       default:
-               return ENOSYS;
+               return EINVAL;
       }
}

@@ -1284,6 +1285,18 @@
}

int
+svr4_sys_auditsys(p, v, retval)
+       register struct proc *p;
+       void *v;
+       register_t *retval;
+{
+       /*
+        * XXX: Big brother is *not* watching.
+        */
+       return 0;
+}
+
+int
svr4_sys_memcntl(p, v, retval)
       register struct proc *p;
       void *v;
@@ -1321,4 +1334,38 @@
               return error;

       return 0;
+}
+
+/* ARGSUSED */
+int
+svr4_sys_setegid(p, v, retval)
+        struct proc *p;
+        void *v;
+        register_t *retval;
+{
+        struct sys_setegid_args /* {
+                syscallarg(gid_t) egid;
+        } */ *uap = v;
+
+#if defined(COMPAT_LINUX) && defined(i386)
+       if (SCARG(uap, egid) > 60000) {
+               /*
+                * One great fuckup deserves another.  The Linux people
+                * made this their personality system call.  But we can't
+                * tell if a binary is SVR4 or Linux until they do that
+                * system call, in some cases.  So when we get it, and the
+                * value is out of some magical range, switch to Linux
+                * emulation and pray.
+                */
+               extern struct emul emul_linux_elf;
+
+               p->p_emul = &emul_linux_elf;
+#ifdef KTRACE
+               if (KTRPOINT(p, KTR_EMUL))
+                       ktremul(p->p_tracep, p->p_emul->e_name);
+#endif
+               return (0);
+       }
+#endif
+        return sys_setegid(p, v, retval);
}
Index: svr4_syscall.h
===================================================================
RCS file: /cvs/src/sys/compat/svr4/svr4_syscall.h,v
retrieving revision 1.19
diff -u -r1.19 svr4_syscall.h
--- svr4_syscall.h      1997/08/29 20:45:26     1.19
+++ svr4_syscall.h      1998/01/03 06:36:01
@@ -2,7 +2,7 @@
 * System call numbers.
 *
 * DO NOT EDIT-- this file is automatically generated.
- * created from        OpenBSD: syscalls.master,v 1.18 1997/08/29 20:44:26 kstailey Exp
+ * created from        OpenBSD: syscalls.master,v 1.21 1997/12/09 10:59:50 deraadt Exp
 */

#define        SVR4_SYS_syscall        0
@@ -123,6 +123,7 @@
#define        SVR4_SYS_pread  173
#define        SVR4_SYS_pwrite 174
#define        SVR4_SYS_acl    185
+#define        SVR4_SYS_auditsys       186
#define        SVR4_SYS_clock_gettime  191
#define        SVR4_SYS_clock_settime  192
#define        SVR4_SYS_clock_getres   193
Index: svr4_syscallargs.h
===================================================================
RCS file: /cvs/src/sys/compat/svr4/svr4_syscallargs.h,v
retrieving revision 1.19
diff -u -r1.19 svr4_syscallargs.h
--- svr4_syscallargs.h  1997/08/29 20:45:26     1.19
+++ svr4_syscallargs.h  1998/01/03 06:36:01
@@ -2,7 +2,7 @@
 * System call argument lists.
 *
 * DO NOT EDIT-- this file is automatically generated.
- * created from        OpenBSD: syscalls.master,v 1.18 1997/08/29 20:44:26 kstailey Exp
+ * created from        OpenBSD: syscalls.master,v 1.21 1997/12/09 10:59:50 deraadt Exp
 */

#define        syscallarg(x)   union { x datum; register_t pad; }
@@ -296,6 +296,10 @@
       syscallarg(int) dummy;
};

+struct svr4_sys_setegid_args {
+       syscallarg(gid_t) egid;
+};
+
struct svr4_sys_sysconfig_args {
       syscallarg(int) name;
};
@@ -340,6 +344,15 @@
       syscallarg(struct svr4_aclent *) buf;
};

+struct svr4_sys_auditsys_args {
+       syscallarg(int) code;
+       syscallarg(int) a1;
+       syscallarg(int) a2;
+       syscallarg(int) a3;
+       syscallarg(int) a4;
+       syscallarg(int) a5;
+};
+
struct svr4_sys_facl_args {
       syscallarg(int) fd;
       syscallarg(int) cmd;
@@ -463,7 +476,7 @@
int    svr4_sys_memcntl        __P((struct proc *, void *, register_t *));
int    sys_rename      __P((struct proc *, void *, register_t *));
int    svr4_sys_uname  __P((struct proc *, void *, register_t *));
-int    sys_setegid     __P((struct proc *, void *, register_t *));
+int    svr4_sys_setegid        __P((struct proc *, void *, register_t *));
int    svr4_sys_sysconfig      __P((struct proc *, void *, register_t *));
int    sys_adjtime     __P((struct proc *, void *, register_t *));
int    svr4_sys_systeminfo     __P((struct proc *, void *, register_t *));
@@ -477,6 +490,7 @@
int    svr4_sys_pread  __P((struct proc *, void *, register_t *));
int    svr4_sys_pwrite __P((struct proc *, void *, register_t *));
int    svr4_sys_acl    __P((struct proc *, void *, register_t *));
+int    svr4_sys_auditsys       __P((struct proc *, void *, register_t *));
int    sys_clock_gettime       __P((struct proc *, void *, register_t *));
int    sys_clock_settime       __P((struct proc *, void *, register_t *));
int    sys_clock_getres        __P((struct proc *, void *, register_t *));
Index: svr4_syscalls.c
===================================================================
RCS file: /cvs/src/sys/compat/svr4/svr4_syscalls.c,v
retrieving revision 1.19
diff -u -r1.19 svr4_syscalls.c
--- svr4_syscalls.c     1997/08/29 20:45:27     1.19
+++ svr4_syscalls.c     1998/01/03 06:36:01
@@ -2,7 +2,7 @@
 * System call names.
 *
 * DO NOT EDIT-- this file is automatically generated.
- * created from        OpenBSD: syscalls.master,v 1.18 1997/08/29 20:44:26 kstailey Exp
+ * created from        OpenBSD: syscalls.master,v 1.21 1997/12/09 10:59:50 deraadt Exp
 */

char *svr4_syscallnames[] = {
@@ -208,7 +208,7 @@
       "#183 (unimplemented)",         /* 183 = unimplemented */
       "#184 (unimplemented tsolsys)",         /* 184 = unimplemented tsolsys */
       "acl",                  /* 185 = acl */
-       "#186 (unimplemented auditsys)",                /* 186 = unimplemented auditsys */
+       "auditsys",                     /* 186 = auditsys */
       "#187 (unimplemented processor_bind)",          /* 187 = unimplemented processor_bind */
       "#188 (unimplemented processor_info)",          /* 188 = unimplemented processor_info */
       "#189 (unimplemented p_online)",                /* 189 = unimplemented p_online */
Index: syscalls.master
===================================================================
RCS file: /cvs/src/sys/compat/svr4/syscalls.master,v
retrieving revision 1.18
diff -u -r1.18 syscalls.master
--- syscalls.master     1997/08/29 20:44:26     1.18
+++ syscalls.master     1998/01/03 06:36:01
@@ -1,4 +1,4 @@
-       $OpenBSD: syscalls.master,v 1.18 1997/08/29 20:44:26 kstailey Exp $
+       $OpenBSD: syscalls.master,v 1.21 1997/12/09 10:59:50 deraadt Exp $
;      $NetBSD: syscalls.master,v 1.17 1996/02/10 17:12:51 christos Exp $

;      @(#)syscalls.master     8.1 (Berkeley) 7/19/93
@@ -234,7 +234,7 @@
134    NOARGS          { int sys_rename(char *from, char *to); }
135    STD             { int svr4_sys_uname(struct svr4_utsname* name, \
                           int dummy); }
-136    NOARGS          { int sys_setegid(gid_t egid); }
+136    STD             { int svr4_sys_setegid(gid_t egid); }
137    STD             { int svr4_sys_sysconfig(int name); }
138    NOARGS          { int sys_adjtime(struct timeval *delta, \
                           struct timeval *olddelta); }
@@ -292,7 +292,8 @@
184    UNIMPL          tsolsys
185    STD             { int svr4_sys_acl(char *path, int cmd, int num, \
                           struct svr4_aclent *buf); }
-186    UNIMPL          auditsys
+186    STD             { int svr4_sys_auditsys(int code, int a1, int a2, \
+                           int a3, int a4, int a5); }
187    UNIMPL          processor_bind
188    UNIMPL          processor_info
189    UNIMPL          p_online