Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/arch/powerpc/string Fix some bugs introduced when s...



details:   https://anonhg.NetBSD.org/src/rev/53524a61d55f
branches:  trunk
changeset: 761035:53524a61d55f
user:      matt <matt%NetBSD.org@localhost>
date:      Wed Jan 19 02:47:01 2011 +0000

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

diffstat:

 lib/libc/arch/powerpc/string/bzero.S |  17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diffs (60 lines):

diff -r 64a1960383fa -r 53524a61d55f lib/libc/arch/powerpc/string/bzero.S
--- a/lib/libc/arch/powerpc/string/bzero.S      Wed Jan 19 02:25:17 2011 +0000
+++ b/lib/libc/arch/powerpc/string/bzero.S      Wed Jan 19 02:47:01 2011 +0000
@@ -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 <mjl%NetBSD.org@localhost>
@@ -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 */
+               mflr    %r9
 #ifdef PIC
-               mflr    %r9
                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



Home | Main Index | Thread Index | Old Index