* Fix to broken win32 fix patch

This commit is contained in:
Tim Angus 2005-09-26 13:47:59 +00:00
parent aff4d7d858
commit 1ad7f9cff1

View file

@ -79,8 +79,8 @@ int qftol0F7F( void );
static int ftolPtr = (int)qftol0F7F; static int ftolPtr = (int)qftol0F7F;
#endif // FTOL_PTR #endif // FTOL_PTR
void AsmCall( void ); void doAsmCall( void );
static int asmCallPtr = (int)AsmCall; static int asmCallPtr = (int)doAsmCall;
#endif // !_WIN32 #endif // !_WIN32
@ -197,8 +197,11 @@ void callAsmCall(void)
currentVM = savedVM; currentVM = savedVM;
} }
// Note the C space function AsmCall is never actually called, and is in fact
// arbitarily named (though this is not true for the MSC version). When a vm
// makes a system call, control jumps straight to the doAsmCall label.
void AsmCall( void ) { void AsmCall( void ) {
asm( CMANG(AsmCall) ": \n\t" \ asm( CMANG(doAsmCall) ": \n\t" \
" movl (%%edi),%%eax \n\t" \ " movl (%%edi),%%eax \n\t" \
" subl $4,%%edi \n\t" \ " subl $4,%%edi \n\t" \
" orl %%eax,%%eax \n\t" \ " orl %%eax,%%eax \n\t" \