Author: tkreuzer Date: Tue Aug 23 08:58:15 2011 New Revision: 53399
URL: http://svn.reactos.org/svn/reactos?rev=53399&view=rev Log: [VMWINST] Fix amd64 build [NTDLL] add missing amd64 specific exports [MSVCRT*] Fix mangled c++ exports for amd64 [OLEAUT32] Add amd64 adm stub for call_method, fix MSVC/amd64 build [RICHED20] Fix MSVC thiscall wrapper [RPCRT4] add amd64 specific asm [KSFILTER] Add c++ aliases, use dummy KeSaveFloatingPointState and KeRestoreFloatingPointState on non-x86 builds [KMIXER] Fix a broken DPRINT [PSEH] Priorize native SEH over dummy SEH
Modified: trunk/reactos/base/setup/vmwinst/vmwinst.c trunk/reactos/dll/ntdll/def/ntdll.spec trunk/reactos/dll/win32/msvcrt/msvcrt.spec trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec trunk/reactos/dll/win32/oleaut32/msvc.S trunk/reactos/dll/win32/oleaut32/tmarshal.c trunk/reactos/dll/win32/riched20/msvc-thiscall.c trunk/reactos/dll/win32/rpcrt4/msvc.S trunk/reactos/drivers/ksfilter/ks/msvc.S trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c trunk/reactos/include/reactos/libs/pseh/pseh2.h
Modified: trunk/reactos/base/setup/vmwinst/vmwinst.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/vmwinst/vmwinst.... ============================================================================== --- trunk/reactos/base/setup/vmwinst/vmwinst.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/vmwinst/vmwinst.c [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -78,7 +78,7 @@ __asm__ __volatile__("inl %%dx, %%eax" : "=a" (ver), "=b" (magic) : "0" (0x564d5868), "d" (0x5658), "c" (0xa)); -#elif defined(_MSC_VER) +#elif defined(_MSC_VER) && defined(_M_IX86) __asm { push ebx @@ -90,6 +90,9 @@ mov [magic], ebx pop ebx } +#elif defined(_MSC_VER) && defined(_M_AMD64) + DPRINT1("DetectVMware stub\n"); + return FALSE; #else #error TODO #endif
Modified: trunk/reactos/dll/ntdll/def/ntdll.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/def/ntdll.spec?re... ============================================================================== --- trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] (original) +++ trunk/reactos/dll/ntdll/def/ntdll.spec [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -1296,7 +1296,7 @@ ;@ cdecl -private -arch=i386 _CIpow() ;@ cdecl _CIsin ;@ cdecl _CIsqrt -;@ stdcall -arch=x86_64 __C_specific_handler(ptr long ptr ptr) +@ cdecl -arch=x86_64 __C_specific_handler(ptr long ptr ptr) @ cdecl __isascii(long) @ cdecl __iscsym(long) @ cdecl __iscsymf(long) @@ -1321,6 +1321,7 @@ @ cdecl _itoa(long ptr long) @ cdecl _itow(long ptr long) @ cdecl _lfind(ptr ptr ptr long ptr) +@ cdecl -arch=x86_64 _local_unwind() @ cdecl _ltoa(long ptr long) @ cdecl _ltow(long ptr long) @ cdecl _memccpy(ptr ptr long long)
Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.spe... ============================================================================== --- trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt/msvcrt.spec [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -43,9 +43,11 @@ @ cdecl -i386 -norelay ??_Gbad_cast@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_cast_scalar_dtor @ cdecl -i386 -norelay ??_Gbad_typeid@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_typeid_scalar_dtor @ cdecl -i386 -norelay ??_Gexception@@UAEPAXI@Z(long) __thiscall_MSVCRT_exception_scalar_dtor -@ cdecl ??_U@YAPAXI@Z(long) MSVCRT_operator_new +@ cdecl -arch=win32 ??_U@YAPAXI@Z(long) MSVCRT_operator_new +@ cdecl -arch=win64 ??_U@YAPEAX_K@Z(long) MSVCRT_operator_new # @ cdecl ??_U@YAPAXIHPBDH@Z(long long str long) MSVCRT_operator_new_dbg -@ cdecl ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win32 ??_V@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win64 ??_V@YAXPEAX@Z(ptr) MSVCRT_operator_delete @ cdecl ?_query_new_handler@@YAP6AHI@ZXZ() MSVCRT__query_new_handler @ cdecl ?_query_new_mode@@YAHXZ() MSVCRT__query_new_mode @ cdecl ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z(ptr) MSVCRT__set_new_handler @@ -1190,7 +1192,9 @@ @ cdecl fgetwc(ptr) @ cdecl fgetws(ptr long ptr) @ cdecl floor(double) +@ cdecl -arch=x86_64 floorf(long) @ cdecl fmod(double double) +@ cdecl -arch=x86_64 fmodf(long) @ cdecl fopen(str str) # @ cdecl fopen_s(ptr str str) @ varargs fprintf(ptr str) @@ -1278,6 +1282,7 @@ @ cdecl modf(double ptr) @ cdecl perror(str) @ cdecl pow(double double) +@ cdecl -arch=x86_64 powf(long) @ varargs printf(str) # stub printf_s @ cdecl putc(long ptr) @@ -1302,10 +1307,12 @@ @ cdecl setvbuf(ptr str long long) @ cdecl signal(long long) @ cdecl sin(double) +@ cdecl -arch=x86_64 sinf(long) @ cdecl sinh(double) @ varargs sprintf(ptr str) # @ varargs sprintf_s(ptr long str) @ cdecl sqrt(double) +@ cdecl -arch=x86_64 sqrtf(long) @ cdecl srand(long) @ varargs sscanf(str str) # @ varargs sscanf_s(str str)
Modified: trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/msvcrt20... ============================================================================== --- trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -77,8 +77,10 @@ @ stub ??1streambuf@@UAE@XZ # @ stub ??1strstream@@UAE@XZ # @ stub ??1strstreambuf@@UAE@XZ # -@ cdecl ??2@YAPAXI@Z(long) MSVCRT_operator_new -@ cdecl ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win32 ??2@YAPAXI@Z(long) MSVCRT_operator_new +@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) MSVCRT_operator_new +@ cdecl -arch=win32 ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win64 ??3@YAXPEAX@Z(ptr) MSVCRT_operator_delete @ stub ??4Iostream_init@@QAEAAV0@ABV0@@Z # @ stub ??4filebuf@@QAEAAV0@ABV0@@Z # @ stub ??4fstream@@QAEAAV0@AAV0@@Z # @@ -457,7 +459,7 @@ @ extern _HUGE @ cdecl _XcptFilter(long ptr) @ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) -@ stdcall __CxxLongjmpUnwind(ptr) +@ stdcall -i386 __CxxLongjmpUnwind(ptr) @ cdecl __STRINGTOLD(ptr ptr str long) @ extern __argc @ extern __argv @@ -596,7 +598,7 @@ @ cdecl _fsopen(str str long) @ cdecl _fstat(long ptr) @ cdecl _ftime(ptr) -@ cdecl -ret64 _ftol() +@ cdecl -arch=i386 -ret64 _ftol() @ cdecl _fullpath(ptr str long) @ cdecl _futime(long ptr) @ cdecl _gcvt(double long str)
Modified: trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/msvcrt40... ============================================================================== --- trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -93,8 +93,10 @@ @ stub ??1strstream@@UAE@XZ @ stub ??1strstreambuf@@UAE@XZ @ cdecl -i386 ??1type_info@@UAE@XZ() __thiscall_MSVCRT_type_info_dtor -@ cdecl ??2@YAPAXI@Z(long) MSVCRT_operator_new -@ cdecl ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win32 ??2@YAPAXI@Z(long) MSVCRT_operator_new +@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) MSVCRT_operator_new +@ cdecl -arch=win32 ??3@YAXPAX@Z(ptr) MSVCRT_operator_delete +@ cdecl -arch=win64 ??3@YAXPEAX@Z(ptr) MSVCRT_operator_delete @ stub ??4Iostream_init@@QAEAAV0@ABV0@@Z @ cdecl -i386 ??4__non_rtti_object@@QAEAAV0@ABV0@@Z(ptr) __thiscall_MSVCRT___non_rtti_object_opequals @ cdecl -i386 ??4bad_cast@@QAEAAV0@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_cast_opequals @@ -481,685 +483,685 @@ @ stub ?xsgetn@streambuf@@UAEHPADH@Z @ stub ?xsputn@streambuf@@UAEHPBDH@Z @ cdecl $I10_OUTPUT() MSVCRT_I10_OUTPUT -@ cdecl -arch=i386 _CIacos() -@ cdecl -arch=i386 _CIasin() -@ cdecl -arch=i386 _CIatan() -@ cdecl -arch=i386 _CIatan2() -@ cdecl -arch=i386 _CIcos() -@ cdecl -arch=i386 _CIcosh() -@ cdecl -arch=i386 _CIexp() -@ cdecl -arch=i386 _CIfmod() -@ cdecl -arch=i386 _CIlog() -@ cdecl -arch=i386 _CIlog10() -@ cdecl -arch=i386 _CIpow() -@ cdecl -arch=i386 _CIsin() -@ cdecl -arch=i386 _CIsinh() -@ cdecl -arch=i386 _CIsqrt() -@ cdecl -arch=i386 _CItan() -@ cdecl -arch=i386 _CItanh() -@ stdcall _CxxThrowException(long long) -@ cdecl -i386 _EH_prolog() -@ extern _HUGE -@ cdecl _XcptFilter(long ptr) -@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) -@ stdcall __CxxLongjmpUnwind(ptr) +@ cdecl -arch=i386 _CIacos() +@ cdecl -arch=i386 _CIasin() +@ cdecl -arch=i386 _CIatan() +@ cdecl -arch=i386 _CIatan2() +@ cdecl -arch=i386 _CIcos() +@ cdecl -arch=i386 _CIcosh() +@ cdecl -arch=i386 _CIexp() +@ cdecl -arch=i386 _CIfmod() +@ cdecl -arch=i386 _CIlog() +@ cdecl -arch=i386 _CIlog10() +@ cdecl -arch=i386 _CIpow() +@ cdecl -arch=i386 _CIsin() +@ cdecl -arch=i386 _CIsinh() +@ cdecl -arch=i386 _CIsqrt() +@ cdecl -arch=i386 _CItan() +@ cdecl -arch=i386 _CItanh() +@ stdcall _CxxThrowException(long long) +@ cdecl -i386 _EH_prolog() +@ extern _HUGE +@ cdecl _XcptFilter(long ptr) +@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) +@ stdcall -i386 __CxxLongjmpUnwind(ptr) @ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid @ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast @ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid -@ cdecl __STRINGTOLD(ptr ptr str long) -@ extern __argc -@ extern __argv -@ cdecl __dllonexit(ptr ptr ptr) -@ cdecl __doserrno() -@ cdecl __fpecode() -@ cdecl __getmainargs(ptr ptr ptr long ptr) -@ extern __initenv -@ cdecl __isascii(long) -@ cdecl __iscsym(long) -@ cdecl __iscsymf(long) -@ cdecl __lconv_init() -@ extern __mb_cur_max -@ cdecl -arch=i386 __p___argc() -@ cdecl -arch=i386 __p___argv() -@ cdecl -arch=i386 __p___initenv() -@ cdecl -arch=i386 __p___mb_cur_max() -@ cdecl -arch=i386 __p___wargv() -@ cdecl -arch=i386 __p___winitenv() -@ cdecl -arch=i386 __p__acmdln() -@ cdecl -arch=i386 __p__amblksiz() -@ cdecl -arch=i386 __p__commode() -@ cdecl -arch=i386 __p__daylight() -@ cdecl -arch=i386 __p__dstbias() -@ cdecl -arch=i386 __p__environ() -@ cdecl -arch=i386 __p__fmode() -@ cdecl -arch=i386 __p__iob() -@ cdecl -arch=i386 __p__mbctype() -@ cdecl -arch=i386 __p__osver() -@ cdecl -arch=i386 __p__pctype() -@ cdecl -arch=i386 __p__pgmptr() -@ cdecl -arch=i386 __p__pwctype() -@ cdecl -arch=i386 __p__timezone() -@ cdecl -arch=i386 __p__tzname() -@ cdecl -arch=i386 __p__wcmdln() -@ cdecl -arch=i386 __p__wenviron() -@ cdecl -arch=i386 __p__winmajor() -@ cdecl -arch=i386 __p__winminor() -@ cdecl -arch=i386 __p__winver() -@ cdecl -arch=i386 __p__wpgmptr() -@ cdecl __pxcptinfoptrs() -@ cdecl __set_app_type(long) -@ cdecl __setusermatherr(ptr) -@ cdecl __threadhandle() -@ cdecl __threadid() -@ cdecl __toascii(long) -@ cdecl __unDName(long str ptr ptr long) -@ extern __wargv -@ cdecl __wgetmainargs(ptr ptr ptr long ptr) -@ extern __winitenv -@ cdecl _abnormal_termination() -@ cdecl _access(str long) -@ extern _acmdln -@ stdcall _adj_fdiv_m16i(long) -@ stdcall _adj_fdiv_m32(long) -@ stdcall _adj_fdiv_m32i(long) -@ stdcall _adj_fdiv_m64(long long) -@ cdecl _adj_fdiv_r() -@ stdcall _adj_fdivr_m16i(long) -@ stdcall _adj_fdivr_m32(long) -@ stdcall _adj_fdivr_m32i(long) -@ stdcall _adj_fdivr_m64(long long) -@ cdecl _adj_fpatan() -@ cdecl _adj_fprem() -@ cdecl _adj_fprem1() -@ cdecl _adj_fptan() -@ extern _adjust_fdiv -@ extern _aexit_rtn -@ cdecl _amsg_exit(long) -@ cdecl _assert(str str long) -@ cdecl _atodbl(ptr str) -@ cdecl _atoldbl(ptr str) -@ cdecl _beep(long long) -@ cdecl _beginthread(ptr long ptr) -@ cdecl _beginthreadex(ptr long ptr ptr long ptr) -@ cdecl _c_exit() -@ cdecl _cabs(long) -@ cdecl _cexit() -@ cdecl _cgets(str) -@ cdecl _chdir(str) -@ cdecl _chdrive(long) -@ cdecl _chgsign( double ) -@ cdecl _chmod(str long) -@ cdecl _chsize(long long) -@ cdecl _clearfp() -@ cdecl _close(long) -@ cdecl _commit(long) -@ extern _commode -@ cdecl _control87(long long) -@ cdecl _controlfp(long long) -@ cdecl _copysign( double double ) -@ varargs _cprintf(str) -@ cdecl _cputs(str) -@ cdecl _creat(str long) -@ varargs _cscanf(str) -@ extern _ctype -@ cdecl _cwait(ptr long long) -@ extern _daylight -@ extern _dstbias -@ cdecl _dup(long) -@ cdecl _dup2(long long) -@ cdecl _ecvt( double long ptr ptr) -@ cdecl _endthread() -@ cdecl _endthreadex(long) -@ extern _environ -@ cdecl _eof(long) -@ cdecl _errno() -@ cdecl _except_handler2(ptr ptr ptr ptr) -@ cdecl _except_handler3(ptr ptr ptr ptr) -@ varargs _execl(str str) -@ varargs _execle(str str) -@ varargs _execlp(str str) -@ varargs _execlpe(str str) -@ cdecl _execv(str ptr) -@ cdecl _execve(str ptr ptr) -@ cdecl _execvp(str ptr) -@ cdecl _execvpe(str ptr ptr) -@ cdecl _exit(long) -@ cdecl _expand(ptr long) -@ cdecl _fcloseall() -@ cdecl _fcvt( double long ptr ptr) -@ cdecl _fdopen(long str) -@ cdecl _fgetchar() -@ cdecl _fgetwchar() -@ cdecl _filbuf(ptr) -@ extern _fileinfo -@ cdecl _filelength(long) -@ cdecl -ret64 _filelengthi64(long) -@ cdecl _fileno(ptr) -@ cdecl _findclose(long) -@ cdecl _findfirst(str ptr) -@ cdecl _findfirsti64(str ptr) -@ cdecl _findnext(long ptr) -@ cdecl _findnexti64(long ptr) -@ cdecl _finite( double ) -@ cdecl _flsbuf(long ptr) -@ cdecl _flushall() -@ extern _fmode -@ cdecl _fpclass(double) -@ cdecl _fpieee_flt(long ptr ptr) -@ cdecl _fpreset() -@ cdecl _fputchar(long) -@ cdecl _fputwchar(long) -@ cdecl _fsopen(str str long) -@ cdecl _fstat(long ptr) -@ cdecl _fstati64(long ptr) -@ cdecl _ftime(ptr) -@ cdecl -ret64 _ftol() -@ cdecl _fullpath(ptr str long) -@ cdecl _futime(long ptr) -@ cdecl _gcvt( double long str) -@ cdecl _get_osfhandle(long) -@ cdecl _getch() -@ cdecl _getche() -@ cdecl _getcwd(str long) -@ cdecl _getdcwd(long str long) -@ cdecl _getdiskfree(long ptr) -@ cdecl _getdllprocaddr(long str long) -@ cdecl _getdrive() -@ cdecl _getdrives() -@ cdecl _getmaxstdio() -@ cdecl _getmbcp() -@ cdecl _getpid() -@ cdecl _getsystime(ptr) -@ cdecl _getw(ptr) -@ cdecl _getws(ptr) -@ cdecl _global_unwind2(ptr) -@ cdecl _heapadd(ptr long) -@ cdecl _heapchk() -@ cdecl _heapmin() -@ cdecl _heapset(long) -@ cdecl _heapused(ptr ptr) -@ cdecl _heapwalk(ptr) -@ cdecl _hypot(double double) -@ cdecl _initterm(ptr ptr) +@ cdecl __STRINGTOLD(ptr ptr str long) +@ extern __argc +@ extern __argv +@ cdecl __dllonexit(ptr ptr ptr) +@ cdecl __doserrno() +@ cdecl __fpecode() +@ cdecl __getmainargs(ptr ptr ptr long ptr) +@ extern __initenv +@ cdecl __isascii(long) +@ cdecl __iscsym(long) +@ cdecl __iscsymf(long) +@ cdecl __lconv_init() +@ extern __mb_cur_max +@ cdecl -arch=i386 __p___argc() +@ cdecl -arch=i386 __p___argv() +@ cdecl -arch=i386 __p___initenv() +@ cdecl -arch=i386 __p___mb_cur_max() +@ cdecl -arch=i386 __p___wargv() +@ cdecl -arch=i386 __p___winitenv() +@ cdecl -arch=i386 __p__acmdln() +@ cdecl -arch=i386 __p__amblksiz() +@ cdecl -arch=i386 __p__commode() +@ cdecl -arch=i386 __p__daylight() +@ cdecl -arch=i386 __p__dstbias() +@ cdecl -arch=i386 __p__environ() +@ cdecl -arch=i386 __p__fmode() +@ cdecl -arch=i386 __p__iob() +@ cdecl -arch=i386 __p__mbctype() +@ cdecl -arch=i386 __p__osver() +@ cdecl -arch=i386 __p__pctype() +@ cdecl -arch=i386 __p__pgmptr() +@ cdecl -arch=i386 __p__pwctype() +@ cdecl -arch=i386 __p__timezone() +@ cdecl -arch=i386 __p__tzname() +@ cdecl -arch=i386 __p__wcmdln() +@ cdecl -arch=i386 __p__wenviron() +@ cdecl -arch=i386 __p__winmajor() +@ cdecl -arch=i386 __p__winminor() +@ cdecl -arch=i386 __p__winver() +@ cdecl -arch=i386 __p__wpgmptr() +@ cdecl __pxcptinfoptrs() +@ cdecl __set_app_type(long) +@ cdecl __setusermatherr(ptr) +@ cdecl __threadhandle() +@ cdecl __threadid() +@ cdecl __toascii(long) +@ cdecl __unDName(long str ptr ptr long) +@ extern __wargv +@ cdecl __wgetmainargs(ptr ptr ptr long ptr) +@ extern __winitenv +@ cdecl _abnormal_termination() +@ cdecl _access(str long) +@ extern _acmdln +@ stdcall _adj_fdiv_m16i(long) +@ stdcall _adj_fdiv_m32(long) +@ stdcall _adj_fdiv_m32i(long) +@ stdcall _adj_fdiv_m64(long long) +@ cdecl _adj_fdiv_r() +@ stdcall _adj_fdivr_m16i(long) +@ stdcall _adj_fdivr_m32(long) +@ stdcall _adj_fdivr_m32i(long) +@ stdcall _adj_fdivr_m64(long long) +@ cdecl _adj_fpatan() +@ cdecl _adj_fprem() +@ cdecl _adj_fprem1() +@ cdecl _adj_fptan() +@ extern _adjust_fdiv +@ extern _aexit_rtn +@ cdecl _amsg_exit(long) +@ cdecl _assert(str str long) +@ cdecl _atodbl(ptr str) +@ cdecl _atoldbl(ptr str) +@ cdecl _beep(long long) +@ cdecl _beginthread(ptr long ptr) +@ cdecl _beginthreadex(ptr long ptr ptr long ptr) +@ cdecl _c_exit() +@ cdecl _cabs(long) +@ cdecl _cexit() +@ cdecl _cgets(str) +@ cdecl _chdir(str) +@ cdecl _chdrive(long) +@ cdecl _chgsign( double ) +@ cdecl _chmod(str long) +@ cdecl _chsize(long long) +@ cdecl _clearfp() +@ cdecl _close(long) +@ cdecl _commit(long) +@ extern _commode +@ cdecl _control87(long long) +@ cdecl _controlfp(long long) +@ cdecl _copysign( double double ) +@ varargs _cprintf(str) +@ cdecl _cputs(str) +@ cdecl _creat(str long) +@ varargs _cscanf(str) +@ extern _ctype +@ cdecl _cwait(ptr long long) +@ extern _daylight +@ extern _dstbias +@ cdecl _dup(long) +@ cdecl _dup2(long long) +@ cdecl _ecvt( double long ptr ptr) +@ cdecl _endthread() +@ cdecl _endthreadex(long) +@ extern _environ +@ cdecl _eof(long) +@ cdecl _errno() +@ cdecl _except_handler2(ptr ptr ptr ptr) +@ cdecl _except_handler3(ptr ptr ptr ptr) +@ varargs _execl(str str) +@ varargs _execle(str str) +@ varargs _execlp(str str) +@ varargs _execlpe(str str) +@ cdecl _execv(str ptr) +@ cdecl _execve(str ptr ptr) +@ cdecl _execvp(str ptr) +@ cdecl _execvpe(str ptr ptr) +@ cdecl _exit(long) +@ cdecl _expand(ptr long) +@ cdecl _fcloseall() +@ cdecl _fcvt( double long ptr ptr) +@ cdecl _fdopen(long str) +@ cdecl _fgetchar() +@ cdecl _fgetwchar() +@ cdecl _filbuf(ptr) +@ extern _fileinfo +@ cdecl _filelength(long) +@ cdecl -ret64 _filelengthi64(long) +@ cdecl _fileno(ptr) +@ cdecl _findclose(long) +@ cdecl _findfirst(str ptr) +@ cdecl _findfirsti64(str ptr) +@ cdecl _findnext(long ptr) +@ cdecl _findnexti64(long ptr) +@ cdecl _finite( double ) +@ cdecl _flsbuf(long ptr) +@ cdecl _flushall() +@ extern _fmode +@ cdecl _fpclass(double) +@ cdecl _fpieee_flt(long ptr ptr) +@ cdecl _fpreset() +@ cdecl _fputchar(long) +@ cdecl _fputwchar(long) +@ cdecl _fsopen(str str long) +@ cdecl _fstat(long ptr) +@ cdecl _fstati64(long ptr) +@ cdecl _ftime(ptr) +@ cdecl -arch=i386 -ret64 _ftol() +@ cdecl _fullpath(ptr str long) +@ cdecl _futime(long ptr) +@ cdecl _gcvt( double long str) +@ cdecl _get_osfhandle(long) +@ cdecl _getch() +@ cdecl _getche() +@ cdecl _getcwd(str long) +@ cdecl _getdcwd(long str long) +@ cdecl _getdiskfree(long ptr) +@ cdecl _getdllprocaddr(long str long) +@ cdecl _getdrive() +@ cdecl _getdrives() +@ cdecl _getmaxstdio() +@ cdecl _getmbcp() +@ cdecl _getpid() +@ cdecl _getsystime(ptr) +@ cdecl _getw(ptr) +@ cdecl _getws(ptr) +@ cdecl _global_unwind2(ptr) +@ cdecl _heapadd(ptr long) +@ cdecl _heapchk() +@ cdecl _heapmin() +@ cdecl _heapset(long) +@ cdecl _heapused(ptr ptr) +@ cdecl _heapwalk(ptr) +@ cdecl _hypot(double double) +@ cdecl _initterm(ptr ptr) @ cdecl -i386 _inp(long) MSVCRT__inp @ cdecl -i386 _inpd(long) MSVCRT__inpd @ cdecl -i386 _inpw(long) MSVCRT__inpw -@ extern _iob -@ cdecl _isatty(long) -@ cdecl _isctype(long long) -@ cdecl _ismbbalnum(long) -@ cdecl _ismbbalpha(long) -@ cdecl _ismbbgraph(long) -@ cdecl _ismbbkalnum(long) -@ cdecl _ismbbkana(long) -@ cdecl _ismbbkprint(long) -@ cdecl _ismbbkpunct(long) -@ cdecl _ismbblead(long) -@ cdecl _ismbbprint(long) -@ cdecl _ismbbpunct(long) -@ cdecl _ismbbtrail(long) -@ cdecl _ismbcalnum(long) -@ cdecl _ismbcalpha(long) -@ cdecl _ismbcdigit(long) -@ cdecl _ismbcgraph(long) -@ cdecl _ismbchira(long) -@ cdecl _ismbckata(long) -@ cdecl _ismbcl0(long) -@ cdecl _ismbcl1(long) -@ cdecl _ismbcl2(long) -@ cdecl _ismbclegal(long) -@ cdecl _ismbclower(long) -@ cdecl _ismbcprint(long) -@ cdecl _ismbcpunct(long) -@ cdecl _ismbcspace(long) -@ cdecl _ismbcsymbol(long) -@ cdecl _ismbcupper(long) -@ cdecl _ismbslead(ptr ptr) -@ cdecl _ismbstrail(ptr ptr) -@ cdecl _isnan( double ) -@ cdecl _itoa(long ptr long) -@ cdecl _itow(long ptr long) -@ cdecl _j0(double) -@ cdecl _j1(double) -@ cdecl _jn(long double) -@ cdecl _kbhit() -@ cdecl _lfind(ptr ptr ptr long ptr) -@ cdecl _loaddll(str) -@ cdecl _local_unwind2(ptr long) -@ cdecl _locking(long long long) -@ cdecl _logb(double) +@ extern _iob +@ cdecl _isatty(long) +@ cdecl _isctype(long long) +@ cdecl _ismbbalnum(long) +@ cdecl _ismbbalpha(long) +@ cdecl _ismbbgraph(long) +@ cdecl _ismbbkalnum(long) +@ cdecl _ismbbkana(long) +@ cdecl _ismbbkprint(long) +@ cdecl _ismbbkpunct(long) +@ cdecl _ismbblead(long) +@ cdecl _ismbbprint(long) +@ cdecl _ismbbpunct(long) +@ cdecl _ismbbtrail(long) +@ cdecl _ismbcalnum(long) +@ cdecl _ismbcalpha(long) +@ cdecl _ismbcdigit(long) +@ cdecl _ismbcgraph(long) +@ cdecl _ismbchira(long) +@ cdecl _ismbckata(long) +@ cdecl _ismbcl0(long) +@ cdecl _ismbcl1(long) +@ cdecl _ismbcl2(long) +@ cdecl _ismbclegal(long) +@ cdecl _ismbclower(long) +@ cdecl _ismbcprint(long) +@ cdecl _ismbcpunct(long) +@ cdecl _ismbcspace(long) +@ cdecl _ismbcsymbol(long) +@ cdecl _ismbcupper(long) +@ cdecl _ismbslead(ptr ptr) +@ cdecl _ismbstrail(ptr ptr) +@ cdecl _isnan( double ) +@ cdecl _itoa(long ptr long) +@ cdecl _itow(long ptr long) +@ cdecl _j0(double) +@ cdecl _j1(double) +@ cdecl _jn(long double) +@ cdecl _kbhit() +@ cdecl _lfind(ptr ptr ptr long ptr) +@ cdecl _loaddll(str) +@ cdecl _local_unwind2(ptr long) +@ cdecl _locking(long long long) +@ cdecl _logb(double) @ cdecl _longjmpex(ptr long) longjmp -@ cdecl _lrotl(long long) -@ cdecl _lrotr(long long) -@ cdecl _lsearch(ptr ptr long long ptr) -@ cdecl _lseek(long long long) -@ cdecl -ret64 _lseeki64(long long long long) -@ cdecl _ltoa(long ptr long) -@ cdecl _ltow(long ptr long) -@ cdecl _makepath(str str str str str) -@ cdecl _mbbtombc(long) -@ cdecl _mbbtype(long long) -@ cdecl _mbccpy(str str) -@ cdecl _mbcjistojms(long) -@ cdecl _mbcjmstojis(long) -@ cdecl _mbclen(ptr) -@ cdecl _mbctohira(long) -@ cdecl _mbctokata(long) -@ cdecl _mbctolower(long) -@ cdecl _mbctombb(long) -@ cdecl _mbctoupper(long) -@ extern _mbctype -@ cdecl _mbsbtype(str long) -@ cdecl _mbscat(str str) -@ cdecl _mbschr(str long) -@ cdecl _mbscmp(str str) -@ cdecl _mbscoll(str str) -@ cdecl _mbscpy(ptr str) -@ cdecl _mbscspn(str str) -@ cdecl _mbsdec(ptr ptr) -@ cdecl _mbsdup(str) -@ cdecl _mbsicmp(str str) -@ cdecl _mbsicoll(str str) -@ cdecl _mbsinc(str) -@ cdecl _mbslen(str) -@ cdecl _mbslwr(str) -@ cdecl _mbsnbcat(str str long) -@ cdecl _mbsnbcmp(str str long) -@ cdecl _mbsnbcnt(ptr long) -@ cdecl _mbsnbcoll(str str long) -@ cdecl _mbsnbcpy(ptr str long) -@ cdecl _mbsnbicmp(str str long) -@ cdecl _mbsnbicoll(str str long) -@ cdecl _mbsnbset(str long long) -@ cdecl _mbsncat(str str long) -@ cdecl _mbsnccnt(str long) -@ cdecl _mbsncmp(str str long) -@ cdecl _mbsncoll(str str long) -@ cdecl _mbsncpy(str str long) -@ cdecl _mbsnextc(str) -@ cdecl _mbsnicmp(str str long) -@ cdecl _mbsnicoll(str str long) -@ cdecl _mbsninc(str long) -@ cdecl _mbsnset(str long long) -@ cdecl _mbspbrk(str str) -@ cdecl _mbsrchr(str long) -@ cdecl _mbsrev(str) -@ cdecl _mbsset(str long) -@ cdecl _mbsspn(str str) -@ cdecl _mbsspnp(str str) -@ cdecl _mbsstr(str str) -@ cdecl _mbstok(str str) -@ cdecl _mbstrlen(str) -@ cdecl _mbsupr(str) -@ cdecl _memccpy(ptr ptr long long) -@ cdecl _memicmp(str str long) -@ cdecl _mkdir(str) -@ cdecl _mktemp(str) -@ cdecl _msize(ptr) +@ cdecl _lrotl(long long) +@ cdecl _lrotr(long long) +@ cdecl _lsearch(ptr ptr long long ptr) +@ cdecl _lseek(long long long) +@ cdecl -ret64 _lseeki64(long long long long) +@ cdecl _ltoa(long ptr long) +@ cdecl _ltow(long ptr long) +@ cdecl _makepath(str str str str str) +@ cdecl _mbbtombc(long) +@ cdecl _mbbtype(long long) +@ cdecl _mbccpy(str str) +@ cdecl _mbcjistojms(long) +@ cdecl _mbcjmstojis(long) +@ cdecl _mbclen(ptr) +@ cdecl _mbctohira(long) +@ cdecl _mbctokata(long) +@ cdecl _mbctolower(long) +@ cdecl _mbctombb(long) +@ cdecl _mbctoupper(long) +@ extern _mbctype +@ cdecl _mbsbtype(str long) +@ cdecl _mbscat(str str) +@ cdecl _mbschr(str long) +@ cdecl _mbscmp(str str) +@ cdecl _mbscoll(str str) +@ cdecl _mbscpy(ptr str) +@ cdecl _mbscspn(str str) +@ cdecl _mbsdec(ptr ptr) +@ cdecl _mbsdup(str) +@ cdecl _mbsicmp(str str) +@ cdecl _mbsicoll(str str) +@ cdecl _mbsinc(str) +@ cdecl _mbslen(str) +@ cdecl _mbslwr(str) +@ cdecl _mbsnbcat(str str long) +@ cdecl _mbsnbcmp(str str long) +@ cdecl _mbsnbcnt(ptr long) +@ cdecl _mbsnbcoll(str str long) +@ cdecl _mbsnbcpy(ptr str long) +@ cdecl _mbsnbicmp(str str long) +@ cdecl _mbsnbicoll(str str long) +@ cdecl _mbsnbset(str long long) +@ cdecl _mbsncat(str str long) +@ cdecl _mbsnccnt(str long) +@ cdecl _mbsncmp(str str long) +@ cdecl _mbsncoll(str str long) +@ cdecl _mbsncpy(str str long) +@ cdecl _mbsnextc(str) +@ cdecl _mbsnicmp(str str long) +@ cdecl _mbsnicoll(str str long) +@ cdecl _mbsninc(str long) +@ cdecl _mbsnset(str long long) +@ cdecl _mbspbrk(str str) +@ cdecl _mbsrchr(str long) +@ cdecl _mbsrev(str) +@ cdecl _mbsset(str long) +@ cdecl _mbsspn(str str) +@ cdecl _mbsspnp(str str) +@ cdecl _mbsstr(str str) +@ cdecl _mbstok(str str) +@ cdecl _mbstrlen(str) +@ cdecl _mbsupr(str) +@ cdecl _memccpy(ptr ptr long long) +@ cdecl _memicmp(str str long) +@ cdecl _mkdir(str) +@ cdecl _mktemp(str) +@ cdecl _msize(ptr) @ stub _mtlock @ stub _mtunlock -@ cdecl _nextafter(double double) -@ cdecl _onexit(ptr) -@ varargs _open(str long) -@ cdecl _open_osfhandle(long long) -@ extern _osver +@ cdecl _nextafter(double double) +@ cdecl _onexit(ptr) +@ varargs _open(str long) +@ cdecl _open_osfhandle(long long) +@ extern _osver @ cdecl -i386 _outp(long long) MSVCRT__outp -@ cdecl -i386 _outpd(long long) MSVCRT__outpd +@ cdecl -i386 _outpd(long long) MSVCRT__outpd @ cdecl -i386 _outpw(long long) MSVCRT__outpw -@ cdecl _pclose(ptr) -@ extern _pctype -@ extern _pgmptr -@ cdecl _pipe(ptr long long) -@ cdecl _popen(str str) -@ cdecl _purecall() -@ cdecl _putch(long) -@ cdecl _putenv(str) -@ cdecl _putw(long ptr) -@ cdecl _putws(wstr) -@ extern _pwctype -@ cdecl _read(long ptr long) -@ cdecl _rmdir(str) -@ cdecl _rmtmp() -@ cdecl _rotl(long long) -@ cdecl _rotr(long long) -@ cdecl _safe_fdiv() -@ cdecl _safe_fdivr() -@ cdecl _safe_fprem() -@ cdecl _safe_fprem1() -@ cdecl _scalb( double long) -@ cdecl _searchenv(str str ptr) -@ stdcall -i386 _seh_longjmp_unwind(ptr) -@ cdecl _set_error_mode(long) -@ cdecl _seterrormode(long) -@ cdecl -i386 _setjmp(ptr) -@ cdecl -i386 _setjmp3(ptr long) -@ cdecl _setmaxstdio(long) -@ cdecl _setmbcp(long) -@ cdecl _setmode(long long) -@ cdecl _setsystime(ptr long) -@ cdecl _sleep(long) -@ varargs _snprintf(str long str) -@ varargs _snwprintf(wstr long wstr) -@ varargs _sopen(str long long) -@ varargs _spawnl(long str str) -@ varargs _spawnle(long str str) -@ varargs _spawnlp(long str str) -@ varargs _spawnlpe(long str str) -@ cdecl _spawnv(long str ptr) -@ cdecl _spawnve(long str ptr ptr) -@ cdecl _spawnvp(long str ptr) -@ cdecl _spawnvpe(long str ptr ptr) -@ cdecl _splitpath(str ptr ptr ptr ptr) -@ cdecl _stat(str ptr) -@ cdecl _stati64(str ptr) -@ cdecl _statusfp() -@ cdecl _strcmpi(str str) -@ cdecl _strdate(ptr) -@ cdecl _strdup(str) -@ cdecl _strerror(long) -@ cdecl _stricmp(str str) -@ cdecl _stricoll(str str) -@ cdecl _strlwr(str) -@ cdecl _strncoll(str str long) -@ cdecl _strnicmp(str str long) -@ cdecl _strnicoll(str str long) -@ cdecl _strnset(str long long) -@ cdecl _strrev(str) -@ cdecl _strset(str long) -@ cdecl _strtime(ptr) -@ cdecl _strupr(str) -@ cdecl _swab(str str long) -@ extern _sys_errlist -@ extern _sys_nerr -@ cdecl _tell(long) -@ cdecl -ret64 _telli64(long) -@ cdecl _tempnam(str str) -@ extern _timezone -@ cdecl _tolower(long) -@ cdecl _toupper(long) -@ extern _tzname -@ cdecl _tzset() -@ cdecl _ultoa(long ptr long) -@ cdecl _ultow(long ptr long) -@ cdecl _umask(long) -@ cdecl _ungetch(long) -@ cdecl _unlink(str) -@ cdecl _unloaddll(long) -@ cdecl _utime(str ptr) -@ cdecl _vsnprintf(ptr long ptr ptr) -@ cdecl _vsnwprintf(ptr long wstr long) -@ cdecl _waccess(wstr long) -@ cdecl _wasctime(ptr) -@ cdecl _wchdir(wstr) -@ cdecl _wchmod(wstr long) -@ extern _wcmdln -@ cdecl _wcreat(wstr long) -@ cdecl _wcsdup(wstr) -@ cdecl _wcsicmp(wstr wstr) -@ cdecl _wcsicoll(wstr wstr) -@ cdecl _wcslwr(wstr) -@ cdecl _wcsncoll(wstr wstr long) -@ cdecl _wcsnicmp(wstr wstr long) -@ cdecl _wcsnicoll(wstr wstr long) -@ cdecl _wcsnset(wstr long long) -@ cdecl _wcsrev(wstr) -@ cdecl _wcsset(wstr long) -@ cdecl _wcsupr(wstr) -@ cdecl _wctime(ptr) -@ extern _wenviron -@ varargs _wexecl(wstr wstr) -@ varargs _wexecle(wstr wstr) -@ varargs _wexeclp(wstr wstr) -@ varargs _wexeclpe(wstr wstr) -@ varargs _wexecv(wstr ptr) -@ varargs _wexecve(wstr ptr ptr) -@ varargs _wexecvp(wstr ptr) -@ varargs _wexecvpe(wstr ptr ptr) -@ cdecl _wfdopen(long wstr) -@ cdecl _wfindfirst(wstr ptr) -@ cdecl _wfindfirsti64(wstr ptr) -@ cdecl _wfindnext(long ptr) -@ cdecl _wfindnexti64(long ptr) -@ cdecl _wfopen(wstr wstr) -@ cdecl _wfreopen(wstr wstr ptr) -@ cdecl _wfsopen(wstr wstr long) -@ cdecl _wfullpath(ptr wstr long) -@ cdecl _wgetcwd(wstr long) -@ cdecl _wgetdcwd(long wstr long) -@ cdecl _wgetenv(wstr) -@ extern _winmajor -@ extern _winminor -@ extern _winver -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) -@ cdecl _wmkdir(wstr) -@ cdecl _wmktemp(wstr) -@ varargs _wopen(wstr long) -@ cdecl _wperror(wstr) -@ extern _wpgmptr -@ cdecl _wpopen(wstr wstr) -@ cdecl _wputenv(wstr) -@ cdecl _wremove(wstr) -@ cdecl _wrename(wstr wstr) -@ cdecl _write(long ptr long) -@ cdecl _wrmdir(wstr) -@ cdecl _wsearchenv(wstr wstr ptr) -@ cdecl _wsetlocale(long wstr) -@ varargs _wsopen(wstr long long) -@ varargs _wspawnl(long wstr wstr) -@ varargs _wspawnle(long wstr wstr) -@ varargs _wspawnlp(long wstr wstr) -@ varargs _wspawnlpe(long wstr wstr) -@ cdecl _wspawnv(long wstr ptr) -@ cdecl _wspawnve(long wstr ptr ptr) -@ cdecl _wspawnvp(long wstr ptr) -@ cdecl _wspawnvpe(long wstr ptr ptr) -@ cdecl _wsplitpath(wstr wstr wstr wstr wstr) -@ cdecl _wstat(wstr ptr) -@ cdecl _wstati64(wstr ptr) -@ cdecl _wstrdate(ptr) -@ cdecl _wstrtime(ptr) -@ cdecl _wsystem(wstr) -@ cdecl _wtempnam(wstr wstr) -@ cdecl _wtmpnam(ptr) -@ cdecl _wtoi(wstr) -@ cdecl _wtol(wstr) -@ cdecl _wunlink(wstr) -@ cdecl _wutime(wstr ptr) -@ cdecl _y0(double) -@ cdecl _y1(double) -@ cdecl _yn(long double ) -@ cdecl abort() -@ cdecl abs(long) -@ cdecl acos(double) -@ cdecl asctime(ptr) -@ cdecl asin(double) -@ cdecl atan(double) -@ cdecl atan2(double double) +@ cdecl _pclose(ptr) +@ extern _pctype +@ extern _pgmptr +@ cdecl _pipe(ptr long long) +@ cdecl _popen(str str) +@ cdecl _purecall() +@ cdecl _putch(long) +@ cdecl _putenv(str) +@ cdecl _putw(long ptr) +@ cdecl _putws(wstr) +@ extern _pwctype +@ cdecl _read(long ptr long) +@ cdecl _rmdir(str) +@ cdecl _rmtmp() +@ cdecl _rotl(long long) +@ cdecl _rotr(long long) +@ cdecl _safe_fdiv() +@ cdecl _safe_fdivr() +@ cdecl _safe_fprem() +@ cdecl _safe_fprem1() +@ cdecl _scalb( double long) +@ cdecl _searchenv(str str ptr) +@ stdcall -i386 _seh_longjmp_unwind(ptr) +@ cdecl _set_error_mode(long) +@ cdecl _seterrormode(long) +@ cdecl -i386 _setjmp(ptr) +@ cdecl -i386 _setjmp3(ptr long) +@ cdecl _setmaxstdio(long) +@ cdecl _setmbcp(long) +@ cdecl _setmode(long long) +@ cdecl _setsystime(ptr long) +@ cdecl _sleep(long) +@ varargs _snprintf(str long str) +@ varargs _snwprintf(wstr long wstr) +@ varargs _sopen(str long long) +@ varargs _spawnl(long str str) +@ varargs _spawnle(long str str) +@ varargs _spawnlp(long str str) +@ varargs _spawnlpe(long str str) +@ cdecl _spawnv(long str ptr) +@ cdecl _spawnve(long str ptr ptr) +@ cdecl _spawnvp(long str ptr) +@ cdecl _spawnvpe(long str ptr ptr) +@ cdecl _splitpath(str ptr ptr ptr ptr) +@ cdecl _stat(str ptr) +@ cdecl _stati64(str ptr) +@ cdecl _statusfp() +@ cdecl _strcmpi(str str) +@ cdecl _strdate(ptr) +@ cdecl _strdup(str) +@ cdecl _strerror(long) +@ cdecl _stricmp(str str) +@ cdecl _stricoll(str str) +@ cdecl _strlwr(str) +@ cdecl _strncoll(str str long) +@ cdecl _strnicmp(str str long) +@ cdecl _strnicoll(str str long) +@ cdecl _strnset(str long long) +@ cdecl _strrev(str) +@ cdecl _strset(str long) +@ cdecl _strtime(ptr) +@ cdecl _strupr(str) +@ cdecl _swab(str str long) +@ extern _sys_errlist +@ extern _sys_nerr +@ cdecl _tell(long) +@ cdecl -ret64 _telli64(long) +@ cdecl _tempnam(str str) +@ extern _timezone +@ cdecl _tolower(long) +@ cdecl _toupper(long) +@ extern _tzname +@ cdecl _tzset() +@ cdecl _ultoa(long ptr long) +@ cdecl _ultow(long ptr long) +@ cdecl _umask(long) +@ cdecl _ungetch(long) +@ cdecl _unlink(str) +@ cdecl _unloaddll(long) +@ cdecl _utime(str ptr) +@ cdecl _vsnprintf(ptr long ptr ptr) +@ cdecl _vsnwprintf(ptr long wstr long) +@ cdecl _waccess(wstr long) +@ cdecl _wasctime(ptr) +@ cdecl _wchdir(wstr) +@ cdecl _wchmod(wstr long) +@ extern _wcmdln +@ cdecl _wcreat(wstr long) +@ cdecl _wcsdup(wstr) +@ cdecl _wcsicmp(wstr wstr) +@ cdecl _wcsicoll(wstr wstr) +@ cdecl _wcslwr(wstr) +@ cdecl _wcsncoll(wstr wstr long) +@ cdecl _wcsnicmp(wstr wstr long) +@ cdecl _wcsnicoll(wstr wstr long) +@ cdecl _wcsnset(wstr long long) +@ cdecl _wcsrev(wstr) +@ cdecl _wcsset(wstr long) +@ cdecl _wcsupr(wstr) +@ cdecl _wctime(ptr) +@ extern _wenviron +@ varargs _wexecl(wstr wstr) +@ varargs _wexecle(wstr wstr) +@ varargs _wexeclp(wstr wstr) +@ varargs _wexeclpe(wstr wstr) +@ varargs _wexecv(wstr ptr) +@ varargs _wexecve(wstr ptr ptr) +@ varargs _wexecvp(wstr ptr) +@ varargs _wexecvpe(wstr ptr ptr) +@ cdecl _wfdopen(long wstr) +@ cdecl _wfindfirst(wstr ptr) +@ cdecl _wfindfirsti64(wstr ptr) +@ cdecl _wfindnext(long ptr) +@ cdecl _wfindnexti64(long ptr) +@ cdecl _wfopen(wstr wstr) +@ cdecl _wfreopen(wstr wstr ptr) +@ cdecl _wfsopen(wstr wstr long) +@ cdecl _wfullpath(ptr wstr long) +@ cdecl _wgetcwd(wstr long) +@ cdecl _wgetdcwd(long wstr long) +@ cdecl _wgetenv(wstr) +@ extern _winmajor +@ extern _winminor +@ extern _winver +@ cdecl _wmakepath(wstr wstr wstr wstr wstr) +@ cdecl _wmkdir(wstr) +@ cdecl _wmktemp(wstr) +@ varargs _wopen(wstr long) +@ cdecl _wperror(wstr) +@ extern _wpgmptr +@ cdecl _wpopen(wstr wstr) +@ cdecl _wputenv(wstr) +@ cdecl _wremove(wstr) +@ cdecl _wrename(wstr wstr) +@ cdecl _write(long ptr long) +@ cdecl _wrmdir(wstr) +@ cdecl _wsearchenv(wstr wstr ptr) +@ cdecl _wsetlocale(long wstr) +@ varargs _wsopen(wstr long long) +@ varargs _wspawnl(long wstr wstr) +@ varargs _wspawnle(long wstr wstr) +@ varargs _wspawnlp(long wstr wstr) +@ varargs _wspawnlpe(long wstr wstr) +@ cdecl _wspawnv(long wstr ptr) +@ cdecl _wspawnve(long wstr ptr ptr) +@ cdecl _wspawnvp(long wstr ptr) +@ cdecl _wspawnvpe(long wstr ptr ptr) +@ cdecl _wsplitpath(wstr wstr wstr wstr wstr) +@ cdecl _wstat(wstr ptr) +@ cdecl _wstati64(wstr ptr) +@ cdecl _wstrdate(ptr) +@ cdecl _wstrtime(ptr) +@ cdecl _wsystem(wstr) +@ cdecl _wtempnam(wstr wstr) +@ cdecl _wtmpnam(ptr) +@ cdecl _wtoi(wstr) +@ cdecl _wtol(wstr) +@ cdecl _wunlink(wstr) +@ cdecl _wutime(wstr ptr) +@ cdecl _y0(double) +@ cdecl _y1(double) +@ cdecl _yn(long double ) +@ cdecl abort() +@ cdecl abs(long) +@ cdecl acos(double) +@ cdecl asctime(ptr) +@ cdecl asin(double) +@ cdecl atan(double) +@ cdecl atan2(double double) @ extern atexit # <-- changing this will kill your cat, understand? -@ cdecl atof(str) -@ cdecl atoi(str) -@ cdecl atol(str) -@ cdecl bsearch(ptr ptr long long ptr) -@ cdecl calloc(long long) -@ cdecl ceil(double) -@ cdecl clearerr(ptr) -@ cdecl clock() -@ cdecl cos(double) -@ cdecl cosh(double) -@ cdecl ctime(ptr) -@ cdecl difftime(long long) -@ cdecl div(long long) -@ cdecl exit(long) -@ cdecl exp(double) -@ cdecl fabs(double) -@ cdecl fclose(ptr) -@ cdecl feof(ptr) -@ cdecl ferror(ptr) -@ cdecl fflush(ptr) -@ cdecl fgetc(ptr) -@ cdecl fgetpos(ptr ptr) -@ cdecl fgets(ptr long ptr) -@ cdecl fgetwc(ptr) -@ cdecl fgetws(ptr long ptr) -@ cdecl floor(double) -@ cdecl fmod(double double) -@ cdecl fopen(str str) -@ varargs fprintf(ptr str) -@ cdecl fputc(long ptr) -@ cdecl fputs(str ptr) -@ cdecl fputwc(long ptr) -@ cdecl fputws(wstr ptr) -@ cdecl fread(ptr long long ptr) -@ cdecl free(ptr) -@ cdecl freopen(str str ptr) -@ cdecl frexp(double ptr) -@ varargs fscanf(ptr str) -@ cdecl fseek(ptr long long) -@ cdecl fsetpos(ptr ptr) -@ cdecl ftell(ptr) -@ varargs fwprintf(ptr wstr) -@ cdecl fwrite(ptr long long ptr) -@ varargs fwscanf(ptr wstr) -@ cdecl getc(ptr) -@ cdecl getchar() -@ cdecl getenv(str) -@ cdecl gets(str) -@ cdecl getwc(ptr) -@ cdecl getwchar() -@ cdecl gmtime(ptr) -@ cdecl is_wctype(long long) -@ cdecl isalnum(long) -@ cdecl isalpha(long) -@ cdecl iscntrl(long) -@ cdecl isdigit(long) -@ cdecl isgraph(long) -@ cdecl isleadbyte(long) -@ cdecl islower(long) -@ cdecl isprint(long) -@ cdecl ispunct(long) -@ cdecl isspace(long) -@ cdecl isupper(long) -@ cdecl iswalnum(long) -@ cdecl iswalpha(long) -@ cdecl iswascii(long) -@ cdecl iswcntrl(long) -@ cdecl iswctype(long long) -@ cdecl iswdigit(long) -@ cdecl iswgraph(long) -@ cdecl iswlower(long) -@ cdecl iswprint(long) -@ cdecl iswpunct(long) -@ cdecl iswspace(long) -@ cdecl iswupper(long) -@ cdecl iswxdigit(long) -@ cdecl isxdigit(long) -@ cdecl labs(long) -@ cdecl ldexp( double long) -@ cdecl ldiv(long long) -@ cdecl localeconv() -@ cdecl localtime(ptr) -@ cdecl log(double) -@ cdecl log10(double) -@ cdecl -i386 longjmp(ptr long) -@ cdecl malloc(long) -@ cdecl mblen(ptr long) -@ cdecl mbstowcs(ptr str long) -@ cdecl mbtowc(wstr str long) -@ cdecl memchr(ptr long long) -@ cdecl memcmp(ptr ptr long) -@ cdecl memcpy(ptr ptr long) -@ cdecl memmove(ptr ptr long) -@ cdecl memset(ptr long long) -@ cdecl mktime(ptr) -@ cdecl modf(double ptr) -@ cdecl perror(str) -@ cdecl pow(double double) -@ varargs printf(str) -@ cdecl putc(long ptr) -@ cdecl putchar(long) -@ cdecl puts(str) +@ cdecl atof(str) +@ cdecl atoi(str) +@ cdecl atol(str) +@ cdecl bsearch(ptr ptr long long ptr) +@ cdecl calloc(long long) +@ cdecl ceil(double) +@ cdecl clearerr(ptr) +@ cdecl clock() +@ cdecl cos(double) +@ cdecl cosh(double) +@ cdecl ctime(ptr) +@ cdecl difftime(long long) +@ cdecl div(long long) +@ cdecl exit(long) +@ cdecl exp(double) +@ cdecl fabs(double) +@ cdecl fclose(ptr) +@ cdecl feof(ptr) +@ cdecl ferror(ptr) +@ cdecl fflush(ptr) +@ cdecl fgetc(ptr) +@ cdecl fgetpos(ptr ptr) +@ cdecl fgets(ptr long ptr) +@ cdecl fgetwc(ptr) +@ cdecl fgetws(ptr long ptr) +@ cdecl floor(double) +@ cdecl fmod(double double) +@ cdecl fopen(str str) +@ varargs fprintf(ptr str) +@ cdecl fputc(long ptr) +@ cdecl fputs(str ptr) +@ cdecl fputwc(long ptr) +@ cdecl fputws(wstr ptr) +@ cdecl fread(ptr long long ptr) +@ cdecl free(ptr) +@ cdecl freopen(str str ptr) +@ cdecl frexp(double ptr) +@ varargs fscanf(ptr str) +@ cdecl fseek(ptr long long) +@ cdecl fsetpos(ptr ptr) +@ cdecl ftell(ptr) +@ varargs fwprintf(ptr wstr) +@ cdecl fwrite(ptr long long ptr) +@ varargs fwscanf(ptr wstr) +@ cdecl getc(ptr) +@ cdecl getchar() +@ cdecl getenv(str) +@ cdecl gets(str) +@ cdecl getwc(ptr) +@ cdecl getwchar() +@ cdecl gmtime(ptr) +@ cdecl is_wctype(long long) +@ cdecl isalnum(long) +@ cdecl isalpha(long) +@ cdecl iscntrl(long) +@ cdecl isdigit(long) +@ cdecl isgraph(long) +@ cdecl isleadbyte(long) +@ cdecl islower(long) +@ cdecl isprint(long) +@ cdecl ispunct(long) +@ cdecl isspace(long) +@ cdecl isupper(long) +@ cdecl iswalnum(long) +@ cdecl iswalpha(long) +@ cdecl iswascii(long) +@ cdecl iswcntrl(long) +@ cdecl iswctype(long long) +@ cdecl iswdigit(long) +@ cdecl iswgraph(long) +@ cdecl iswlower(long) +@ cdecl iswprint(long) +@ cdecl iswpunct(long) +@ cdecl iswspace(long) +@ cdecl iswupper(long) +@ cdecl iswxdigit(long) +@ cdecl isxdigit(long) +@ cdecl labs(long) +@ cdecl ldexp( double long) +@ cdecl ldiv(long long) +@ cdecl localeconv() +@ cdecl localtime(ptr) +@ cdecl log(double) +@ cdecl log10(double) +@ cdecl -i386 longjmp(ptr long) +@ cdecl malloc(long) +@ cdecl mblen(ptr long) +@ cdecl mbstowcs(ptr str long) +@ cdecl mbtowc(wstr str long) +@ cdecl memchr(ptr long long) +@ cdecl memcmp(ptr ptr long) +@ cdecl memcpy(ptr ptr long) +@ cdecl memmove(ptr ptr long) +@ cdecl memset(ptr long long) +@ cdecl mktime(ptr) +@ cdecl modf(double ptr) +@ cdecl perror(str) +@ cdecl pow(double double) +@ varargs printf(str) +@ cdecl putc(long ptr) +@ cdecl putchar(long) +@ cdecl puts(str) @ cdecl putwc(long ptr) fputwc @ cdecl putwchar(long) _fputwchar -@ cdecl qsort(ptr long long ptr) -@ cdecl raise(long) -@ cdecl rand() -@ cdecl realloc(ptr long) -@ cdecl remove(str) -@ cdecl rename(str str) -@ cdecl rewind(ptr) -@ varargs scanf(str) -@ cdecl setbuf(ptr ptr) -@ cdecl setlocale(long str) -@ cdecl setvbuf(ptr str long long) -@ cdecl signal(long long) -@ cdecl sin(double) -@ cdecl sinh(double) -@ varargs sprintf(ptr str) -@ cdecl sqrt(double) -@ cdecl srand(long) -@ varargs sscanf(str str) -@ cdecl strcat(str str) -@ cdecl strchr(str long) -@ cdecl strcmp(str str) -@ cdecl strcoll(str str) -@ cdecl strcpy(ptr str) -@ cdecl strcspn(str str) -@ cdecl strerror(long) -@ cdecl strftime(str long str ptr) -@ cdecl strlen(str) -@ cdecl strncat(str str long) -@ cdecl strncmp(str str long) -@ cdecl strncpy(ptr str long) -@ cdecl strpbrk(str str) -@ cdecl strrchr(str long) -@ cdecl strspn(str str) -@ cdecl strstr(str str) -@ cdecl strtod(str ptr) -@ cdecl strtok(str str) -@ cdecl strtol(str ptr long) -@ cdecl strtoul(str ptr long) -@ cdecl strxfrm(ptr str long) -@ varargs swprintf(wstr wstr) -@ varargs swscanf(wstr wstr) -@ cdecl system(str) -@ cdecl tan(double) -@ cdecl tanh(double) -@ cdecl time(ptr) -@ cdecl tmpfile() -@ cdecl tmpnam(ptr) -@ cdecl tolower(long) -@ cdecl toupper(long) -@ cdecl towlower(long) -@ cdecl towupper(long) -@ cdecl ungetc(long ptr) -@ cdecl ungetwc(long ptr) -@ cdecl vfprintf(ptr str long) -@ cdecl vfwprintf(ptr wstr long) -@ cdecl vprintf(str long) -@ cdecl vsprintf(ptr str ptr) -@ cdecl vswprintf(ptr wstr long) -@ cdecl vwprintf(wstr long) -@ cdecl wcscat(wstr wstr) -@ cdecl wcschr(wstr long) -@ cdecl wcscmp(wstr wstr) -@ cdecl wcscoll(wstr wstr) -@ cdecl wcscpy(ptr wstr) -@ cdecl wcscspn(wstr wstr) -@ cdecl wcsftime(ptr long wstr ptr) -@ cdecl wcslen(wstr) -@ cdecl wcsncat(wstr wstr long) -@ cdecl wcsncmp(wstr wstr long) -@ cdecl wcsncpy(ptr wstr long) -@ cdecl wcspbrk(wstr wstr) -@ cdecl wcsrchr(wstr long) -@ cdecl wcsspn(wstr wstr) -@ cdecl wcsstr(wstr wstr) -@ cdecl wcstod(wstr ptr) -@ cdecl wcstok(wstr wstr) -@ cdecl wcstol(wstr ptr long) -@ cdecl wcstombs(ptr ptr long) -@ cdecl wcstoul(wstr ptr long) -@ cdecl wcsxfrm(ptr wstr long) -@ cdecl wctomb(ptr long) -@ varargs wprintf(wstr) -@ varargs wscanf(wstr) +@ cdecl qsort(ptr long long ptr) +@ cdecl raise(long) +@ cdecl rand() +@ cdecl realloc(ptr long) +@ cdecl remove(str) +@ cdecl rename(str str) +@ cdecl rewind(ptr) +@ varargs scanf(str) +@ cdecl setbuf(ptr ptr) +@ cdecl setlocale(long str) +@ cdecl setvbuf(ptr str long long) +@ cdecl signal(long long) +@ cdecl sin(double) +@ cdecl sinh(double) +@ varargs sprintf(ptr str) +@ cdecl sqrt(double) +@ cdecl srand(long) +@ varargs sscanf(str str) +@ cdecl strcat(str str) +@ cdecl strchr(str long) +@ cdecl strcmp(str str) +@ cdecl strcoll(str str) +@ cdecl strcpy(ptr str) +@ cdecl strcspn(str str) +@ cdecl strerror(long) +@ cdecl strftime(str long str ptr) +@ cdecl strlen(str) +@ cdecl strncat(str str long) +@ cdecl strncmp(str str long) +@ cdecl strncpy(ptr str long) +@ cdecl strpbrk(str str) +@ cdecl strrchr(str long) +@ cdecl strspn(str str) +@ cdecl strstr(str str) +@ cdecl strtod(str ptr) +@ cdecl strtok(str str) +@ cdecl strtol(str ptr long) +@ cdecl strtoul(str ptr long) +@ cdecl strxfrm(ptr str long) +@ varargs swprintf(wstr wstr) +@ varargs swscanf(wstr wstr) +@ cdecl system(str) +@ cdecl tan(double) +@ cdecl tanh(double) +@ cdecl time(ptr) +@ cdecl tmpfile() +@ cdecl tmpnam(ptr) +@ cdecl tolower(long) +@ cdecl toupper(long) +@ cdecl towlower(long) +@ cdecl towupper(long) +@ cdecl ungetc(long ptr) +@ cdecl ungetwc(long ptr) +@ cdecl vfprintf(ptr str long) +@ cdecl vfwprintf(ptr wstr long) +@ cdecl vprintf(str long) +@ cdecl vsprintf(ptr str ptr) +@ cdecl vswprintf(ptr wstr long) +@ cdecl vwprintf(wstr long) +@ cdecl wcscat(wstr wstr) +@ cdecl wcschr(wstr long) +@ cdecl wcscmp(wstr wstr) +@ cdecl wcscoll(wstr wstr) +@ cdecl wcscpy(ptr wstr) +@ cdecl wcscspn(wstr wstr) +@ cdecl wcsftime(ptr long wstr ptr) +@ cdecl wcslen(wstr) +@ cdecl wcsncat(wstr wstr long) +@ cdecl wcsncmp(wstr wstr long) +@ cdecl wcsncpy(ptr wstr long) +@ cdecl wcspbrk(wstr wstr) +@ cdecl wcsrchr(wstr long) +@ cdecl wcsspn(wstr wstr) +@ cdecl wcsstr(wstr wstr) +@ cdecl wcstod(wstr ptr) +@ cdecl wcstok(wstr wstr) +@ cdecl wcstol(wstr ptr long) +@ cdecl wcstombs(ptr ptr long) +@ cdecl wcstoul(wstr ptr long) +@ cdecl wcsxfrm(ptr wstr long) +@ cdecl wctomb(ptr long) +@ varargs wprintf(wstr) +@ varargs wscanf(wstr)
Modified: trunk/reactos/dll/win32/oleaut32/msvc.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oleaut32/msvc.S?r... ============================================================================== --- trunk/reactos/dll/win32/oleaut32/msvc.S [iso-8859-1] (original) +++ trunk/reactos/dll/win32/oleaut32/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -1,6 +1,15 @@
#include <asm.inc>
+#ifdef _M_AMD64 +.code64 + +PUBLIC call_method +call_method: + int 2ch + ret + +#else .code32
PUBLIC _call_method @@ -26,5 +35,6 @@ pop esi pop ebp ret +#endif
END
Modified: trunk/reactos/dll/win32/oleaut32/tmarshal.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/oleaut32/tmarshal... ============================================================================== --- trunk/reactos/dll/win32/oleaut32/tmarshal.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/oleaut32/tmarshal.c [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -136,41 +136,41 @@ DWORD xsize;
TRACE("...%s...\n",debugstr_guid(riid)); - + *pUnk = NULL; hres = xbuf_get(buf,(LPBYTE)&xsize,sizeof(xsize)); if (hres) { ERR("xbuf_get failed\n"); return hres; } - + if (xsize == 0) return S_OK; - + hres = CreateStreamOnHGlobal(0,TRUE,&pStm); if (hres) { ERR("Stream create failed %x\n",hres); return hres; } - + hres = IStream_Write(pStm,buf->base+buf->curoff,xsize,&res); if (hres) { ERR("stream write %x\n",hres); return hres; } - + memset(&seekto,0,sizeof(seekto)); hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos); if (hres) { ERR("Failed Seek %x\n",hres); return hres; } - + hres = CoUnmarshalInterface(pStm,riid,(LPVOID*)pUnk); if (hres) { ERR("Unmarshalling interface %s failed with %x\n",debugstr_guid(riid),hres); return hres; } - + IStream_Release(pStm); return xbuf_skip(buf,xsize); } @@ -200,25 +200,25 @@ hres = E_FAIL;
TRACE("...%s...\n",debugstr_guid(riid)); - + hres = CreateStreamOnHGlobal(0,TRUE,&pStm); if (hres) { ERR("Stream create failed %x\n",hres); goto fail; } - + hres = CoMarshalInterface(pStm,riid,pUnk,0,NULL,0); if (hres) { ERR("Marshalling interface %s failed with %x\n", debugstr_guid(riid), hres); goto fail; } - + hres = IStream_Stat(pStm,&ststg,STATFLAG_NONAME); if (hres) { ERR("Stream stat failed\n"); goto fail; } - + tempbuf = HeapAlloc(GetProcessHeap(), 0, ststg.cbSize.u.LowPart); memset(&seekto,0,sizeof(seekto)); hres = IStream_Seek(pStm,seekto,SEEK_SET,&newpos); @@ -226,22 +226,22 @@ ERR("Failed Seek %x\n",hres); goto fail; } - + hres = IStream_Read(pStm,tempbuf,ststg.cbSize.u.LowPart,&res); if (hres) { ERR("Failed Read %x\n",hres); goto fail; } - + xsize = ststg.cbSize.u.LowPart; xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize)); hres = xbuf_add(buf,tempbuf,ststg.cbSize.u.LowPart); - + HeapFree(GetProcessHeap(),0,tempbuf); IStream_Release(pStm); - + return hres; - + fail: xsize = 0; xbuf_add(buf,(LPBYTE)&xsize,sizeof(xsize)); @@ -385,8 +385,13 @@ #include "poppack.h"
#else /* __i386__ */ +#ifdef _MSC_VER +#pragma message("You need to implement stubless proxies for your architecture") +#else # warning You need to implement stubless proxies for your architecture +#endif typedef struct _TMAsmProxy { + char a; } TMAsmProxy; #endif
@@ -1010,7 +1015,7 @@ ITypeInfo_ReleaseTypeAttr(tinfo2, tattr); ITypeInfo_Release(tinfo2); } - /* read it in all cases, we need to know if we have + /* read it in all cases, we need to know if we have * NULL pointer or not. */ hres = xbuf_get(buf,(LPBYTE)&cookie,sizeof(cookie)); @@ -1862,7 +1867,7 @@ { TMStubImpl *This = (TMStubImpl *)iface; ULONG refCount = InterlockedIncrement(&This->ref); - + TRACE("(%p)->(ref before=%u)\n", This, refCount - 1);
return refCount;
Modified: trunk/reactos/dll/win32/riched20/msvc-thiscall.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/riched20/msvc-thi... ============================================================================== --- trunk/reactos/dll/win32/riched20/msvc-thiscall.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/riched20/msvc-thiscall.c [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -52,11 +52,9 @@ DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxImmReleaseContext,8) DEFINE_THISCALL_WRAPPER(ITextHostImpl_TxGetSelectionBarWidth,8)
-#define STDCALL(func) __stdcall_ ## func #define DEFINE_STDCALL_WRAPPER(num,func,args) \ __declspec(naked) void __stdcall __stdcall_##func(_tag_##func p1) \ { \ - __asm pop eax \ __asm pop eax \ __asm pop ecx \ __asm push eax \
Modified: trunk/reactos/dll/win32/rpcrt4/msvc.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/rpcrt4/msvc.S?rev... ============================================================================== --- trunk/reactos/dll/win32/rpcrt4/msvc.S [iso-8859-1] (original) +++ trunk/reactos/dll/win32/rpcrt4/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -1,6 +1,7 @@
#include <asm.inc>
+#ifdef _M_IX86 .code32
EXTERN _ndr_client_call:PROC @@ -28,5 +29,118 @@ mov ecx, [esp] /* return address */ add esp, edx jmp ecx +#else +.code64
-END +EXTERN ndr_client_call:PROC + +PUBLIC call_stubless_func +FUNC call_stubless_func + mov [rsp + 8], rcx + .SAVEREG rcx, 8 + mov [rsp + 10h], rdx + .SAVEREG rdx, 10h + mov [rsp + 18h], r8 + .SAVEREG r8, 18h + mov [rsp + 20h], r9 + .SAVEREG r9, 20h + sub rsp, 38h + .ALLOCSTACK 38h + .ENDPROLOG + + lea r8, [rsp +38h + 8] /* &This */ + mov rcx, [rcx] /* This->lpVtbl */ + mov rcx, [rcx - 10h] /* MIDL_STUBLESS_PROXY_INFO */ + mov rdx, [rcx + 10h] /* info->FormatStringOffset */ + movzx rdx, word ptr [rdx+r10*2] /* FormatStringOffset[index] */ + add rdx, [rcx + 8] /* info->ProcFormatString + offset */ + mov rcx, [rcx] /* info->pStubDesc */ + + movaps [rsp + 20h], xmm1 + movaps [rsp + 28h], xmm2 + movaps [rsp + 30h], xmm3 + lea r9, [rsp + 18h] /* fpu_args */ + call ndr_client_call + add rsp, 38h + ret +ENDFUNC call_stubless_func + +PUBLIC call_server_func +FUNC call_server_func + push rbp + .PUSHREG rbp + mov rbp, rsp + push rsi + .PUSHREG rsi + push rdi + .PUSHREG rdi + .ENDPROLOG + + mov rax, rcx /* function to call */ + mov rcx, 32 /* allocate max(32,stack_size) bytes of stack space */ + cmp r8, rcx + cmovg rcx, r8 + sub rsp, rcx + and rsp, NOT 15 + mov rcx, r8 + shr rcx, 3 + mov rdi, rsp + mov rsi, rdx + rep movsq /* copy arguments */ + mov rcx, [rsp] + mov rdx, [rsp + 8] + mov r8, [rsp + 16] + mov r9, [rsp + 24] + movd xmm0, rcx + movd xmm1, rdx + movd xmm2, r8 + movd xmm3, r9 + call rax + + lea rsp, [rbp - 16] /* restore stack */ + pop rdi + pop rsi + pop rbp + ret +ENDFUNC call_server_func + + +PUBLIC NdrClientCall2 +FUNC NdrClientCall2 + mov [rsp + 18h], r8 + .SAVEREG r8, 18h + mov [rsp + 20h], r9 + .SAVEREG r9, 20h + sub rsp, 28h + .ALLOCSTACK 28h + .ENDPROLOG + + lea r8, [rsp + 28h + 18h] + xor r9, r9 + call ndr_client_call + + add rsp, 28h + ret +ENDFUNC NdrClientCall2 + +EXTERN ndr_async_client_call:PROC +PUBLIC NdrAsyncClientCall +FUNC NdrAsyncClientCall + mov [rsp + 18h], r8 + .SAVEREG r8, 18h + mov [rsp + 20h], r9 + .SAVEREG r9, 20h + sub rsp, 28h + .ALLOCSTACK 28h + .ENDPROLOG + + lea r8, [rsp + 28h + 18h] + call ndr_async_client_call + + add rsp, 28h + ret +ENDFUNC NdrAsyncClientCall + +#endif + +END
Modified: trunk/reactos/drivers/ksfilter/ks/msvc.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/ksfilter/ks/msvc.S?... ============================================================================== --- trunk/reactos/drivers/ksfilter/ks/msvc.S [iso-8859-1] (original) +++ trunk/reactos/drivers/ksfilter/ks/msvc.S [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -8,10 +8,10 @@ ALIAS <&alias> = <&orig> ENDM
+#ifdef _M_IX86 PUBLIC ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ: jmp _IIndirectedUnknown_fnRelease@4 -
DEFINE_ALIAS ??0CBaseUnknown@@QAE@ABU_GUID@@PAUIUnknown@@@Z, @CBaseUnknown_ConstructorWithGUID@16 DEFINE_ALIAS ??0CBaseUnknown@@QAE@PAUIUnknown@@@Z, @CBaseUnknown_Constructor@12 @@ -22,5 +22,21 @@ DEFINE_ALIAS ?IndirectedRelease@CBaseUnknown@@UAGKXZ, _IIndirectedUnknown_fnRelease@4 DEFINE_ALIAS ?NonDelegatedAddRef@CBaseUnknown@@UAGKXZ, _INonDelegatedUnknown_fnAddRef@4 DEFINE_ALIAS ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z, _INonDelegatedUnknown_fnQueryInterface@12 +#else +EXTERN IIndirectedUnknown_fnRelease:PROC +PUBLIC ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ +?NonDelegatedRelease@CBaseUnknown@@UAGKXZ: + jmp IIndirectedUnknown_fnRelease + +DEFINE_ALIAS ??0CBaseUnknown@@QAE@ABU_GUID@@PAUIUnknown@@@Z, CBaseUnknown_ConstructorWithGUID +DEFINE_ALIAS ??0CBaseUnknown@@QAE@PAUIUnknown@@@Z, CBaseUnknown_Constructor +DEFINE_ALIAS ??1CBaseUnknown@@UAE@XZ, CBaseUnknown_DefaultDestructor +DEFINE_ALIAS ??_FCBaseUnknown@@QAEXXZ, CBaseUnknown_Destructor +DEFINE_ALIAS ?IndirectedAddRef@CBaseUnknown@@UAGKXZ, IIndirectedUnknown_fnAddRef +DEFINE_ALIAS ?IndirectedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z, IIndirectedUnknown_fnQueryInterface +DEFINE_ALIAS ?IndirectedRelease@CBaseUnknown@@UAGKXZ, IIndirectedUnknown_fnRelease +DEFINE_ALIAS ?NonDelegatedAddRef@CBaseUnknown@@UAGKXZ, INonDelegatedUnknown_fnAddRef +DEFINE_ALIAS ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z, INonDelegatedUnknown_fnQueryInterface +#endif
END
Modified: trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/filters/k... ============================================================================== --- trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/filters/kmixer/kmixer.h [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -32,3 +32,8 @@ NTSTATUS CreatePin( IN PIRP Irp); + +#ifndef _M_IX86 +#define KeSaveFloatingPointState(x) ((void)(x), STATUS_SUCCESS) +#define KeRestoreFloatingPointState(x) ((void)0) +#endif
Modified: trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/filters/k... ============================================================================== --- trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/filters/kmixer/pin.c [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -76,7 +76,7 @@ State = src_new(SRC_SINC_FASTEST, NumChannels, &error); if (!State) { - DPRINT1("KeSaveFloatingPointState failed with %x\n", Status); + DPRINT1("src_new failed with %x\n", error); KeRestoreFloatingPointState(&FloatSave); ExFreePool(FloatIn); ExFreePool(FloatOut);
Modified: trunk/reactos/include/reactos/libs/pseh/pseh2.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/pseh/p... ============================================================================== --- trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/pseh/pseh2.h [iso-8859-1] Tue Aug 23 08:58:15 2011 @@ -23,19 +23,7 @@ #ifndef KJK_PSEH2_H_ #define KJK_PSEH2_H_
-#if defined(USE_DUMMY_PSEH) || defined (__arm__) || defined(__clang__) || defined(_M_AMD64) - -#define _SEH2_TRY { -#define _SEH2_FINALLY } { -#define _SEH2_EXCEPT(...) } if (0) { -#define _SEH2_END } -#define _SEH2_GetExceptionInformation() -#define _SEH2_GetExceptionCode() 0 -#define _SEH2_AbnormalTermination() -#define _SEH2_YIELD(STMT_) STMT_ -#define _SEH2_LEAVE - -#elif defined(USE_NATIVE_SEH) || defined(_MSC_VER) +#if defined(USE_NATIVE_SEH) || defined(_MSC_VER)
#include <excpt.h> #define _SEH2_TRY __try @@ -47,6 +35,18 @@ #define _SEH2_AbnormalTermination() (AbnormalTermination()) #define _SEH2_YIELD(STMT_) STMT_ #define _SEH2_LEAVE __leave + +#elif defined(USE_DUMMY_PSEH) || defined (__arm__) || defined(__clang__) || defined(_M_AMD64) + +#define _SEH2_TRY { +#define _SEH2_FINALLY } { +#define _SEH2_EXCEPT(...) } if (0) { +#define _SEH2_END } +#define _SEH2_GetExceptionInformation() +#define _SEH2_GetExceptionCode() 0 +#define _SEH2_AbnormalTermination() +#define _SEH2_YIELD(STMT_) STMT_ +#define _SEH2_LEAVE
#elif defined(__GNUC__)