patch-2.3.48 linux/arch/mips/lib/strlen_user.S

Next file: linux/arch/mips/lib/strncpy_user.S
Previous file: linux/arch/mips/lib/rtc-std.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.47/linux/arch/mips/lib/strlen_user.S linux/arch/mips/lib/strlen_user.S
@@ -1,13 +1,11 @@
-/*
- * arch/mips/lib/strlen_user.S
+/* $Id: strlen_user.S,v 1.4 1999/12/04 03:59:00 ralf Exp $
  *
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
- * Copyright (c) 1996, 1998 by Ralf Baechle
- *
- * $Id: strlen_user.S,v 1.2 1998/05/04 09:12:54 ralf Exp $
+ * Copyright (c) 1996, 1998, 1999 by Ralf Baechle
+ * Copyright (c) 1999 Silicon Graphics, Inc.
  */
 #include <asm/asm.h>
 #include <asm/offset.h>
@@ -25,24 +23,23 @@
  *
  * Return 0 for error
  */
-LEAF(__strlen_user_nocheck_asm)
-	lw	v0, THREAD_CURDS($28)			# pointer ok?
-	subu	v0, zero, v0
+LEAF(__strlen_user_asm)
+	lw	v0, THREAD_CURDS($28)	# pointer ok?
 	and	v0, a0
-	nor	v0, zero, v0
-	beqz	v0, fault
-EXPORT(__strlen_user_asm)
-	move		v0, a0
+	bltz	v0, fault
+
+EXPORT(__strlen_user_nocheck_asm)
+	move	v0, a0
 1:	EX(lb, t0, (v0), fault)
-	LONG_ADDIU	v0, 1
-	bnez		t0, 1b
-	LONG_SUBU	v0, a0
-	jr		ra
+	addiu	v0, 1
+	bnez	t0, 1b
+	subu	v0, a0
+	jr	ra
 	END(__strlen_user_nocheck_asm)
 
-	.section	__ex_table,"a"
-	PTR		1b, fault
+	.section __ex_table,"a"
+	PTR	1b, fault
 	.previous
 
-fault:	move		v0, zero
-	jr		ra
+fault:	move	v0, zero
+	jr	ra

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)