Author: kib
Date: Wed Aug  7 06:32:13 2013
New Revision: 254027
URL: http://svnweb.freebsd.org/changeset/base/254027

Log:
  MFC r253328:
  Create a proper stack frame for i386 version of bcopy().

Modified:
  stable/8/sys/i386/i386/support.s
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/i386/   (props changed)

Modified: stable/8/sys/i386/i386/support.s
==============================================================================
--- stable/8/sys/i386/i386/support.s    Wed Aug  7 06:23:28 2013        
(r254026)
+++ stable/8/sys/i386/i386/support.s    Wed Aug  7 06:32:13 2013        
(r254027)
@@ -193,11 +193,13 @@ END(bcopyb)
  *  w...@tools.de     (Wolfgang Solfrank, TooLs GmbH) +49-228-985800
  */
 ENTRY(bcopy)
+       pushl   %ebp
+       movl    %esp,%ebp
        pushl   %esi
        pushl   %edi
-       movl    12(%esp),%esi
-       movl    16(%esp),%edi
-       movl    20(%esp),%ecx
+       movl    8(%ebp),%esi
+       movl    12(%ebp),%edi
+       movl    16(%ebp),%ecx
 
        movl    %edi,%eax
        subl    %esi,%eax
@@ -208,12 +210,13 @@ ENTRY(bcopy)
        cld                                     /* nope, copy forwards */
        rep
        movsl
-       movl    20(%esp),%ecx
+       movl    16(%ebp),%ecx
        andl    $3,%ecx                         /* any bytes left? */
        rep
        movsb
        popl    %edi
        popl    %esi
+       popl    %ebp
        ret
 
        ALIGN_TEXT
@@ -226,7 +229,7 @@ ENTRY(bcopy)
        std
        rep
        movsb
-       movl    20(%esp),%ecx                   /* copy remainder by 32-bit 
words */
+       movl    16(%ebp),%ecx                   /* copy remainder by 32-bit 
words */
        shrl    $2,%ecx
        subl    $3,%esi
        subl    $3,%edi
@@ -235,6 +238,7 @@ ENTRY(bcopy)
        popl    %edi
        popl    %esi
        cld
+       popl    %ebp
        ret
 END(bcopy)
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to