diff -Naur -X exclude-files ac_clean/arch/um/sys-i386/Makefile ac/arch/um/sys-i386/Makefile
--- ac_clean/arch/um/sys-i386/Makefile	Tue Apr 17 08:54:59 2001
+++ ac/arch/um/sys-i386/Makefile	Tue Apr 17 13:54:39 2001
@@ -1,6 +1,7 @@
 OBJ = sys.o
 
-OBJS = checksum.o ldt.o old-checksum.o ptrace.o semaphore.o sigcontext.o
+OBJS = checksum.o ldt.o old-checksum.o ptrace.o rwsem.o semaphore.o \
+	sigcontext.o
 OX_OBJS = ksyms.o
 
 USER_CFLAGS = $(patsubst -I%,,$(CFLAGS))
@@ -8,7 +9,7 @@
 
 CFLAGS += -I../include
 
-SYMLINKS = semaphore.c old-checksum.c checksum.S
+SYMLINKS = semaphore.c old-checksum.c checksum.S rwsem.S
 
 all: $(OBJ)
 
@@ -22,7 +23,7 @@
 ldt.o: ldt.c
 	$(CC) -D__KERNEL__ $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
 
-checksum.S old-checksum.c: 
+checksum.S old-checksum.c rwsem.S: 
 	-rm -f $@
 	-ln -s $(TOPDIR)/arch/i386/lib/$@ $@
 
diff -Naur -X exclude-files ac_clean/arch/um/sys-i386/ksyms.c ac/arch/um/sys-i386/ksyms.c
--- ac_clean/arch/um/sys-i386/ksyms.c	Tue Apr 17 08:54:59 2001
+++ ac/arch/um/sys-i386/ksyms.c	Tue Apr 17 10:26:17 2001
@@ -1,5 +1,6 @@
 #include "linux/module.h"
 #include "linux/in6.h"
+#include "linux/rwsem.h"
 #include "asm/byteorder.h"
 #include "asm/semaphore.h"
 #include "asm/uaccess.h"
@@ -10,8 +11,6 @@
 EXPORT_SYMBOL(__down_failed_interruptible);
 EXPORT_SYMBOL(__down_failed_trylock);
 EXPORT_SYMBOL(__up_wakeup);
-EXPORT_SYMBOL(__down_write_failed);
-EXPORT_SYMBOL(__down_read_failed);
 EXPORT_SYMBOL(__rwsem_wake);
 
 /* Networking helper routines. */
diff -Naur -X exclude-files ac_clean/include/asm-um/rwsem-spin.h ac/include/asm-um/rwsem-spin.h
--- ac_clean/include/asm-um/rwsem-spin.h	Wed Dec 31 19:00:00 1969
+++ ac/include/asm-um/rwsem-spin.h	Tue Apr 17 13:47:21 2001
@@ -0,0 +1,6 @@
+#ifndef __UM_RWSEM_SPIN_H__
+#define __UM_RWSEM_SPIN_H__
+
+#include "asm/arch/rwsem-spin.h"
+
+#endif
diff -Naur -X exclude-files ac_clean/include/asm-um/rwsem.h ac/include/asm-um/rwsem.h
--- ac_clean/include/asm-um/rwsem.h	Wed Dec 31 19:00:00 1969
+++ ac/include/asm-um/rwsem.h	Tue Apr 17 13:46:28 2001
@@ -0,0 +1,6 @@
+#ifndef __UM_RWSEM_H__
+#define __UM_RWSEM_H__
+
+#include "asm/arch/rwsem.h"
+
+#endif