diff -ur linux-109/fs/isofs/namei.c linux/fs/isofs/namei.c
--- linux-109/fs/isofs/namei.c	Sun Dec 12 21:26:43 1993
+++ linux/fs/isofs/namei.c	Sun Feb 15 12:46:24 1998
@@ -26,32 +26,28 @@
  */
 static int isofs_match(int len,const char * name, char * compare, int dlen)
 {
-	register int same __asm__("ax");
-	
-	if (!compare) return 0;
-	/* "" means "." ---> so paths like "/usr/lib//libc.a" work */
-	if (!len && (compare[0]==0) && (dlen==1))
-		return 1;
-	
-	if (compare[0]==0 && dlen==1 && len == 1)
-		compare = ".";
- 	if (compare[0]==1 && dlen==1 && len == 2) {
-		compare = "..";
-		dlen = 2;
-	};
+	if (!compare)
+		return 0;
+
+	/* check special "." and ".." files */
+	if (dlen == 1) {
+		/* "." */
+		if (compare[0] == 0) {
+			if (!len)
+				return 1;
+			compare = ".";
+		} else if (compare[0] == 1) {
+			compare = "..";
+			dlen = 2;
+		}
+	}
 #if 0
 	if (len <= 2) printk("Match: %d %d %s %d %d \n",len,dlen,compare,de->name[0], dlen);
 #endif
 	
 	if (dlen != len)
 		return 0;
-	__asm__("cld\n\t"
-		"repe ; cmpsb\n\t"
-		"setz %%al"
-		:"=a" (same)
-		:"0" (0),"S" ((long) name),"D" ((long) compare),"c" (len)
-		:"cx","di","si");
-	return same;
+	return !memcmp(name, compare, len);
 }
 
 /*