PERFORCE change 118357 for review

Oleksandr Tymoshenko gonzo at FreeBSD.org
Wed Apr 18 11:14:48 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=118357

Change 118357 by gonzo at gonzo_jeeves on 2007/04/18 11:14:28

	o Leave only REENTRANT version and call __error instead of
	    __errno.

Affected files ...

.. //depot/projects/mips2/src/lib/libc/mips/sys/cerror.S#3 edit
.. //depot/projects/mips2/src/lib/libc/mips/sys/ptrace.S#2 edit

Differences ...

==== //depot/projects/mips2/src/lib/libc/mips/sys/cerror.S#3 (text+ko) ====

@@ -39,8 +39,15 @@
 	ASMSTR("$NetBSD: cerror.S,v 1.13 2003/08/07 16:42:17 agc Exp $")
 #endif /* LIBC_SCCS and not lint */
 
-#ifdef _REENTRANT
-	.globl	_C_LABEL(__errno)
+
+	/*
+	 * The __error() function is thread aware. For non-threaded
+	 * programs and the initial threaded in threaded programs,
+	 * it returns a pointer to the global errno variable.
+	 */
+	.globl  _C_LABEL(__error)
+	.type   _C_LABEL(__error),%function
+
 LEAF(__cerror)
 	.frame sp, CALLFRAME_SIZ, ra
 	PIC_PROLOGUE(__cerror, t9)
@@ -49,7 +56,7 @@
 	sw	ra, CALLFRAME_RA(sp)
 	sw	v0, 12(sp)		# save errno value
 
-	la	t9, _C_LABEL(__errno)	# locate address of errno
+	la	t9, _C_LABEL(__error)	# locate address of errno
 	jalr	t9
 
 	lw	t0, 12(sp)
@@ -60,16 +67,3 @@
 	li	v1, -1
 	j	ra
 END(__cerror)
-#else		
-	.globl	_C_LABEL(errno)
-LEAF(__cerror)
-	.set	noreorder
-#ifdef __ABICALLS__
-	.cpload t9
-#endif
-	sw	v0, _C_LABEL(errno)
-	li	v0, -1
-	j	ra
-	li	v1, -1
-END(__cerror)
-#endif /* _REENTRANT */

==== //depot/projects/mips2/src/lib/libc/mips/sys/ptrace.S#2 (text+ko) ====

@@ -45,7 +45,9 @@
 	.cpload t9
 	.set    reorder
 #endif
-	sw	zero, _C_LABEL(errno)
+	la	t9, _C_LABEL(__error)	# locate address of errno
+	jalr	t9
+	sw	zero, 0(v0)
 	li	v0, SYS_ptrace
 	syscall
 	bne	a3, zero, 1f


More information about the p4-projects mailing list