Module Name:    src
Committed By:   matt
Date:           Wed Jan 19 02:47:01 UTC 2011

Modified Files:
        src/lib/libc/arch/powerpc/string: bzero.S

Log Message:
Fix some bugs introduced when switching to new GOT/PLT format.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libc/arch/powerpc/string/bzero.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/powerpc/string/bzero.S
diff -u src/lib/libc/arch/powerpc/string/bzero.S:1.9 src/lib/libc/arch/powerpc/string/bzero.S:1.10
--- src/lib/libc/arch/powerpc/string/bzero.S:1.9	Sun Jan 16 02:43:10 2011
+++ src/lib/libc/arch/powerpc/string/bzero.S	Wed Jan 19 02:47:01 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: bzero.S,v 1.9 2011/01/16 02:43:10 matt Exp $ */
+/*	$NetBSD: bzero.S,v 1.10 2011/01/19 02:47:01 matt Exp $ */
 
 /*-
  * Copyright (C) 2001	Martin J. Laubach <[email protected]>
@@ -32,7 +32,7 @@
 
 
 #if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: bzero.S,v 1.9 2011/01/16 02:43:10 matt Exp $")
+__RCSID("$NetBSD: bzero.S,v 1.10 2011/01/19 02:47:01 matt Exp $")
 #endif /* LIBC_SCCS && !lint */
 
 #ifdef _KERNEL
@@ -74,8 +74,8 @@
 /*----------------------------------------------------------------------*/
 #ifndef _KERNEL
 		/* First find out cache line size */
-#ifdef PIC
 		mflr	%r9
+#ifdef PIC
 		PIC_GOTSETUP(%r10)
 		mtlr	%r9
 		lwz	%r5,cache_info@got(%r10)
@@ -157,24 +157,27 @@
 		li	%r8, 0
 		bl	PIC_PLT(_C_LABEL(sysctl))
 1:
-		lwz	%r8, R8_SAVE(%r1)
 		lwz	%r3, R3_SAVE(%r1)
 		lwz	%r4, R4_SAVE(%r1)
+		lwz	%r8, R8_SAVE(%r1)
 		lwz	%r0, R0_SAVE(%r1)
 		lwz	%r9, 4(%r31)
 		lwz	%r31, R31_SAVE(%r1)
 #ifdef PIC
 		lwz	%r30, R30_SAVE(%r1)
 #endif
-		la	%r1, STKFRAME_SZ(%r1)
-		lwz	%r5, 4(%r1)
-		mtlr	%r5
+		addi	%r1, %r1, STKFRAME_SZ
+		lwz	%r0, 4(%r1)
+		mtlr	%r0
 
 		cntlzw	%r6, %r9			/* compute shift value */
 		li	%r5, 31
 		subf	%r5, %r6, %r5
 
 #ifdef PIC
+		mflr	%r9
+		PIC_GOTSETUP(%r10)
+		mtlr	%r9
 		lwz	%r6, cache_sh@got(%r10)
 		stw	%r5, 0(%r6)
 #else

Reply via email to