: First they are broken for kernels after the early 1.1.80's so stick with
: 1.1.80 or prior. You can get the module from tsx-11.mit.edu:/pub/linux/BETA/ibcs2.
If you use this patch against the ibcs941209 it'll compile and work well.
There are no removed sockets and I know WP 5.1 works fine under X-windows
(xwp) and also the text wp works fine as well.
Part of these patches come from Brandon (the socket stuff, mine was flawed)
and the other problem was a missing include.
diff -u --recursive --new-file /root/tmp/ibcs/binfmt_elf.c /root/ibcs/binfmt_elf.c
--- /root/tmp/ibcs/binfmt_elf.c Thu Dec 8 05:56:31 1994
mpnt->vm_task = current;
mpnt->vm_start = PAGE_MASK & (unsigned long) p;
mpnt->vm_end = TASK_SIZE;
- mpnt->vm_page_prot = PAGE_PRIVATE|PAGE_DIRTY;
+/* mpnt->vm_page_prot = PAGE_COPY; */
#ifdef VM_STACK_FLAGS
mpnt->vm_flags = VM_STACK_FLAGS;
mpnt->vm_pte = 0;
diff -u --recursive --new-file /root/tmp/ibcs/bsdioctl.c /root/ibcs/bsdioctl.c
--- /root/tmp/ibcs/bsdioctl.c Thu Dec 8 05:56:33 1994
#include <ibcs/ibcs.h>
#include <ibcs/bsd.h>
+#include <linux/mm.h>
#ifdef IBCS_TRACE
#include <ibcs/trace.h>
diff -u --recursive --new-file /root/tmp/ibcs/bsdstat.c /root/ibcs/bsdstat.c
--- /root/tmp/ibcs/bsdstat.c Thu Dec 8 05:56:34 1994
#include <linux/kernel.h>
#include <ibcs/bsd.h>
+#include <linux/mm.h>
#include <ibcs/ibcs.h>
diff -u --recursive --new-file /root/tmp/ibcs/ioctl.c /root/ibcs/ioctl.c
--- /root/tmp/ibcs/ioctl.c Thu Dec 8 05:56:39 1994
#include <ibcs/ibcs.h>
#include <ibcs/bsd.h>
+#include <linux/mm.h>
#ifdef IBCS_TRACE
#include <ibcs/trace.h>
diff -u --recursive --new-file /root/tmp/ibcs/map.c /root/ibcs/map.c
--- /root/tmp/ibcs/map.c Thu Dec 8 05:56:42 1994
#include <ibcs/socket.h>
#include <ibcs/map.h>
+#include <linux/errno.h>
#ifndef NULL
#define NULL ((void *)0)
diff -u --recursive --new-file /root/tmp/ibcs/secureware.c /root/ibcs/secureware.c
--- /root/tmp/ibcs/secureware.c Thu Dec 8 05:56:44 1994
#include <linux/kernel.h>
#include <linux/sched.h>
#include <ibcs/ibcs.h>
+#include <linux/errno.h>
#ifdef IBCS_TRACE
#include <ibcs/trace.h>
diff -u --recursive --new-file /root/tmp/ibcs/socksys.c /root/ibcs/socksys.c
--- /root/tmp/ibcs/socksys.c Thu Dec 8 05:56:47 1994
#include <ibcs/ibcs.h>
#include <ibcs/map.h>
+#include <linux/mm.h>
#ifndef CONFIG_BINFMT_IBCS
if ((error = verify_area(VERIFY_WRITE, (char *)arg, sizeof(struct sockaddr))))
return error;
- if (!inode->i_socket)
+ if (!inode->i_sock)
return -ENOTSOCK;
old_fs = get_fs();
set_fs (get_ds());
- error = inode->i_socket->ops->getname(inode->i_socket,
+ error = inode->u.socket_i.ops->getname(&inode->u.socket_i,
&uaddr, &uaddr_len, 1);
set_fs(old_fs);
static void
socksys_close(struct inode *ino, struct file *filep)
{
- if (ino && ino->i_socket)
+ if (ino && ino->i_sock)
sock_close(ino, filep);
#ifdef IBCS_TRACE
diff -u --recursive --new-file /root/tmp/ibcs/stat.c /root/ibcs/stat.c
--- /root/tmp/ibcs/stat.c Thu Dec 8 05:56:47 1994
#include <linux/fs.h>
#include <linux/sched.h>
#include <linux/kernel.h>
-
+#include <linux/mm.h>
#include <ibcs/ibcs.h>
/*
* Believe it or not, the original stat structure is compatible with ibcs2.
diff -u --recursive --new-file /root/tmp/ibcs/xstat.c /root/ibcs/xstat.c
--- /root/tmp/ibcs/xstat.c Thu Dec 8 05:56:54 1994
#include <linux/sys.h>
#include <ibcs/ibcs.h>
#include <ibcs/abi4.h>
+#include <linux/mm.h>
/*
* The xstat interface is used by SVr4, and is effectively an extension
--