mirror of
https://github.com/UberGames/ioef.git
synced 2024-11-27 22:42:09 +00:00
* (bug 3268) Replace Mac OS X Carbon API calls with native ones (thanks
to i3enedek). * remove some spammy Mac OS X printf's regarding local network detection * replaced a #warning for non-OS X PPC systems with a call to msync(..., MS_INVALIDATE). This needs testing.
This commit is contained in:
parent
f3e1a64c04
commit
e8bbb1f2d1
4 changed files with 11 additions and 23 deletions
3
Makefile
3
Makefile
|
@ -340,9 +340,6 @@ ifeq ($(PLATFORM),darwin)
|
|||
|
||||
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
|
||||
|
|
|
@ -23,10 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
// ppc dynamic compiler
|
||||
|
||||
#include "vm_local.h"
|
||||
|
||||
#ifdef MACOS_X
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#endif
|
||||
#include <sys/mman.h>
|
||||
|
||||
#define DEBUG_VM 0
|
||||
|
||||
|
@ -1725,12 +1722,8 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
|
|||
// 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)
|
||||
|
|
|
@ -72,7 +72,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
|
||||
#if idppc_altivec
|
||||
#ifdef MACOS_X
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -383,11 +383,13 @@ qboolean Sys_DetectAltivec( void )
|
|||
|
||||
#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);
|
||||
|
|
|
@ -382,8 +382,6 @@ void NET_GetLocalAddress( void ) {
|
|||
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 @@ void NET_GetLocalAddress( void ) {
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
linkInterface = (struct ifreq *) ifc.ifc_buf;
|
||||
while ((char *) linkInterface < &ifc.ifc_buf[ifc.ifc_len]) {
|
||||
unsigned int nameLength;
|
||||
|
@ -469,7 +466,6 @@ void NET_GetLocalAddress( void ) {
|
|||
}
|
||||
linkInterface = IFR_NEXT(linkInterface);
|
||||
}
|
||||
Com_Printf("NET_GetLocalAddress: DONE querying for network interfaces\n");
|
||||
|
||||
close(interfaceSocket);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue