summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThilo Schulz <arny@ats.s.bawue.de>2011-05-19 03:47:35 +0000
committerTim Angus <tim@ngus.net>2013-01-09 22:29:03 +0000
commita42bcdf589d0fbdd1492c63586de56aa90eed1f9 (patch)
tree53d384cdeb592c9075f1d120f7565c7db579968b /src
parent7d736c703961c40671b39c928924f761cfc0a16d (diff)
I don't seem to get these constraints right. This should fix it
Diffstat (limited to 'src')
-rw-r--r--src/qcommon/vm_x86.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qcommon/vm_x86.c b/src/qcommon/vm_x86.c
index e1ba73a0..5ab69c9a 100644
--- a/src/qcommon/vm_x86.c
+++ b/src/qcommon/vm_x86.c
@@ -1545,10 +1545,12 @@ int VM_CallCompiled( vm_t *vm, int *args ) {
}
#else
__asm__ volatile(
+ "push %%eax\r\n"
"call *%2\r\n"
+ "pop %%eax\r\n"
: "+S" (programStack), "+D" (opStack)
- : "r" (vm->codeBase + vm->entryOfs)
- : "cc", "memory", "%eax", "%ebx", "%ecx", "%edx"
+ : "a" (vm->codeBase + vm->entryOfs)
+ : "cc", "memory", "%ebx", "%ecx", "%edx"
);
#endif