Index: code/unix/unix_main.c =================================================================== --- code/unix/unix_main.c (revision 1115) +++ code/unix/unix_main.c (working copy) @@ -72,7 +72,7 @@ #if idppc_altivec #ifdef MACOS_X - #include + #include #endif #endif @@ -383,11 +383,13 @@ #if idppc_altivec #ifdef MACOS_X - long feat = 0; - OSErr err = Gestalt(gestaltPowerPCProcessorFeatures, &feat); - if ((err==noErr) && ((1 << gestaltPowerPCHasVectorInstructions) & feat)) { - altivec = qtrue; - } + int selectors[2] = { CTL_HW, HW_VECTORUNIT }; + int hasVectorUnit = 0; + size_t length = sizeof(hasVectorUnit); + int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0); + + if( 0 == error ) + altivec = (hasVectorUnit != 0); #else void (*handler)(int sig); handler = signal(SIGILL, illegal_instruction); Index: code/unix/unix_net.c =================================================================== --- code/unix/unix_net.c (revision 1115) +++ code/unix/unix_net.c (working copy) @@ -382,8 +382,6 @@ int interfaceSocket; int family; - Com_Printf("NET_GetLocalAddress: Querying for network interfaces\n"); - // Set this early so we can just return if there is an error numIP = 0; @@ -405,7 +403,6 @@ return; } - linkInterface = (struct ifreq *) ifc.ifc_buf; while ((char *) linkInterface < &ifc.ifc_buf[ifc.ifc_len]) { unsigned int nameLength; @@ -469,7 +466,6 @@ } linkInterface = IFR_NEXT(linkInterface); } - Com_Printf("NET_GetLocalAddress: DONE querying for network interfaces\n"); close(interfaceSocket); } Index: code/qcommon/vm_ppc.c =================================================================== --- code/qcommon/vm_ppc.c (revision 1115) +++ code/qcommon/vm_ppc.c (working copy) @@ -23,11 +23,8 @@ // ppc dynamic compiler #include "vm_local.h" +#include -#ifdef MACOS_X -#include -#endif - #define DEBUG_VM 0 #if DEBUG_VM @@ -1725,12 +1722,8 @@ // go back over it in place now to fixup reletive jump targets buf = (unsigned *)vm->codeBase; } else if ( pass == 1 ) { - #ifdef MACOS_X - // On Mac OS X, the following library routine clears the instruction cache for generated code - MakeDataExecutable(vm->codeBase, vm->codeLength); - #else - #warning Need to clear the instruction cache for generated code - #endif + // clear the instruction cache for generated code + msync(vm->codeBase, vm->codeLength, MS_INVALIDATE); } } if(0) Index: Makefile =================================================================== --- Makefile (revision 1115) +++ Makefile (working copy) @@ -340,9 +340,6 @@ ifeq ($(ARCH),ppc) OPTIMIZE += -faltivec -O3 - # Carbon is required on PPC only to make a call to MakeDataExecutable - # in the PPC vm (should be a better non-Carbon way). - LDFLAGS += -framework Carbon endif ifeq ($(ARCH),i386) OPTIMIZE += -march=prescott -mfpmath=sse