summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphilipl <philipl>2006-01-16 23:54:15 +0000
committerphilipl <philipl>2006-01-16 23:54:15 +0000
commit1d7b250cbda0b96a494a17fdfb53eb971907a35b (patch)
treef20b92b1c99be132ec6a311b896f9d00eded5108
parentee148a2f8ef97557ec2db501295ed8227699d2bf (diff)
Fix for compilation with gcc4 and PIC.release-12-3-1-0
-rw-r--r--ChangeLog7
-rw-r--r--configure.ac2
-rw-r--r--src/vmmouse.c2
-rw-r--r--src/vmmouse_proto.c6
4 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 500ac73..a33efd9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-16 Philip Langdale <plangdale@vmware.com>
+
+ * configure.ac:
+ * src/vmmouse.c: Bump PATCHLEVEL.
+ * src/vmmouse_proto.c: push/pop ebx to keep
+ gcc4 happy when compiling with -fPIC.
+
2006-01-06 Philip Langdale <plangdale@vmware.com>
* Initial release.
diff --git a/configure.ac b/configure.ac
index 7dd4dea..7c8db09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-input-vmmouse],
- 12.3.0.0,
+ 12.3.1.0,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-input-vmmouse)
diff --git a/src/vmmouse.c b/src/vmmouse.c
index 76f3144..6f366d6 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -81,7 +81,7 @@
*/
#define VMMOUSE_MAJOR_VERSION 12
#define VMMOUSE_MINOR_VERSION 3
-#define VMMOUSE_PATCHLEVEL 0
+#define VMMOUSE_PATCHLEVEL 1
/*****************************************************************************
* static function header
diff --git a/src/vmmouse_proto.c b/src/vmmouse_proto.c
index 186c2e8..b50e071 100644
--- a/src/vmmouse_proto.c
+++ b/src/vmmouse_proto.c
@@ -88,6 +88,7 @@ VMMouseProtoInOut(VMMouseProtoCmd *cmd) // IN/OUT
uint32_t dummy;
__asm__ __volatile__(
+ "pushl %%ebx" "\n\t"
"pushl %%eax" "\n\t"
"movl 20(%%eax), %%edi" "\n\t"
"movl 16(%%eax), %%esi" "\n\t"
@@ -102,14 +103,15 @@ VMMouseProtoInOut(VMMouseProtoCmd *cmd) // IN/OUT
"movl %%edx, 12(%%eax)" "\n\t"
"movl %%ecx, 8(%%eax)" "\n\t"
"movl %%ebx, 4(%%eax)" "\n\t"
- "popl (%%eax)"
+ "popl (%%eax)" "\n\t"
+ "popl %%ebx"
: "=a" (dummy)
: "0" (cmd)
/*
* vmware can modify the whole VM state without the compiler knowing
* it. So far it does not modify EFLAGS. --hpreg
*/
- : "ebx", "ecx", "edx", "esi", "edi", "memory"
+ : "ecx", "edx", "esi", "edi", "memory"
);
#else
#error "VMMouse is only supported on x86 and x86-64."