svn commit: r195584 - projects/mips/sys/mips/mips

Warner Losh imp at FreeBSD.org
Fri Jul 10 19:09:35 UTC 2009


Author: imp
Date: Fri Jul 10 19:09:34 2009
New Revision: 195584
URL: http://svn.freebsd.org/changeset/base/195584

Log:
  Use PTR_* macros for pointers, and not potentially mips64 unsafe
  operations.

Modified:
  projects/mips/sys/mips/mips/copystr.S

Modified: projects/mips/sys/mips/mips/copystr.S
==============================================================================
--- projects/mips/sys/mips/mips/copystr.S	Fri Jul 10 19:08:48 2009	(r195583)
+++ projects/mips/sys/mips/mips/copystr.S	Fri Jul 10 19:09:34 2009	(r195584)
@@ -67,13 +67,13 @@ ENTRY(copystr)
 	move	v0, zero
 	beqz	a2, 2f
 	move	t1, zero
-1:	subu	a2, 1
+1:	subu	a2, 1			/*XXX mips64 unsafe -- long */
 	lbu	t0, 0(a0)
-	addu	a0, 1
+	PTR_ADDU a0, 1
 	sb	t0, 0(a1)
-	addu	a1, 1
+	PTR_ADDU a1, 1
 	beqz	t0, 3f /* NULL  - end of string*/
-	addu	t1, 1
+	addu	t1, 1			/*XXX mips64 unsafe -- long */
 	bnez	a2, 1b
 	nop
 2:	/* ENAMETOOLONG */
@@ -81,7 +81,7 @@ ENTRY(copystr)
 3:	/* done != NULL -> how many bytes were copied */
 	beqz	a3, 4f
 	nop
-	sw	t1, 0(a3)
+	sw	t1, 0(a3)		/*XXX mips64 unsafe -- long */
 4:	jr	ra
 	nop
 	.set reorder
@@ -100,25 +100,25 @@ LEAF(copyinstr)
 	.set noat
 	lw	t2, pcpup
 	lw	v1, PC_CURPCB(t2)
-	la	v0, _C_LABEL(copystrerr)
+	PTR_LA	v0, _C_LABEL(copystrerr)
 	blt	a0, zero, _C_LABEL(copystrerr)
 	sw	v0, PCB_ONFAULT(v1)
 	move	t0, a2
 	beq	a2, zero, 4f
 1:
 	lbu	v0, 0(a0)
-	subu	a2, a2, 1
+	subu	a2, a2, 1		/*xxx mips64 unsafe -- long */
 	beq	v0, zero, 2f
 	sb	v0, 0(a1)
-	addu	a0, a0, 1
+	PTR_ADDU a0, a0, 1
 	bne	a2, zero, 1b
-	addu	a1, a1, 1
+	PTR_ADDU a1, a1, 1
 4:
 	li	v0, ENAMETOOLONG
 2:
 	beq	a3, zero, 3f
-	subu	a2, t0, a2
-	sw	a2, 0(a3)
+	subu	a2, t0, a2		/*xxx mips64 unsafe -- long */
+	sw	a2, 0(a3)		/*xxx mips64 unsafe -- long */
 3:
 	j	ra				# v0 is 0 or ENAMETOOLONG
 	sw	zero, PCB_ONFAULT(v1)
@@ -138,25 +138,25 @@ LEAF(copyoutstr)
 	.set noat
 	lw	t2, pcpup
 	lw	v1, PC_CURPCB(t2)
-	la	v0, _C_LABEL(copystrerr)
+	PTR_LA	v0, _C_LABEL(copystrerr)
 	blt	a1, zero, _C_LABEL(copystrerr)
 	sw	v0, PCB_ONFAULT(v1)
 	move	t0, a2
 	beq	a2, zero, 4f
 1:
 	lbu	v0, 0(a0)
-	subu	a2, a2, 1
+	subu	a2, a2, 1		/*xxx mips64 unsafe -- long */
 	beq	v0, zero, 2f
 	sb	v0, 0(a1)
-	addu	a0, a0, 1
+	PTR_ADDU a0, a0, 1
 	bne	a2, zero, 1b
-	addu	a1, a1, 1
+	PTR_ADDU a1, a1, 1
 4:
 	li	v0, ENAMETOOLONG
 2:
 	beq	a3, zero, 3f
-	subu	a2, t0, a2
-	sw	a2, 0(a3)
+	subu	a2, t0, a2		/*xxx mips64 unsafe -- long */
+	sw	a2, 0(a3)		/*xxx mips64 unsafe -- long */
 3:
 	j	ra				# v0 is 0 or ENAMETOOLONG
 	sw	zero, PCB_ONFAULT(v1)


More information about the svn-src-projects mailing list