diff options
author | kib <kib@FreeBSD.org> | 2014-11-08 11:56:26 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2014-11-08 11:56:26 +0000 |
commit | ac5c592f50cbae9d0b7747972189a4e5cc17d736 (patch) | |
tree | c3049a7912f6ca85c70b7ead3d8ff7bf76b354fa /sys/amd64/amd64/support.S | |
parent | e03debee49f23adf10b3e4d4b4a2fc0bcb27dc3f (diff) | |
download | FreeBSD-src-ac5c592f50cbae9d0b7747972189a4e5cc17d736.zip FreeBSD-src-ac5c592f50cbae9d0b7747972189a4e5cc17d736.tar.gz |
MFi386 r253328:
Create a proper stack frame for amd64 version of bcopy(). Note that
this also makes the stack properly aligned in the function, despite it
is not strictly needed.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Diffstat (limited to 'sys/amd64/amd64/support.S')
-rw-r--r-- | sys/amd64/amd64/support.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S index 50e653d..069cf8c 100644 --- a/sys/amd64/amd64/support.S +++ b/sys/amd64/amd64/support.S @@ -100,6 +100,8 @@ END(bcmp) * ws@tools.de (Wolfgang Solfrank, TooLs GmbH) +49-228-985800 */ ENTRY(bcopy) + pushq %rbp + movq %rsp,%rbp xchgq %rsi,%rdi movq %rdx,%rcx @@ -116,6 +118,7 @@ ENTRY(bcopy) andq $7,%rcx /* any bytes left? */ rep movsb + popq %rbp ret /* ALIGN_TEXT */ @@ -135,6 +138,7 @@ ENTRY(bcopy) rep movsq cld + popq %rbp ret END(bcopy) |