summaryrefslogtreecommitdiff
path: root/debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-02-20 19:14:29 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-02-20 19:14:29 +0100
commit921df2f336840cff8e25d11f85b44a6b274b9902 (patch)
tree08ac140e1f92e4ced28c0cc9b97f62cf0dd2bd68 /debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch
parent7faa9f6b5433cfc2ad154ea8be59623fc48a9f23 (diff)
add patch series
Diffstat (limited to 'debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch')
-rw-r--r--debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch b/debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch
new file mode 100644
index 0000000..6e5b6a9
--- /dev/null
+++ b/debian/patches/0003-i386-drop-needless-instruction-from-copyout.patch
@@ -0,0 +1,35 @@
+From 5bf4c1cb311ade33ea2c4b3706f7c6a42917b008 Mon Sep 17 00:00:00 2001
+From: Justus Winter <4winter@informatik.uni-hamburg.de>
+Date: Fri, 20 Feb 2015 19:03:20 +0100
+Subject: [PATCH gnumach 3/4] i386: drop needless instruction from `copyout'
+
+* i386/i386/locore.S (copyout): Do not needlessly copy length to %eax
+first.
+---
+ i386/i386/locore.S | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/i386/i386/locore.S b/i386/i386/locore.S
+index 15715f6..2e04bb8 100644
+--- a/i386/i386/locore.S
++++ b/i386/i386/locore.S
+@@ -1297,14 +1297,13 @@ Entry(copyoutmsg)
+ jbe copyout_retry /* Use slow version on i386 */
+ #endif /* !defined(MACH_HYP) && !PAE */
+
+- movl %edx,%eax /* use count */
+ /*cld*/ /* count up: always this way in GCC code */
+- movl %eax,%ecx /* move by longwords first */
++ movl %edx,%ecx /* move by longwords first */
+ shrl $2,%ecx
+ RECOVER(copyout_fail)
+ rep
+ movsl
+- movl %eax,%ecx /* now move remaining bytes */
++ movl %edx,%ecx /* now move remaining bytes */
+ andl $3,%ecx
+ RECOVER(copyout_fail)
+ rep
+--
+2.1.4
+