aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoricculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-05-29 03:02:54 +0000
committericculus <icculus@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-05-29 03:02:54 +0000
commitcf0ba61ef51c48e1b61d342f91d0a8eebc8ac309 (patch)
treeb45f44959d5724d5ced6f61234e809f3f2322943
parentd0abe049261a7a07e09e9d7e23a4dcd233813c2e (diff)
downloadioquake3-aero-cf0ba61ef51c48e1b61d342f91d0a8eebc8ac309.tar.gz
ioquake3-aero-cf0ba61ef51c48e1b61d342f91d0a8eebc8ac309.zip
Correction in PowerPC JIT code. Fixes crash in server browser, etc, on Mac OS X
and probably PowerPC Linux, too...fixes Bugzilla #2519. git-svn-id: svn://svn.icculus.org/quake3/trunk@791 edf5b092-35ff-0310-97b2-ce42778d08ea
-rw-r--r--Makefile2
-rw-r--r--code/qcommon/vm_ppc_new.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 52986e9..02c27d0 100644
--- a/Makefile
+++ b/Makefile
@@ -264,7 +264,7 @@ ifeq ($(PLATFORM),darwin)
CC=gcc
# !!! FIXME: calling conventions are still broken! See Bugzilla #2519
- #VM_PPC=vm_ppc_new
+ VM_PPC=vm_ppc_new
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
BASE_CFLAGS += -DMACOS_X -fno-common -pipe
diff --git a/code/qcommon/vm_ppc_new.c b/code/qcommon/vm_ppc_new.c
index c10e700..bab80ce 100644
--- a/code/qcommon/vm_ppc_new.c
+++ b/code/qcommon/vm_ppc_new.c
@@ -1106,7 +1106,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif
assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2);
- Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
+ Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0;
@@ -1130,7 +1130,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif
assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2);
- Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
+ Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0;
@@ -1154,7 +1154,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif
assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2);
- Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
+ Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0;
@@ -1178,7 +1178,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif
assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2);
- Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
+ Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0;