Index: linux-user/syscall.c
===================================================================
--- linux-user/syscall.c.orig	2008-04-24 20:15:46.000000000 +0100
+++ linux-user/syscall.c	2008-04-24 20:15:59.000000000 +0100
@@ -250,6 +250,7 @@
 extern int setresgid(gid_t, gid_t, gid_t);
 extern int getresgid(gid_t *, gid_t *, gid_t *);
 extern int setgroups(int, gid_t *);
+extern int uselib(const char*);
 
 #define ERRNO_TABLE_SIZE 1200
 
@@ -4041,7 +4042,8 @@
 #endif
 #ifdef TARGET_NR_uselib
     case TARGET_NR_uselib:
-        goto unimplemented;
+        ret = get_errno(uselib(path((const char*)arg1)));
+        break;
 #endif
 #ifdef TARGET_NR_swapon
     case TARGET_NR_swapon: