diff --git a/README.md b/README.md index 20b2c389..27dbe305 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,9 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [1]:** +**Bug fixes and features included in the next upcoming release [2]:** +* Add stub dlls required for MSVC 2015 runtime library (Windows 10) * Improve stubs for dxgi MakeWindowAssociation and GetWindowAssociation diff --git a/debian/changelog b/debian/changelog index cb47a030..405e75e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ wine-staging (1.7.49) UNRELEASED; urgency=low * Added patch to improve stubs for dxgi MakeWindowAssociation and GetWindowAssociation. + * Added patch for stub dlls required by the MSVC 2015 runtime library. * Removed patch to avoid race-conditions with long running threadpool tasks (accepted upstream). * Removed patch to add support for ThreadQuerySetWin32StartAddress info class diff --git a/patches/api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Add-the-new-universal-CRT-DLL.patch b/patches/api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Add-the-new-universal-CRT-DLL.patch new file mode 100644 index 00000000..c5c4b65c --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Add-the-new-universal-CRT-DLL.patch @@ -0,0 +1,2624 @@ +From cee6d1991d4b43b26fd672bf7561b4cdddbd041f Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:00 +0300 +Subject: ucrtbase: Add the new universal CRT DLL. + +Since MSVC 2015/Windows 10, the C runtime has now been split into two +parts, ucrtbase, which is the generic C runtime which is now considered +a system component (in Windows 10, and as an extra installed runtime +component for older Windows version), and vcruntimeX which is specific +to the compiler version. + +This uses the msvcrt implementation, just like the earlier msvcr* DLLs. + +Functions with names that existed in msvcr120 are hooked up so far. +--- + configure.ac | 1 + + dlls/ucrtbase/Makefile.in | 33 + + dlls/ucrtbase/ucrtbase.spec | 2542 +++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 2576 insertions(+) + create mode 100644 dlls/ucrtbase/Makefile.in + create mode 100644 dlls/ucrtbase/ucrtbase.spec + +diff --git a/configure.ac b/configure.ac +index 1329786..0a93a00 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3303,6 +3303,7 @@ WINE_CONFIG_DLL(twain.dll16,enable_win16) + WINE_CONFIG_DLL(twain_32) + WINE_CONFIG_TEST(dlls/twain_32/tests) + WINE_CONFIG_DLL(typelib.dll16,enable_win16) ++WINE_CONFIG_DLL(ucrtbase,,[implib]) + WINE_CONFIG_DLL(unicows,,[implib]) + WINE_CONFIG_DLL(updspapi) + WINE_CONFIG_DLL(url,,[implib]) +diff --git a/dlls/ucrtbase/Makefile.in b/dlls/ucrtbase/Makefile.in +new file mode 100644 +index 0000000..cbb18c6 +--- /dev/null ++++ b/dlls/ucrtbase/Makefile.in +@@ -0,0 +1,33 @@ ++EXTRADEFS = -D_MT -D_MSVCR_VER=140 ++MODULE = ucrtbase.dll ++IMPORTLIB = ucrtbase ++DELAYIMPORTS = advapi32 user32 ++PARENTSRC = ../msvcrt ++ ++C_SRCS = \ ++ console.c \ ++ cpp.c \ ++ ctype.c \ ++ data.c \ ++ dir.c \ ++ environ.c \ ++ errno.c \ ++ except.c \ ++ except_arm.c \ ++ except_i386.c \ ++ except_x86_64.c \ ++ exit.c \ ++ file.c \ ++ heap.c \ ++ locale.c \ ++ lock.c \ ++ main.c \ ++ math.c \ ++ mbcs.c \ ++ misc.c \ ++ process.c \ ++ string.c \ ++ thread.c \ ++ time.c \ ++ undname.c \ ++ wcs.c +diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec +new file mode 100644 +index 0000000..a1be10d +--- /dev/null ++++ b/dlls/ucrtbase/ucrtbase.spec +@@ -0,0 +1,2542 @@ ++@ 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() ++@ stub _Cbuild ++@ stub _Cmulcc ++@ stub _Cmulcr ++@ stub _CreateFrameInfo ++@ stdcall _CxxThrowException(long long) ++@ cdecl -arch=i386 -norelay _EH_prolog() ++@ stub _Exit ++@ stub _FCbuild ++@ stub _FCmulcc ++@ stub _FCmulcr ++@ stub _FindAndUnlinkFrame ++@ cdecl _Getdays() ++@ cdecl _Getmonths() ++@ cdecl _Gettnames() ++@ stub _IsExceptionObjectToBeDestroyed ++@ stub _LCbuild ++@ stub _LCmulcc ++@ stub _LCmulcr ++@ stub _NLG_Dispatch2 ++@ stub _NLG_Return ++@ stub _NLG_Return2 ++@ stub _SetWinRTOutOfMemoryExceptionCallback ++@ cdecl _Strftime(str long str ptr ptr) ++@ cdecl _W_Getdays() ++@ cdecl _W_Getmonths() ++@ stub _W_Gettnames ++@ stub _Wcsftime ++@ cdecl __AdjustPointer(ptr ptr) ++@ stub __BuildCatchObject ++@ stub __BuildCatchObjectHelper ++@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr) ++@ stub __CxxExceptionFilter ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr) ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler ++@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr) ++@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize() ++@ stub __CxxRegisterExceptionObject ++@ stub __CxxUnregisterExceptionObject ++@ stub __DestructExceptionObject ++@ stub __FrameUnwindFilter ++@ stub __GetPlatformExceptionInfo ++@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid ++@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast ++@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid ++@ stub __TypeMatch ++@ cdecl ___lc_codepage_func() ++@ cdecl ___lc_collate_cp_func() ++@ cdecl ___lc_locale_name_func() ++@ cdecl ___mb_cur_max_func() MSVCRT____mb_cur_max_func ++@ cdecl ___mb_cur_max_l_func(ptr) ++@ stub __acrt_iob_func ++@ stub __conio_common_vcprintf ++@ stub __conio_common_vcprintf_p ++@ stub __conio_common_vcprintf_s ++@ stub __conio_common_vcscanf ++@ stub __conio_common_vcwprintf ++@ stub __conio_common_vcwprintf_p ++@ stub __conio_common_vcwprintf_s ++@ stub __conio_common_vcwscanf ++@ cdecl -arch=i386 __control87_2(long long ptr ptr) ++@ stub __current_exception ++@ stub __current_exception_context ++@ cdecl __daylight() MSVCRT___p__daylight ++@ stub __dcrt_get_wide_environment_from_os ++@ stub __dcrt_initial_narrow_environment ++@ cdecl __doserrno() MSVCRT___doserrno ++@ cdecl __dstbias() MSVCRT___p__dstbias ++@ stub __fpe_flt_rounds ++@ cdecl __fpecode() ++@ stub __initialize_lconv_for_unsigned_char ++@ stub __intrinsic_abnormal_termination ++@ stub __intrinsic_setjmp ++@ cdecl __isascii(long) MSVCRT___isascii ++@ cdecl __iscsym(long) MSVCRT___iscsym ++@ cdecl __iscsymf(long) MSVCRT___iscsymf ++@ stub __iswcsym ++@ stub __iswcsymf ++@ cdecl -arch=i386 __libm_sse2_acos() ++@ cdecl -arch=i386 __libm_sse2_acosf() ++@ cdecl -arch=i386 __libm_sse2_asin() ++@ cdecl -arch=i386 __libm_sse2_asinf() ++@ cdecl -arch=i386 __libm_sse2_atan() ++@ cdecl -arch=i386 __libm_sse2_atan2() ++@ cdecl -arch=i386 __libm_sse2_atanf() ++@ cdecl -arch=i386 __libm_sse2_cos() ++@ cdecl -arch=i386 __libm_sse2_cosf() ++@ cdecl -arch=i386 __libm_sse2_exp() ++@ cdecl -arch=i386 __libm_sse2_expf() ++@ cdecl -arch=i386 __libm_sse2_log() ++@ cdecl -arch=i386 __libm_sse2_log10() ++@ cdecl -arch=i386 __libm_sse2_log10f() ++@ cdecl -arch=i386 __libm_sse2_logf() ++@ cdecl -arch=i386 __libm_sse2_pow() ++@ cdecl -arch=i386 __libm_sse2_powf() ++@ cdecl -arch=i386 __libm_sse2_sin() ++@ cdecl -arch=i386 __libm_sse2_sinf() ++@ cdecl -arch=i386 __libm_sse2_tan() ++@ cdecl -arch=i386 __libm_sse2_tanf() ++@ cdecl __p___argc() MSVCRT___p___argc ++@ cdecl __p___argv() MSVCRT___p___argv ++@ cdecl __p___wargv() MSVCRT___p___wargv ++@ cdecl __p__acmdln() ++@ cdecl __p__commode() ++@ cdecl __p__environ() MSVCRT___p__environ ++@ cdecl __p__fmode() ++@ stub __p__mbcasemap() ++@ cdecl __p__mbctype() ++@ cdecl __p__pgmptr() MSVCRT___p__pgmptr ++@ cdecl __p__wcmdln() ++@ cdecl __p__wenviron() MSVCRT___p__wenviron ++@ cdecl __p__wpgmptr() MSVCRT___p__wpgmptr ++@ cdecl __pctype_func() MSVCRT___pctype_func ++@ stub __processing_throw ++@ stub __pwctype_func ++@ cdecl __pxcptinfoptrs() MSVCRT___pxcptinfoptrs ++@ stub __report_gsfailure ++@ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr ++@ stub __std_exception_copy ++@ stub __std_exception_destroy ++@ stub __std_type_info_compare ++@ stub __std_type_info_destroy_list ++@ stub __std_type_info_hash ++@ stub __std_type_info_name ++@ stub __stdio_common_vfprintf ++@ stub __stdio_common_vfprintf_p ++@ stub __stdio_common_vfprintf_s ++@ stub __stdio_common_vfscanf ++@ stub __stdio_common_vfwprintf ++@ stub __stdio_common_vfwprintf_p ++@ stub __stdio_common_vfwprintf_s ++@ stub __stdio_common_vfwscanf ++@ stub __stdio_common_vsnprintf_s ++@ stub __stdio_common_vsnwprintf_s ++@ stub __stdio_common_vsprintf ++@ stub __stdio_common_vsprintf_p ++@ stub __stdio_common_vsprintf_s ++@ stub __stdio_common_vsscanf ++@ stub __stdio_common_vswprintf ++@ stub __stdio_common_vswprintf_p ++@ stub __stdio_common_vswprintf_s ++@ stub __stdio_common_vswscanf ++@ stub __strncnt ++@ cdecl __sys_errlist() ++@ cdecl __sys_nerr() ++@ cdecl __threadhandle() kernel32.GetCurrentThread ++@ cdecl __threadid() kernel32.GetCurrentThreadId ++@ cdecl __timezone() MSVCRT___p__timezone ++@ cdecl __toascii(long) MSVCRT___toascii ++@ cdecl __tzname() __p__tzname ++@ cdecl __unDName(ptr str long ptr ptr long) ++@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) ++@ cdecl __uncaught_exception() MSVCRT___uncaught_exception ++@ cdecl __wcserror(wstr) MSVCRT___wcserror ++@ cdecl __wcserror_s(ptr long wstr) MSVCRT___wcserror_s ++@ stub __wcsncnt ++@ cdecl -ret64 _abs64(int64) ++@ cdecl _access(str long) MSVCRT__access ++@ cdecl _access_s(str long) MSVCRT__access_s ++@ cdecl _aligned_free(ptr) ++@ cdecl _aligned_malloc(long long) ++@ cdecl _aligned_msize(ptr long long) ++@ cdecl _aligned_offset_malloc(long long long) ++@ cdecl _aligned_offset_realloc(ptr long long long) ++@ stub _aligned_offset_recalloc ++@ cdecl _aligned_realloc(ptr long long) ++@ stub _aligned_recalloc ++@ cdecl _assert(str str long) MSVCRT__assert ++@ cdecl _atodbl(ptr str) MSVCRT__atodbl ++@ cdecl _atodbl_l(ptr str ptr) MSVCRT__atodbl_l ++@ cdecl _atof_l(str ptr) MSVCRT__atof_l ++@ cdecl _atoflt(ptr str) MSVCRT__atoflt ++@ cdecl _atoflt_l(ptr str ptr) MSVCRT__atoflt_l ++@ cdecl -ret64 _atoi64(str) ntdll._atoi64 ++@ stub _atoi64_l ++@ cdecl _atoi_l(str ptr) MSVCRT__atoi_l ++@ stub _atol_l ++@ cdecl _atoldbl(ptr str) MSVCRT__atoldbl ++@ stub _atoldbl_l ++@ stub _atoll_l ++@ cdecl _beep(long long) MSVCRT__beep ++@ cdecl _beginthread(ptr long ptr) ++@ cdecl _beginthreadex(ptr long ptr ptr long ptr) ++@ cdecl _byteswap_uint64(int64) ++@ cdecl _byteswap_ulong(long) MSVCRT__byteswap_ulong ++@ cdecl _byteswap_ushort(long) ++@ cdecl _c_exit() MSVCRT__c_exit ++@ cdecl _cabs(long) MSVCRT__cabs ++@ cdecl _callnewh(long) ++@ stub _calloc_base ++@ cdecl _cexit() MSVCRT__cexit ++@ cdecl _cgets(ptr) ++@ stub _cgets_s ++@ stub _cgetws ++@ stub _cgetws_s ++@ cdecl _chdir(str) MSVCRT__chdir ++@ cdecl _chdrive(long) MSVCRT__chdrive ++@ cdecl _chgsign(double) MSVCRT__chgsign ++@ cdecl _chgsignf(float) MSVCRT__chgsignf ++@ cdecl -arch=i386 -norelay _chkesp() ++@ cdecl _chmod(str long) MSVCRT__chmod ++@ cdecl _chsize(long long) MSVCRT__chsize ++@ cdecl _chsize_s(long int64) MSVCRT__chsize_s ++@ cdecl _clearfp() ++@ cdecl _close(long) MSVCRT__close ++@ cdecl _commit(long) MSVCRT__commit ++@ cdecl _configthreadlocale(long) ++@ stub _configure_narrow_argv ++@ stub _configure_wide_argv ++@ cdecl _control87(long long) ++@ cdecl _controlfp(long long) ++@ cdecl _controlfp_s(ptr long long) ++@ cdecl _copysign(double double) MSVCRT__copysign ++@ cdecl _copysignf(float float) MSVCRT__copysignf ++@ cdecl _cputs(str) ++@ cdecl _cputws(wstr) ++@ cdecl _creat(str long) MSVCRT__creat ++@ cdecl _create_locale(long str) MSVCRT__create_locale ++@ stub _crt_at_quick_exit ++@ stub _crt_atexit ++@ stub _crt_debugger_hook ++@ cdecl _ctime32(ptr) MSVCRT__ctime32 ++@ cdecl _ctime32_s(str long ptr) MSVCRT__ctime32_s ++@ cdecl _ctime64(ptr) MSVCRT__ctime64 ++@ cdecl _ctime64_s(str long ptr) MSVCRT__ctime64_s ++@ cdecl _cwait(ptr long long) ++@ stub _d_int ++@ cdecl _dclass(double) MSVCR120__dclass ++@ stub _dexp ++@ cdecl _difftime32(long long) MSVCRT__difftime32 ++@ cdecl _difftime64(long long) MSVCRT__difftime64 ++@ stub _dlog ++@ stub _dnorm ++@ stub _dpcomp ++@ stub _dpoly ++@ stub _dscale ++@ cdecl _dsign(double) MSVCR120__dsign ++@ stub _dsin ++@ cdecl _dtest(ptr) MSVCR120__dtest ++@ stub _dunscale ++@ cdecl _dup(long) MSVCRT__dup ++@ cdecl _dup2(long long) MSVCRT__dup2 ++@ cdecl _dupenv_s(ptr ptr str) ++@ cdecl _ecvt(double long ptr ptr) MSVCRT__ecvt ++@ cdecl _ecvt_s(str long double long ptr ptr) MSVCRT__ecvt_s ++@ cdecl _endthread() ++@ cdecl _endthreadex(long) ++@ cdecl _eof(long) MSVCRT__eof ++@ cdecl _errno() MSVCRT__errno ++@ stub _except1 ++@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) ++@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr) ++@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr) ++@ varargs _execl(str str) ++@ varargs _execle(str str) ++@ varargs _execlp(str str) ++@ varargs _execlpe(str str) ++@ stub _execute_onexit_table ++@ cdecl _execv(str ptr) ++@ cdecl _execve(str ptr ptr) MSVCRT__execve ++@ cdecl _execvp(str ptr) ++@ cdecl _execvpe(str ptr ptr) ++@ cdecl _exit(long) MSVCRT__exit ++@ cdecl _expand(ptr long) ++@ cdecl _fclose_nolock(ptr) MSVCRT__fclose_nolock ++@ cdecl _fcloseall() MSVCRT__fcloseall ++@ cdecl _fcvt(double long ptr ptr) MSVCRT__fcvt ++@ cdecl _fcvt_s(ptr long double long ptr ptr) MSVCRT__fcvt_s ++@ stub _fd_int ++@ cdecl _fdclass(float) MSVCR120__fdclass ++@ stub _fdexp ++@ stub _fdlog ++@ stub _fdnorm ++@ cdecl _fdopen(long str) MSVCRT__fdopen ++@ stub _fdpcomp ++@ stub _fdpoly ++@ stub _fdscale ++@ cdecl _fdsign(float) MSVCR120__fdsign ++@ stub _fdsin ++@ cdecl _fdtest(ptr) MSVCR120__fdtest ++@ stub _fdunscale ++@ cdecl _fflush_nolock(ptr) MSVCRT__fflush_nolock ++@ cdecl _fgetc_nolock(ptr) MSVCRT__fgetc_nolock ++@ cdecl _fgetchar() MSVCRT__fgetchar ++@ cdecl _fgetwc_nolock(ptr) MSVCRT__fgetwc_nolock ++@ cdecl _fgetwchar() MSVCRT__fgetwchar ++@ cdecl _filelength(long) MSVCRT__filelength ++@ cdecl -ret64 _filelengthi64(long) MSVCRT__filelengthi64 ++@ cdecl _fileno(ptr) MSVCRT__fileno ++@ cdecl _findclose(long) MSVCRT__findclose ++@ cdecl _findfirst32(str ptr) MSVCRT__findfirst32 ++@ stub _findfirst32i64 ++@ cdecl _findfirst64(str ptr) MSVCRT__findfirst64 ++@ cdecl _findfirst64i32(str ptr) MSVCRT__findfirst64i32 ++@ cdecl _findnext32(long ptr) MSVCRT__findnext32 ++@ stub _findnext32i64 ++@ cdecl _findnext64(long ptr) MSVCRT__findnext64 ++@ cdecl _findnext64i32(long ptr) MSVCRT__findnext64i32 ++@ cdecl _finite(double) MSVCRT__finite ++@ cdecl _flushall() MSVCRT__flushall ++@ cdecl _fpclass(double) MSVCRT__fpclass ++@ stub _fpieee_flt(long ptr ptr) ++@ cdecl _fpreset() ++@ cdecl _fputc_nolock(long ptr) MSVCRT__fputc_nolock ++@ cdecl _fputchar(long) MSVCRT__fputchar ++@ cdecl _fputwc_nolock(long ptr) MSVCRT__fputwc_nolock ++@ cdecl _fputwchar(long) MSVCRT__fputwchar ++@ cdecl _fread_nolock(ptr long long ptr) MSVCRT__fread_nolock ++@ cdecl _fread_nolock_s(ptr long long long ptr) MSVCRT__fread_nolock_s ++@ stub _free_base ++@ cdecl _free_locale(ptr) MSVCRT__free_locale ++@ cdecl _fseek_nolock(ptr long long) MSVCRT__fseek_nolock ++@ cdecl _fseeki64(ptr int64 long) MSVCRT__fseeki64 ++@ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock ++@ cdecl _fsopen(str str long) MSVCRT__fsopen ++@ cdecl _fstat32(long ptr) MSVCRT__fstat32 ++@ stub _fstat32i64 ++@ cdecl _fstat64(long ptr) MSVCRT__fstat64 ++@ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 ++@ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock ++@ cdecl -ret64 _ftelli64(ptr) MSVCRT__ftelli64 ++@ cdecl -ret64 _ftelli64_nolock(ptr) MSVCRT__ftelli64_nolock ++@ cdecl _ftime32(ptr) MSVCRT__ftime32 ++@ cdecl _ftime32_s(ptr) MSVCRT__ftime32_s ++@ cdecl _ftime64(ptr) MSVCRT__ftime64 ++@ cdecl _ftime64_s(ptr) MSVCRT__ftime64_s ++@ cdecl -arch=i386 -ret64 _ftol() MSVCRT__ftol ++@ cdecl _fullpath(ptr str long) MSVCRT__fullpath ++@ cdecl _futime32(long ptr) ++@ cdecl _futime64(long ptr) ++@ cdecl _fwrite_nolock(ptr long long ptr) MSVCRT__fwrite_nolock ++@ cdecl _gcvt(double long str) MSVCRT__gcvt ++@ cdecl _gcvt_s(ptr long double long) MSVCRT__gcvt_s ++@ cdecl _get_current_locale() MSVCRT__get_current_locale ++@ cdecl _get_daylight(ptr) ++@ cdecl _get_doserrno(ptr) ++@ stub _get_dstbias ++@ cdecl _get_errno(ptr) ++@ cdecl _get_fmode(ptr) MSVCRT__get_fmode ++@ cdecl _get_heap_handle() ++@ stub _get_initial_narrow_environment ++@ stub _get_initial_wide_environment ++@ cdecl _get_invalid_parameter_handler() ++@ stub _get_narrow_winmain_command_line ++@ cdecl _get_osfhandle(long) MSVCRT__get_osfhandle ++@ cdecl _get_pgmptr(ptr) ++@ cdecl _get_printf_count_output() MSVCRT__get_printf_count_output ++@ stub _get_purecall_handler ++@ stub _get_stream_buffer_pointers ++@ cdecl _get_terminate() MSVCRT__get_terminate ++@ stub _get_thread_local_invalid_parameter_handler ++@ cdecl _get_timezone(ptr) ++@ cdecl _get_tzname(ptr str long long) MSVCRT__get_tzname ++@ cdecl _get_unexpected() MSVCRT__get_unexpected ++@ stub _get_wide_winmain_command_line ++@ cdecl _get_wpgmptr(ptr) ++@ cdecl _getc_nolock(ptr) MSVCRT__fgetc_nolock ++@ cdecl _getch() ++@ cdecl _getch_nolock() ++@ cdecl _getche() ++@ cdecl _getche_nolock() ++@ cdecl _getcwd(str long) MSVCRT__getcwd ++@ cdecl _getdcwd(long str long) MSVCRT__getdcwd ++@ cdecl _getdiskfree(long ptr) MSVCRT__getdiskfree ++@ cdecl _getdllprocaddr(long str long) ++@ cdecl _getdrive() MSVCRT__getdrive ++@ cdecl _getdrives() kernel32.GetLogicalDrives ++@ cdecl _getmaxstdio() MSVCRT__getmaxstdio ++@ cdecl _getmbcp() ++@ cdecl _getpid() _getpid ++@ stub _getsystime(ptr) ++@ cdecl _getw(ptr) MSVCRT__getw ++@ cdecl _getwc_nolock(ptr) MSVCRT__fgetwc_nolock ++@ cdecl _getwch() ++@ cdecl _getwch_nolock() ++@ cdecl _getwche() ++@ cdecl _getwche_nolock() ++@ cdecl _getws(ptr) MSVCRT__getws ++@ stub _getws_s ++@ cdecl -arch=i386 _global_unwind2(ptr) ++@ cdecl _gmtime32(ptr) MSVCRT__gmtime32 ++@ cdecl _gmtime32_s(ptr ptr) MSVCRT__gmtime32_s ++@ cdecl _gmtime64(ptr) MSVCRT__gmtime64 ++@ cdecl _gmtime64_s(ptr ptr) MSVCRT__gmtime64_s ++@ cdecl _heapchk() ++@ cdecl _heapmin() ++@ cdecl _heapwalk(ptr) ++@ cdecl _hypot(double double) ++@ cdecl _hypotf(float float) MSVCRT__hypotf ++@ cdecl _i64toa(int64 ptr long) ntdll._i64toa ++@ cdecl _i64toa_s(int64 ptr long long) MSVCRT__i64toa_s ++@ cdecl _i64tow(int64 ptr long) ntdll._i64tow ++@ cdecl _i64tow_s(int64 ptr long long) MSVCRT__i64tow_s ++@ stub _initialize_narrow_environment ++@ stub _initialize_onexit_table ++@ stub _initialize_wide_environment ++@ cdecl _initterm(ptr ptr) ++@ cdecl _initterm_e(ptr ptr) ++@ cdecl _invalid_parameter_noinfo() ++@ stub _invalid_parameter_noinfo_noreturn ++@ stub _invoke_watson ++@ stub _is_exception_typeof ++@ cdecl _isalnum_l(long ptr) MSVCRT__isalnum_l ++@ cdecl _isalpha_l(long ptr) MSVCRT__isalpha_l ++@ cdecl _isatty(long) MSVCRT__isatty ++@ stub _isblank_l ++@ cdecl _iscntrl_l(long ptr) MSVCRT__iscntrl_l ++@ cdecl _isctype(long long) MSVCRT__isctype ++@ cdecl _isctype_l(long long ptr) MSVCRT__isctype_l ++@ cdecl _isdigit_l(long ptr) MSVCRT__isdigit_l ++@ cdecl _isgraph_l(long ptr) MSVCRT__isgraph_l ++@ cdecl _isleadbyte_l(long ptr) MSVCRT__isleadbyte_l ++@ cdecl _islower_l(long ptr) MSVCRT__islower_l ++@ stub _ismbbalnum(long) ++@ stub _ismbbalnum_l ++@ stub _ismbbalpha(long) ++@ stub _ismbbalpha_l ++@ stub _ismbbblank ++@ stub _ismbbblank_l ++@ stub _ismbbgraph(long) ++@ stub _ismbbgraph_l ++@ stub _ismbbkalnum(long) ++@ stub _ismbbkalnum_l ++@ cdecl _ismbbkana(long) ++@ stub _ismbbkana_l ++@ stub _ismbbkprint(long) ++@ stub _ismbbkprint_l ++@ stub _ismbbkpunct(long) ++@ stub _ismbbkpunct_l ++@ cdecl _ismbblead(long) ++@ cdecl _ismbblead_l(long ptr) ++@ stub _ismbbprint(long) ++@ stub _ismbbprint_l ++@ stub _ismbbpunct(long) ++@ stub _ismbbpunct_l ++@ cdecl _ismbbtrail(long) ++@ stub _ismbbtrail_l ++@ cdecl _ismbcalnum(long) ++@ stub _ismbcalnum_l ++@ cdecl _ismbcalpha(long) ++@ stub _ismbcalpha_l ++@ stub _ismbcblank ++@ stub _ismbcblank_l ++@ cdecl _ismbcdigit(long) ++@ stub _ismbcdigit_l ++@ cdecl _ismbcgraph(long) ++@ stub _ismbcgraph_l ++@ cdecl _ismbchira(long) ++@ stub _ismbchira_l ++@ cdecl _ismbckata(long) ++@ stub _ismbckata_l ++@ stub _ismbcl0(long) ++@ stub _ismbcl0_l ++@ stub _ismbcl1(long) ++@ stub _ismbcl1_l ++@ stub _ismbcl2(long) ++@ stub _ismbcl2_l ++@ cdecl _ismbclegal(long) ++@ stub _ismbclegal_l ++@ stub _ismbclower(long) ++@ stub _ismbclower_l ++@ cdecl _ismbcprint(long) ++@ stub _ismbcprint_l ++@ cdecl _ismbcpunct(long) ++@ stub _ismbcpunct_l ++@ cdecl _ismbcspace(long) ++@ stub _ismbcspace_l ++@ cdecl _ismbcsymbol(long) ++@ stub _ismbcsymbol_l ++@ cdecl _ismbcupper(long) ++@ stub _ismbcupper_l ++@ cdecl _ismbslead(ptr ptr) ++@ stub _ismbslead_l ++@ cdecl _ismbstrail(ptr ptr) ++@ stub _ismbstrail_l ++@ cdecl _isnan(double) MSVCRT__isnan ++@ cdecl _isprint_l(long ptr) MSVCRT__isprint_l ++@ stub _ispunct_l ++@ cdecl _isspace_l(long ptr) MSVCRT__isspace_l ++@ cdecl _isupper_l(long ptr) MSVCRT__isupper_l ++@ stub _iswalnum_l ++@ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l ++@ stub _iswblank_l ++@ stub _iswcntrl_l ++@ stub _iswcsym_l ++@ stub _iswcsymf_l ++@ stub _iswctype_l ++@ cdecl _iswdigit_l(long ptr) MSVCRT__iswdigit_l ++@ stub _iswgraph_l ++@ stub _iswlower_l ++@ stub _iswprint_l ++@ cdecl _iswpunct_l(long ptr) MSVCRT__iswpunct_l ++@ cdecl _iswspace_l(long ptr) MSVCRT__iswspace_l ++@ stub _iswupper_l ++@ stub _iswxdigit_l ++@ cdecl _isxdigit_l(long ptr) MSVCRT__isxdigit_l ++@ cdecl _itoa(long ptr long) MSVCRT__itoa ++@ cdecl _itoa_s(long ptr long long) MSVCRT__itoa_s ++@ cdecl _itow(long ptr long) ntdll._itow ++@ cdecl _itow_s(long ptr long long) MSVCRT__itow_s ++@ cdecl _j0(double) MSVCRT__j0 ++@ cdecl _j1(double) MSVCRT__j1 ++@ cdecl _jn(long double) MSVCRT__jn ++@ cdecl _kbhit() ++@ stub _ld_int ++@ cdecl _ldclass(double) MSVCR120__ldclass ++@ stub _ldexp ++@ stub _ldlog ++@ stub _ldpcomp ++@ stub _ldpoly ++@ stub _ldscale ++@ cdecl _ldsign(double) MSVCR120__dsign ++@ stub _ldsin ++@ cdecl _ldtest(ptr) MSVCR120__ldtest ++@ stub _ldunscale ++@ cdecl _lfind(ptr ptr ptr long ptr) ++@ stub _lfind_s ++@ cdecl -arch=i386 _libm_sse2_acos_precise() __libm_sse2_acos ++@ cdecl -arch=i386 _libm_sse2_asin_precise() __libm_sse2_asin ++@ cdecl -arch=i386 _libm_sse2_atan_precise() __libm_sse2_atan ++@ cdecl -arch=i386 _libm_sse2_cos_precise() __libm_sse2_cos ++@ cdecl -arch=i386 _libm_sse2_exp_precise() __libm_sse2_exp ++@ cdecl -arch=i386 _libm_sse2_log10_precise() __libm_sse2_log10 ++@ cdecl -arch=i386 _libm_sse2_log_precise() __libm_sse2_log ++@ cdecl -arch=i386 _libm_sse2_pow_precise() __libm_sse2_pow ++@ cdecl -arch=i386 _libm_sse2_sin_precise() __libm_sse2_sin ++@ cdecl -arch=i386 _libm_sse2_sqrt_precise() __libm_sse2_sqrt_precise ++@ cdecl -arch=i386 _libm_sse2_tan_precise() __libm_sse2_tan ++@ cdecl _loaddll(str) ++@ cdecl -arch=i386 _local_unwind2(ptr long) ++@ cdecl -arch=i386 _local_unwind4(ptr ptr long) ++@ cdecl _localtime32(ptr) MSVCRT__localtime32 ++@ cdecl _localtime32_s(ptr ptr) ++@ cdecl _localtime64(ptr) MSVCRT__localtime64 ++@ cdecl _localtime64_s(ptr ptr) ++@ cdecl _lock_file(ptr) MSVCRT__lock_file ++@ stub _lock_locales ++@ cdecl _locking(long long long) MSVCRT__locking ++@ cdecl _logb(double) MSVCRT__logb ++@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp ++@ cdecl _lrotl(long long) MSVCRT__lrotl ++@ cdecl _lrotr(long long) MSVCRT__lrotr ++@ cdecl _lsearch(ptr ptr ptr long ptr) ++@ stub _lsearch_s ++@ cdecl _lseek(long long long) MSVCRT__lseek ++@ cdecl -ret64 _lseeki64(long int64 long) MSVCRT__lseeki64 ++@ cdecl _ltoa(long ptr long) ntdll._ltoa ++@ cdecl _ltoa_s(long ptr long long) MSVCRT__ltoa_s ++@ cdecl _ltow(long ptr long) ntdll._ltow ++@ cdecl _ltow_s(long ptr long long) MSVCRT__ltow_s ++@ cdecl _makepath(ptr str str str str) MSVCRT__makepath ++@ cdecl _makepath_s(ptr long str str str str) MSVCRT__makepath_s ++@ stub _malloc_base ++@ cdecl _mbbtombc(long) ++@ stub _mbbtombc_l ++@ cdecl _mbbtype(long long) ++@ stub _mbbtype_l ++@ stub _mbcasemap ++@ cdecl _mbccpy(ptr str) ++@ stub _mbccpy_l ++@ stub _mbccpy_s ++@ stub _mbccpy_s_l ++@ cdecl _mbcjistojms(long) ++@ stub _mbcjistojms_l ++@ cdecl _mbcjmstojis(long) ++@ stub _mbcjmstojis_l ++@ cdecl _mbclen(ptr) ++@ stub _mbclen_l ++@ cdecl _mbctohira(long) ++@ stub _mbctohira_l ++@ cdecl _mbctokata(long) ++@ stub _mbctokata_l ++@ cdecl _mbctolower(long) ++@ stub _mbctolower_l ++@ cdecl _mbctombb(long) ++@ stub _mbctombb_l ++@ cdecl _mbctoupper(long) ++@ stub _mbctoupper_l ++@ stub _mblen_l ++@ cdecl _mbsbtype(str long) ++@ stub _mbsbtype_l ++@ cdecl _mbscat_s(ptr long str) ++@ cdecl _mbscat_s_l(ptr long str ptr) ++@ cdecl _mbschr(str long) ++@ stub _mbschr_l ++@ cdecl _mbscmp(str str) ++@ stub _mbscmp_l ++@ cdecl _mbscoll(str str) ++@ cdecl _mbscoll_l(str str ptr) ++@ cdecl _mbscpy_s(ptr long str) ++@ cdecl _mbscpy_s_l(ptr long str ptr) ++@ cdecl _mbscspn(str str) ++@ stub _mbscspn_l ++@ cdecl _mbsdec(ptr ptr) ++@ stub _mbsdec_l ++@ stub _mbsdup ++@ cdecl _mbsicmp(str str) ++@ stub _mbsicmp_l ++@ cdecl _mbsicoll(str str) ++@ cdecl _mbsicoll_l(str str ptr) ++@ cdecl _mbsinc(str) ++@ stub _mbsinc_l ++@ cdecl _mbslen(str) ++@ stub _mbslen_l ++@ cdecl _mbslwr(str) ++@ stub _mbslwr_l ++@ cdecl _mbslwr_s(str long) ++@ stub _mbslwr_s_l ++@ cdecl _mbsnbcat(str str long) ++@ stub _mbsnbcat_l ++@ cdecl _mbsnbcat_s(str long ptr long) ++@ stub _mbsnbcat_s_l ++@ cdecl _mbsnbcmp(str str long) ++@ stub _mbsnbcmp_l ++@ cdecl _mbsnbcnt(ptr long) ++@ stub _mbsnbcnt_l ++@ cdecl _mbsnbcoll(str str long) ++@ cdecl _mbsnbcoll_l(str str long ptr) ++@ cdecl _mbsnbcpy(ptr str long) ++@ stub _mbsnbcpy_l ++@ cdecl _mbsnbcpy_s(ptr long str long) ++@ cdecl _mbsnbcpy_s_l(ptr long str long ptr) ++@ cdecl _mbsnbicmp(str str long) ++@ stub _mbsnbicmp_l ++@ cdecl _mbsnbicoll(str str long) ++@ cdecl _mbsnbicoll_l(str str long ptr) ++@ cdecl _mbsnbset(ptr long long) ++@ stub _mbsnbset_l ++@ stub _mbsnbset_s ++@ stub _mbsnbset_s_l ++@ cdecl _mbsncat(str str long) ++@ stub _mbsncat_l ++@ stub _mbsncat_s ++@ stub _mbsncat_s_l ++@ cdecl _mbsnccnt(str long) ++@ stub _mbsnccnt_l ++@ cdecl _mbsncmp(str str long) ++@ stub _mbsncmp_l ++@ stub _mbsncoll(str str long) ++@ stub _mbsncoll_l ++@ cdecl _mbsncpy(ptr str long) ++@ stub _mbsncpy_l ++@ stub _mbsncpy_s ++@ stub _mbsncpy_s_l ++@ cdecl _mbsnextc(str) ++@ stub _mbsnextc_l ++@ cdecl _mbsnicmp(str str long) ++@ stub _mbsnicmp_l ++@ stub _mbsnicoll(str str long) ++@ stub _mbsnicoll_l ++@ cdecl _mbsninc(str long) ++@ stub _mbsninc_l ++@ stub _mbsnlen ++@ stub _mbsnlen_l ++@ cdecl _mbsnset(ptr long long) ++@ stub _mbsnset_l ++@ stub _mbsnset_s ++@ stub _mbsnset_s_l ++@ cdecl _mbspbrk(str str) ++@ stub _mbspbrk_l ++@ cdecl _mbsrchr(str long) ++@ stub _mbsrchr_l ++@ cdecl _mbsrev(str) ++@ stub _mbsrev_l ++@ cdecl _mbsset(ptr long) ++@ stub _mbsset_l ++@ stub _mbsset_s ++@ stub _mbsset_s_l ++@ cdecl _mbsspn(str str) ++@ stub _mbsspn_l ++@ cdecl _mbsspnp(str str) ++@ stub _mbsspnp_l ++@ cdecl _mbsstr(str str) ++@ stub _mbsstr_l ++@ cdecl _mbstok(str str) ++@ cdecl _mbstok_l(str str ptr) ++@ cdecl _mbstok_s(str str ptr) ++@ cdecl _mbstok_s_l(str str ptr ptr) ++@ cdecl _mbstowcs_l(ptr str long ptr) MSVCRT__mbstowcs_l ++@ cdecl _mbstowcs_s_l(ptr ptr long str long ptr) MSVCRT__mbstowcs_s_l ++@ cdecl _mbstrlen(str) ++@ cdecl _mbstrlen_l(str ptr) ++@ stub _mbstrnlen ++@ stub _mbstrnlen_l ++@ cdecl _mbsupr(str) ++@ stub _mbsupr_l ++@ cdecl _mbsupr_s(str long) ++@ stub _mbsupr_s_l ++@ cdecl _mbtowc_l(ptr str long ptr) MSVCRT_mbtowc_l ++@ cdecl _memccpy(ptr ptr long long) ntdll._memccpy ++@ cdecl _memicmp(str str long) ntdll._memicmp ++@ stub _memicmp_l ++@ cdecl _mkdir(str) MSVCRT__mkdir ++@ cdecl _mkgmtime32(ptr) MSVCRT__mkgmtime32 ++@ cdecl _mkgmtime64(ptr) MSVCRT__mkgmtime64 ++@ cdecl _mktemp(str) MSVCRT__mktemp ++@ cdecl _mktemp_s(str long) MSVCRT__mktemp_s ++@ cdecl _mktime32(ptr) MSVCRT__mktime32 ++@ cdecl _mktime64(ptr) MSVCRT__mktime64 ++@ cdecl _msize(ptr) ++@ cdecl _nextafter(double double) MSVCRT__nextafter ++@ stub _o__CIacos ++@ stub _o__CIasin ++@ stub _o__CIatan ++@ stub _o__CIatan2 ++@ stub _o__CIcos ++@ stub _o__CIcosh ++@ stub _o__CIexp ++@ stub _o__CIfmod ++@ stub _o__CIlog ++@ stub _o__CIlog10 ++@ stub _o__CIpow ++@ stub _o__CIsin ++@ stub _o__CIsinh ++@ stub _o__CIsqrt ++@ stub _o__CItan ++@ stub _o__CItanh ++@ stub _o__Getdays ++@ stub _o__Getmonths ++@ stub _o__Gettnames ++@ stub _o__Strftime ++@ stub _o__W_Getdays ++@ stub _o__W_Getmonths ++@ stub _o__W_Gettnames ++@ stub _o__Wcsftime ++@ stub _o____lc_codepage_func ++@ stub _o____lc_collate_cp_func ++@ stub _o____lc_locale_name_func ++@ stub _o____mb_cur_max_func ++@ stub _o___acrt_iob_func ++@ stub _o___conio_common_vcprintf ++@ stub _o___conio_common_vcprintf_p ++@ stub _o___conio_common_vcprintf_s ++@ stub _o___conio_common_vcscanf ++@ stub _o___conio_common_vcwprintf ++@ stub _o___conio_common_vcwprintf_p ++@ stub _o___conio_common_vcwprintf_s ++@ stub _o___conio_common_vcwscanf ++@ stub _o___daylight ++@ stub _o___dstbias ++@ stub _o___fpe_flt_rounds ++@ stub _o___libm_sse2_acos ++@ stub _o___libm_sse2_acosf ++@ stub _o___libm_sse2_asin ++@ stub _o___libm_sse2_asinf ++@ stub _o___libm_sse2_atan ++@ stub _o___libm_sse2_atan2 ++@ stub _o___libm_sse2_atanf ++@ stub _o___libm_sse2_cos ++@ stub _o___libm_sse2_cosf ++@ stub _o___libm_sse2_exp ++@ stub _o___libm_sse2_expf ++@ stub _o___libm_sse2_log ++@ stub _o___libm_sse2_log10 ++@ stub _o___libm_sse2_log10f ++@ stub _o___libm_sse2_logf ++@ stub _o___libm_sse2_pow ++@ stub _o___libm_sse2_powf ++@ stub _o___libm_sse2_sin ++@ stub _o___libm_sse2_sinf ++@ stub _o___libm_sse2_tan ++@ stub _o___libm_sse2_tanf ++@ stub _o___p___argc ++@ stub _o___p___argv ++@ stub _o___p___wargv ++@ stub _o___p__acmdln ++@ stub _o___p__commode ++@ stub _o___p__environ ++@ stub _o___p__fmode ++@ stub _o___p__mbcasemap ++@ stub _o___p__mbctype ++@ stub _o___p__pgmptr ++@ stub _o___p__wcmdln ++@ stub _o___p__wenviron ++@ stub _o___p__wpgmptr ++@ stub _o___pctype_func ++@ stub _o___pwctype_func ++@ stub _o___std_exception_copy ++@ stub _o___std_exception_destroy ++@ stub _o___std_type_info_destroy_list ++@ stub _o___std_type_info_name ++@ stub _o___stdio_common_vfprintf ++@ stub _o___stdio_common_vfprintf_p ++@ stub _o___stdio_common_vfprintf_s ++@ stub _o___stdio_common_vfscanf ++@ stub _o___stdio_common_vfwprintf ++@ stub _o___stdio_common_vfwprintf_p ++@ stub _o___stdio_common_vfwprintf_s ++@ stub _o___stdio_common_vfwscanf ++@ stub _o___stdio_common_vsnprintf_s ++@ stub _o___stdio_common_vsnwprintf_s ++@ stub _o___stdio_common_vsprintf ++@ stub _o___stdio_common_vsprintf_p ++@ stub _o___stdio_common_vsprintf_s ++@ stub _o___stdio_common_vsscanf ++@ stub _o___stdio_common_vswprintf ++@ stub _o___stdio_common_vswprintf_p ++@ stub _o___stdio_common_vswprintf_s ++@ stub _o___stdio_common_vswscanf ++@ stub _o___timezone ++@ stub _o___tzname ++@ stub _o___wcserror ++@ stub _o__access ++@ stub _o__access_s ++@ stub _o__aligned_free ++@ stub _o__aligned_malloc ++@ stub _o__aligned_msize ++@ stub _o__aligned_offset_malloc ++@ stub _o__aligned_offset_realloc ++@ stub _o__aligned_offset_recalloc ++@ stub _o__aligned_realloc ++@ stub _o__aligned_recalloc ++@ stub _o__atodbl ++@ stub _o__atodbl_l ++@ stub _o__atof_l ++@ stub _o__atoflt ++@ stub _o__atoflt_l ++@ stub _o__atoi64 ++@ stub _o__atoi64_l ++@ stub _o__atoi_l ++@ stub _o__atol_l ++@ stub _o__atoldbl ++@ stub _o__atoldbl_l ++@ stub _o__atoll_l ++@ stub _o__beep ++@ stub _o__beginthread ++@ stub _o__beginthreadex ++@ stub _o__cabs ++@ stub _o__callnewh ++@ stub _o__calloc_base ++@ stub _o__cexit ++@ stub _o__cgets ++@ stub _o__cgets_s ++@ stub _o__cgetws ++@ stub _o__cgetws_s ++@ stub _o__chdir ++@ stub _o__chdrive ++@ stub _o__chmod ++@ stub _o__chsize ++@ stub _o__chsize_s ++@ stub _o__close ++@ stub _o__commit ++@ stub _o__configthreadlocale ++@ stub _o__configure_narrow_argv ++@ stub _o__configure_wide_argv ++@ stub _o__controlfp_s ++@ stub _o__cputs ++@ stub _o__cputws ++@ stub _o__creat ++@ stub _o__create_locale ++@ stub _o__crt_atexit ++@ stub _o__ctime32_s ++@ stub _o__ctime64_s ++@ stub _o__cwait ++@ stub _o__d_int ++@ stub _o__dclass ++@ stub _o__difftime32 ++@ stub _o__difftime64 ++@ stub _o__dlog ++@ stub _o__dnorm ++@ stub _o__dpcomp ++@ stub _o__dpoly ++@ stub _o__dscale ++@ stub _o__dsign ++@ stub _o__dsin ++@ stub _o__dtest ++@ stub _o__dunscale ++@ stub _o__dup ++@ stub _o__dup2 ++@ stub _o__dupenv_s ++@ stub _o__ecvt ++@ stub _o__ecvt_s ++@ stub _o__endthread ++@ stub _o__endthreadex ++@ stub _o__eof ++@ stub _o__errno ++@ stub _o__except1 ++@ stub _o__execute_onexit_table ++@ stub _o__execv ++@ stub _o__execve ++@ stub _o__execvp ++@ stub _o__execvpe ++@ stub _o__exit ++@ stub _o__expand ++@ stub _o__fclose_nolock ++@ stub _o__fcloseall ++@ stub _o__fcvt ++@ stub _o__fcvt_s ++@ stub _o__fd_int ++@ stub _o__fdclass ++@ stub _o__fdexp ++@ stub _o__fdlog ++@ stub _o__fdopen ++@ stub _o__fdpcomp ++@ stub _o__fdpoly ++@ stub _o__fdscale ++@ stub _o__fdsign ++@ stub _o__fdsin ++@ stub _o__fflush_nolock ++@ stub _o__fgetc_nolock ++@ stub _o__fgetchar ++@ stub _o__fgetwc_nolock ++@ stub _o__fgetwchar ++@ stub _o__filelength ++@ stub _o__filelengthi64 ++@ stub _o__fileno ++@ stub _o__findclose ++@ stub _o__findfirst32 ++@ stub _o__findfirst32i64 ++@ stub _o__findfirst64 ++@ stub _o__findfirst64i32 ++@ stub _o__findnext32 ++@ stub _o__findnext32i64 ++@ stub _o__findnext64 ++@ stub _o__findnext64i32 ++@ stub _o__flushall ++@ stub _o__fpclass ++@ stub _o__fputc_nolock ++@ stub _o__fputchar ++@ stub _o__fputwc_nolock ++@ stub _o__fputwchar ++@ stub _o__fread_nolock ++@ stub _o__fread_nolock_s ++@ stub _o__free_base ++@ stub _o__free_locale ++@ stub _o__fseek_nolock ++@ stub _o__fseeki64 ++@ stub _o__fseeki64_nolock ++@ stub _o__fsopen ++@ stub _o__fstat32 ++@ stub _o__fstat32i64 ++@ stub _o__fstat64 ++@ stub _o__fstat64i32 ++@ stub _o__ftell_nolock ++@ stub _o__ftelli64 ++@ stub _o__ftelli64_nolock ++@ stub _o__ftime32 ++@ stub _o__ftime32_s ++@ stub _o__ftime64 ++@ stub _o__ftime64_s ++@ stub _o__fullpath ++@ stub _o__futime32 ++@ stub _o__futime64 ++@ stub _o__fwrite_nolock ++@ stub _o__gcvt ++@ stub _o__gcvt_s ++@ stub _o__get_daylight ++@ stub _o__get_doserrno ++@ stub _o__get_dstbias ++@ stub _o__get_errno ++@ stub _o__get_fmode ++@ stub _o__get_heap_handle ++@ stub _o__get_initial_narrow_environment ++@ stub _o__get_initial_wide_environment ++@ stub _o__get_invalid_parameter_handler ++@ stub _o__get_narrow_winmain_command_line ++@ stub _o__get_osfhandle ++@ stub _o__get_pgmptr ++@ stub _o__get_stream_buffer_pointers ++@ stub _o__get_terminate ++@ stub _o__get_thread_local_invalid_parameter_handler ++@ stub _o__get_timezone ++@ stub _o__get_tzname ++@ stub _o__get_wide_winmain_command_line ++@ stub _o__get_wpgmptr ++@ stub _o__getc_nolock ++@ stub _o__getch ++@ stub _o__getch_nolock ++@ stub _o__getche ++@ stub _o__getche_nolock ++@ stub _o__getcwd ++@ stub _o__getdcwd ++@ stub _o__getdiskfree ++@ stub _o__getdllprocaddr ++@ stub _o__getdrive ++@ stub _o__getdrives ++@ stub _o__getmbcp ++@ stub _o__getsystime ++@ stub _o__getw ++@ stub _o__getwc_nolock ++@ stub _o__getwch ++@ stub _o__getwch_nolock ++@ stub _o__getwche ++@ stub _o__getwche_nolock ++@ stub _o__getws ++@ stub _o__getws_s ++@ stub _o__gmtime32 ++@ stub _o__gmtime32_s ++@ stub _o__gmtime64 ++@ stub _o__gmtime64_s ++@ stub _o__heapchk ++@ stub _o__heapmin ++@ stub _o__hypot ++@ stub _o__hypotf ++@ stub _o__i64toa ++@ stub _o__i64toa_s ++@ stub _o__i64tow ++@ stub _o__i64tow_s ++@ stub _o__initialize_narrow_environment ++@ stub _o__initialize_onexit_table ++@ stub _o__initialize_wide_environment ++@ stub _o__invalid_parameter_noinfo ++@ stub _o__invalid_parameter_noinfo_noreturn ++@ stub _o__isatty ++@ stub _o__isctype ++@ stub _o__isctype_l ++@ stub _o__isleadbyte_l ++@ stub _o__ismbbalnum ++@ stub _o__ismbbalnum_l ++@ stub _o__ismbbalpha ++@ stub _o__ismbbalpha_l ++@ stub _o__ismbbblank ++@ stub _o__ismbbblank_l ++@ stub _o__ismbbgraph ++@ stub _o__ismbbgraph_l ++@ stub _o__ismbbkalnum ++@ stub _o__ismbbkalnum_l ++@ stub _o__ismbbkana ++@ stub _o__ismbbkana_l ++@ stub _o__ismbbkprint ++@ stub _o__ismbbkprint_l ++@ stub _o__ismbbkpunct ++@ stub _o__ismbbkpunct_l ++@ stub _o__ismbblead ++@ stub _o__ismbblead_l ++@ stub _o__ismbbprint ++@ stub _o__ismbbprint_l ++@ stub _o__ismbbpunct ++@ stub _o__ismbbpunct_l ++@ stub _o__ismbbtrail ++@ stub _o__ismbbtrail_l ++@ stub _o__ismbcalnum ++@ stub _o__ismbcalnum_l ++@ stub _o__ismbcalpha ++@ stub _o__ismbcalpha_l ++@ stub _o__ismbcblank ++@ stub _o__ismbcblank_l ++@ stub _o__ismbcdigit ++@ stub _o__ismbcdigit_l ++@ stub _o__ismbcgraph ++@ stub _o__ismbcgraph_l ++@ stub _o__ismbchira ++@ stub _o__ismbchira_l ++@ stub _o__ismbckata ++@ stub _o__ismbckata_l ++@ stub _o__ismbcl0 ++@ stub _o__ismbcl0_l ++@ stub _o__ismbcl1 ++@ stub _o__ismbcl1_l ++@ stub _o__ismbcl2 ++@ stub _o__ismbcl2_l ++@ stub _o__ismbclegal ++@ stub _o__ismbclegal_l ++@ stub _o__ismbclower ++@ stub _o__ismbclower_l ++@ stub _o__ismbcprint ++@ stub _o__ismbcprint_l ++@ stub _o__ismbcpunct ++@ stub _o__ismbcpunct_l ++@ stub _o__ismbcspace ++@ stub _o__ismbcspace_l ++@ stub _o__ismbcsymbol ++@ stub _o__ismbcsymbol_l ++@ stub _o__ismbcupper ++@ stub _o__ismbcupper_l ++@ stub _o__ismbslead ++@ stub _o__ismbslead_l ++@ stub _o__ismbstrail ++@ stub _o__ismbstrail_l ++@ stub _o__iswctype_l ++@ stub _o__itoa ++@ stub _o__itoa_s ++@ stub _o__itow ++@ stub _o__itow_s ++@ stub _o__j0 ++@ stub _o__j1 ++@ stub _o__jn ++@ stub _o__kbhit ++@ stub _o__ld_int ++@ stub _o__ldclass ++@ stub _o__ldexp ++@ stub _o__ldlog ++@ stub _o__ldpcomp ++@ stub _o__ldpoly ++@ stub _o__ldscale ++@ stub _o__ldsign ++@ stub _o__ldsin ++@ stub _o__ldtest ++@ stub _o__ldunscale ++@ stub _o__lfind ++@ stub _o__lfind_s ++@ stub _o__libm_sse2_acos_precise ++@ stub _o__libm_sse2_asin_precise ++@ stub _o__libm_sse2_atan_precise ++@ stub _o__libm_sse2_cos_precise ++@ stub _o__libm_sse2_exp_precise ++@ stub _o__libm_sse2_log10_precise ++@ stub _o__libm_sse2_log_precise ++@ stub _o__libm_sse2_pow_precise ++@ stub _o__libm_sse2_sin_precise ++@ stub _o__libm_sse2_sqrt_precise ++@ stub _o__libm_sse2_tan_precise ++@ stub _o__loaddll ++@ stub _o__localtime32 ++@ stub _o__localtime32_s ++@ stub _o__localtime64 ++@ stub _o__localtime64_s ++@ stub _o__lock_file ++@ stub _o__locking ++@ stub _o__logb ++@ stub _o__lsearch ++@ stub _o__lsearch_s ++@ stub _o__lseek ++@ stub _o__lseeki64 ++@ stub _o__ltoa ++@ stub _o__ltoa_s ++@ stub _o__ltow ++@ stub _o__ltow_s ++@ stub _o__makepath ++@ stub _o__makepath_s ++@ stub _o__malloc_base ++@ stub _o__mbbtombc ++@ stub _o__mbbtombc_l ++@ stub _o__mbbtype ++@ stub _o__mbbtype_l ++@ stub _o__mbccpy ++@ stub _o__mbccpy_l ++@ stub _o__mbccpy_s ++@ stub _o__mbccpy_s_l ++@ stub _o__mbcjistojms ++@ stub _o__mbcjistojms_l ++@ stub _o__mbcjmstojis ++@ stub _o__mbcjmstojis_l ++@ stub _o__mbclen ++@ stub _o__mbclen_l ++@ stub _o__mbctohira ++@ stub _o__mbctohira_l ++@ stub _o__mbctokata ++@ stub _o__mbctokata_l ++@ stub _o__mbctolower ++@ stub _o__mbctolower_l ++@ stub _o__mbctombb ++@ stub _o__mbctombb_l ++@ stub _o__mbctoupper ++@ stub _o__mbctoupper_l ++@ stub _o__mblen_l ++@ stub _o__mbsbtype ++@ stub _o__mbsbtype_l ++@ stub _o__mbscat_s ++@ stub _o__mbscat_s_l ++@ stub _o__mbschr ++@ stub _o__mbschr_l ++@ stub _o__mbscmp ++@ stub _o__mbscmp_l ++@ stub _o__mbscoll ++@ stub _o__mbscoll_l ++@ stub _o__mbscpy_s ++@ stub _o__mbscpy_s_l ++@ stub _o__mbscspn ++@ stub _o__mbscspn_l ++@ stub _o__mbsdec ++@ stub _o__mbsdec_l ++@ stub _o__mbsicmp ++@ stub _o__mbsicmp_l ++@ stub _o__mbsicoll ++@ stub _o__mbsicoll_l ++@ stub _o__mbsinc ++@ stub _o__mbsinc_l ++@ stub _o__mbslen ++@ stub _o__mbslen_l ++@ stub _o__mbslwr ++@ stub _o__mbslwr_l ++@ stub _o__mbslwr_s ++@ stub _o__mbslwr_s_l ++@ stub _o__mbsnbcat ++@ stub _o__mbsnbcat_l ++@ stub _o__mbsnbcat_s ++@ stub _o__mbsnbcat_s_l ++@ stub _o__mbsnbcmp ++@ stub _o__mbsnbcmp_l ++@ stub _o__mbsnbcnt ++@ stub _o__mbsnbcnt_l ++@ stub _o__mbsnbcoll ++@ stub _o__mbsnbcoll_l ++@ stub _o__mbsnbcpy ++@ stub _o__mbsnbcpy_l ++@ stub _o__mbsnbcpy_s ++@ stub _o__mbsnbcpy_s_l ++@ stub _o__mbsnbicmp ++@ stub _o__mbsnbicmp_l ++@ stub _o__mbsnbicoll ++@ stub _o__mbsnbicoll_l ++@ stub _o__mbsnbset ++@ stub _o__mbsnbset_l ++@ stub _o__mbsnbset_s ++@ stub _o__mbsnbset_s_l ++@ stub _o__mbsncat ++@ stub _o__mbsncat_l ++@ stub _o__mbsncat_s ++@ stub _o__mbsncat_s_l ++@ stub _o__mbsnccnt ++@ stub _o__mbsnccnt_l ++@ stub _o__mbsncmp ++@ stub _o__mbsncmp_l ++@ stub _o__mbsncoll ++@ stub _o__mbsncoll_l ++@ stub _o__mbsncpy ++@ stub _o__mbsncpy_l ++@ stub _o__mbsncpy_s ++@ stub _o__mbsncpy_s_l ++@ stub _o__mbsnextc ++@ stub _o__mbsnextc_l ++@ stub _o__mbsnicmp ++@ stub _o__mbsnicmp_l ++@ stub _o__mbsnicoll ++@ stub _o__mbsnicoll_l ++@ stub _o__mbsninc ++@ stub _o__mbsninc_l ++@ stub _o__mbsnlen ++@ stub _o__mbsnlen_l ++@ stub _o__mbsnset ++@ stub _o__mbsnset_l ++@ stub _o__mbsnset_s ++@ stub _o__mbsnset_s_l ++@ stub _o__mbspbrk ++@ stub _o__mbspbrk_l ++@ stub _o__mbsrchr ++@ stub _o__mbsrchr_l ++@ stub _o__mbsrev ++@ stub _o__mbsrev_l ++@ stub _o__mbsset ++@ stub _o__mbsset_l ++@ stub _o__mbsset_s ++@ stub _o__mbsset_s_l ++@ stub _o__mbsspn ++@ stub _o__mbsspn_l ++@ stub _o__mbsspnp ++@ stub _o__mbsspnp_l ++@ stub _o__mbsstr ++@ stub _o__mbsstr_l ++@ stub _o__mbstok ++@ stub _o__mbstok_l ++@ stub _o__mbstok_s ++@ stub _o__mbstok_s_l ++@ stub _o__mbstowcs_l ++@ stub _o__mbstowcs_s_l ++@ stub _o__mbstrlen ++@ stub _o__mbstrlen_l ++@ stub _o__mbstrnlen ++@ stub _o__mbstrnlen_l ++@ stub _o__mbsupr ++@ stub _o__mbsupr_l ++@ stub _o__mbsupr_s ++@ stub _o__mbsupr_s_l ++@ stub _o__mbtowc_l ++@ stub _o__memicmp ++@ stub _o__memicmp_l ++@ stub _o__mkdir ++@ stub _o__mkgmtime32 ++@ stub _o__mkgmtime64 ++@ stub _o__mktemp ++@ stub _o__mktemp_s ++@ stub _o__mktime32 ++@ stub _o__mktime64 ++@ stub _o__msize ++@ stub _o__nextafter ++@ stub _o__open_osfhandle ++@ stub _o__pclose ++@ stub _o__pipe ++@ stub _o__popen ++@ stub _o__purecall ++@ stub _o__putc_nolock ++@ stub _o__putch ++@ stub _o__putch_nolock ++@ stub _o__putenv ++@ stub _o__putenv_s ++@ stub _o__putw ++@ stub _o__putwc_nolock ++@ stub _o__putwch ++@ stub _o__putwch_nolock ++@ stub _o__putws ++@ stub _o__read ++@ stub _o__realloc_base ++@ stub _o__recalloc ++@ stub _o__register_onexit_function ++@ stub _o__resetstkoflw ++@ stub _o__rmdir ++@ stub _o__rmtmp ++@ stub _o__scalb ++@ stub _o__searchenv ++@ stub _o__searchenv_s ++@ stub _o__seh_filter_dll ++@ stub _o__seh_filter_exe ++@ stub _o__set_abort_behavior ++@ stub _o__set_app_type ++@ stub _o__set_doserrno ++@ stub _o__set_errno ++@ stub _o__set_fmode ++@ stub _o__set_invalid_parameter_handler ++@ stub _o__set_new_handler ++@ stub _o__set_new_mode ++@ stub _o__set_thread_local_invalid_parameter_handler ++@ stub _o__seterrormode ++@ stub _o__setmbcp ++@ stub _o__setmode ++@ stub _o__setsystime ++@ stub _o__sleep ++@ stub _o__sopen ++@ stub _o__sopen_dispatch ++@ stub _o__sopen_s ++@ stub _o__spawnv ++@ stub _o__spawnve ++@ stub _o__spawnvp ++@ stub _o__spawnvpe ++@ stub _o__splitpath ++@ stub _o__splitpath_s ++@ stub _o__stat32 ++@ stub _o__stat32i64 ++@ stub _o__stat64 ++@ stub _o__stat64i32 ++@ stub _o__strcoll_l ++@ stub _o__strdate ++@ stub _o__strdate_s ++@ stub _o__strdup ++@ stub _o__strerror ++@ stub _o__strerror_s ++@ stub _o__strftime_l ++@ stub _o__stricmp ++@ stub _o__stricmp_l ++@ stub _o__stricoll ++@ stub _o__stricoll_l ++@ stub _o__strlwr ++@ stub _o__strlwr_l ++@ stub _o__strlwr_s ++@ stub _o__strlwr_s_l ++@ stub _o__strncoll ++@ stub _o__strncoll_l ++@ stub _o__strnicmp ++@ stub _o__strnicmp_l ++@ stub _o__strnicoll ++@ stub _o__strnicoll_l ++@ stub _o__strnset_s ++@ stub _o__strset_s ++@ stub _o__strtime ++@ stub _o__strtime_s ++@ stub _o__strtod_l ++@ stub _o__strtof_l ++@ stub _o__strtoi64 ++@ stub _o__strtoi64_l ++@ stub _o__strtol_l ++@ stub _o__strtold_l ++@ stub _o__strtoll_l ++@ stub _o__strtoui64 ++@ stub _o__strtoui64_l ++@ stub _o__strtoul_l ++@ stub _o__strtoull_l ++@ stub _o__strupr ++@ stub _o__strupr_l ++@ stub _o__strupr_s ++@ stub _o__strupr_s_l ++@ stub _o__strxfrm_l ++@ stub _o__swab ++@ stub _o__tell ++@ stub _o__telli64 ++@ stub _o__timespec32_get ++@ stub _o__timespec64_get ++@ stub _o__tolower ++@ stub _o__tolower_l ++@ stub _o__toupper ++@ stub _o__toupper_l ++@ stub _o__towlower_l ++@ stub _o__towupper_l ++@ stub _o__tzset ++@ stub _o__ui64toa ++@ stub _o__ui64toa_s ++@ stub _o__ui64tow ++@ stub _o__ui64tow_s ++@ stub _o__ultoa ++@ stub _o__ultoa_s ++@ stub _o__ultow ++@ stub _o__ultow_s ++@ stub _o__umask ++@ stub _o__umask_s ++@ stub _o__ungetc_nolock ++@ stub _o__ungetch ++@ stub _o__ungetch_nolock ++@ stub _o__ungetwc_nolock ++@ stub _o__ungetwch ++@ stub _o__ungetwch_nolock ++@ stub _o__unlink ++@ stub _o__unloaddll ++@ stub _o__unlock_file ++@ stub _o__utime32 ++@ stub _o__utime64 ++@ stub _o__waccess ++@ stub _o__waccess_s ++@ stub _o__wasctime ++@ stub _o__wasctime_s ++@ stub _o__wchdir ++@ stub _o__wchmod ++@ stub _o__wcreat ++@ stub _o__wcreate_locale ++@ stub _o__wcscoll_l ++@ stub _o__wcsdup ++@ stub _o__wcserror ++@ stub _o__wcserror_s ++@ stub _o__wcsftime_l ++@ stub _o__wcsicmp ++@ stub _o__wcsicmp_l ++@ stub _o__wcsicoll ++@ stub _o__wcsicoll_l ++@ stub _o__wcslwr ++@ stub _o__wcslwr_l ++@ stub _o__wcslwr_s ++@ stub _o__wcslwr_s_l ++@ stub _o__wcsncoll ++@ stub _o__wcsncoll_l ++@ stub _o__wcsnicmp ++@ stub _o__wcsnicmp_l ++@ stub _o__wcsnicoll ++@ stub _o__wcsnicoll_l ++@ stub _o__wcsnset ++@ stub _o__wcsnset_s ++@ stub _o__wcsset ++@ stub _o__wcsset_s ++@ stub _o__wcstod_l ++@ stub _o__wcstof_l ++@ stub _o__wcstoi64 ++@ stub _o__wcstoi64_l ++@ stub _o__wcstol_l ++@ stub _o__wcstold_l ++@ stub _o__wcstoll_l ++@ stub _o__wcstombs_l ++@ stub _o__wcstombs_s_l ++@ stub _o__wcstoui64 ++@ stub _o__wcstoui64_l ++@ stub _o__wcstoul_l ++@ stub _o__wcstoull_l ++@ stub _o__wcsupr ++@ stub _o__wcsupr_l ++@ stub _o__wcsupr_s ++@ stub _o__wcsupr_s_l ++@ stub _o__wcsxfrm_l ++@ stub _o__wctime32 ++@ stub _o__wctime32_s ++@ stub _o__wctime64 ++@ stub _o__wctime64_s ++@ stub _o__wctomb_l ++@ stub _o__wctomb_s_l ++@ stub _o__wdupenv_s ++@ stub _o__wexecv ++@ stub _o__wexecve ++@ stub _o__wexecvp ++@ stub _o__wexecvpe ++@ stub _o__wfdopen ++@ stub _o__wfindfirst32 ++@ stub _o__wfindfirst32i64 ++@ stub _o__wfindfirst64 ++@ stub _o__wfindfirst64i32 ++@ stub _o__wfindnext32 ++@ stub _o__wfindnext32i64 ++@ stub _o__wfindnext64 ++@ stub _o__wfindnext64i32 ++@ stub _o__wfopen ++@ stub _o__wfopen_s ++@ stub _o__wfreopen ++@ stub _o__wfreopen_s ++@ stub _o__wfsopen ++@ stub _o__wfullpath ++@ stub _o__wgetcwd ++@ stub _o__wgetdcwd ++@ stub _o__wgetenv ++@ stub _o__wgetenv_s ++@ stub _o__wmakepath ++@ stub _o__wmakepath_s ++@ stub _o__wmkdir ++@ stub _o__wmktemp ++@ stub _o__wmktemp_s ++@ stub _o__wperror ++@ stub _o__wpopen ++@ stub _o__wputenv ++@ stub _o__wputenv_s ++@ stub _o__wremove ++@ stub _o__wrename ++@ stub _o__write ++@ stub _o__wrmdir ++@ stub _o__wsearchenv ++@ stub _o__wsearchenv_s ++@ stub _o__wsetlocale ++@ stub _o__wsopen_dispatch ++@ stub _o__wsopen_s ++@ stub _o__wspawnv ++@ stub _o__wspawnve ++@ stub _o__wspawnvp ++@ stub _o__wspawnvpe ++@ stub _o__wsplitpath ++@ stub _o__wsplitpath_s ++@ stub _o__wstat32 ++@ stub _o__wstat32i64 ++@ stub _o__wstat64 ++@ stub _o__wstat64i32 ++@ stub _o__wstrdate ++@ stub _o__wstrdate_s ++@ stub _o__wstrtime ++@ stub _o__wstrtime_s ++@ stub _o__wsystem ++@ stub _o__wtmpnam_s ++@ stub _o__wtof ++@ stub _o__wtof_l ++@ stub _o__wtoi ++@ stub _o__wtoi64 ++@ stub _o__wtoi64_l ++@ stub _o__wtoi_l ++@ stub _o__wtol ++@ stub _o__wtol_l ++@ stub _o__wtoll ++@ stub _o__wtoll_l ++@ stub _o__wunlink ++@ stub _o__wutime32 ++@ stub _o__wutime64 ++@ stub _o__y0 ++@ stub _o__y1 ++@ stub _o__yn ++@ stub _o_abort ++@ stub _o_acos ++@ stub _o_acosh ++@ stub _o_acoshf ++@ stub _o_acoshl ++@ stub _o_asctime ++@ stub _o_asctime_s ++@ stub _o_asin ++@ stub _o_asinh ++@ stub _o_asinhf ++@ stub _o_asinhl ++@ stub _o_atan ++@ stub _o_atan2 ++@ stub _o_atanh ++@ stub _o_atanhf ++@ stub _o_atanhl ++@ stub _o_atof ++@ stub _o_atoi ++@ stub _o_atol ++@ stub _o_atoll ++@ stub _o_bsearch ++@ stub _o_bsearch_s ++@ stub _o_btowc ++@ stub _o_calloc ++@ stub _o_cbrt ++@ stub _o_cbrtf ++@ stub _o_ceil ++@ stub _o_clearerr ++@ stub _o_clearerr_s ++@ stub _o_cos ++@ stub _o_cosh ++@ stub _o_erf ++@ stub _o_erfc ++@ stub _o_erfcf ++@ stub _o_erfcl ++@ stub _o_erff ++@ stub _o_erfl ++@ stub _o_exit ++@ stub _o_exp ++@ stub _o_exp2 ++@ stub _o_exp2f ++@ stub _o_exp2l ++@ stub _o_fabs ++@ stub _o_fclose ++@ stub _o_feof ++@ stub _o_ferror ++@ stub _o_fflush ++@ stub _o_fgetc ++@ stub _o_fgetpos ++@ stub _o_fgets ++@ stub _o_fgetwc ++@ stub _o_fgetws ++@ stub _o_floor ++@ stub _o_fma ++@ stub _o_fmaf ++@ stub _o_fmal ++@ stub _o_fmod ++@ stub _o_fopen ++@ stub _o_fopen_s ++@ stub _o_fputc ++@ stub _o_fputs ++@ stub _o_fputwc ++@ stub _o_fputws ++@ stub _o_fread ++@ stub _o_fread_s ++@ stub _o_free ++@ stub _o_freopen ++@ stub _o_freopen_s ++@ stub _o_frexp ++@ stub _o_fseek ++@ stub _o_fsetpos ++@ stub _o_ftell ++@ stub _o_fwrite ++@ stub _o_getc ++@ stub _o_getchar ++@ stub _o_getenv ++@ stub _o_getenv_s ++@ stub _o_gets ++@ stub _o_gets_s ++@ stub _o_getwc ++@ stub _o_getwchar ++@ stub _o_hypot ++@ stub _o_is_wctype ++@ stub _o_isalnum ++@ stub _o_isalpha ++@ stub _o_isblank ++@ stub _o_iscntrl ++@ stub _o_isdigit ++@ stub _o_isgraph ++@ stub _o_isleadbyte ++@ stub _o_islower ++@ stub _o_isprint ++@ stub _o_ispunct ++@ stub _o_isspace ++@ stub _o_isupper ++@ stub _o_iswalnum ++@ stub _o_iswalpha ++@ stub _o_iswascii ++@ stub _o_iswblank ++@ stub _o_iswcntrl ++@ stub _o_iswctype ++@ stub _o_iswdigit ++@ stub _o_iswgraph ++@ stub _o_iswlower ++@ stub _o_iswprint ++@ stub _o_iswpunct ++@ stub _o_iswspace ++@ stub _o_iswupper ++@ stub _o_iswxdigit ++@ stub _o_isxdigit ++@ stub _o_ldexp ++@ stub _o_lgamma ++@ stub _o_lgammaf ++@ stub _o_lgammal ++@ stub _o_llrint ++@ stub _o_llrintf ++@ stub _o_llrintl ++@ stub _o_llround ++@ stub _o_llroundf ++@ stub _o_llroundl ++@ stub _o_localeconv ++@ stub _o_log ++@ stub _o_log10 ++@ stub _o_log1p ++@ stub _o_log1pf ++@ stub _o_log1pl ++@ stub _o_log2 ++@ stub _o_log2f ++@ stub _o_log2l ++@ stub _o_logb ++@ stub _o_logbf ++@ stub _o_logbl ++@ stub _o_lrint ++@ stub _o_lrintf ++@ stub _o_lrintl ++@ stub _o_lround ++@ stub _o_lroundf ++@ stub _o_lroundl ++@ stub _o_malloc ++@ stub _o_mblen ++@ stub _o_mbrlen ++@ stub _o_mbrtoc16 ++@ stub _o_mbrtoc32 ++@ stub _o_mbrtowc ++@ stub _o_mbsrtowcs ++@ stub _o_mbsrtowcs_s ++@ stub _o_mbstowcs ++@ stub _o_mbstowcs_s ++@ stub _o_mbtowc ++@ stub _o_memcpy_s ++@ stub _o_memset ++@ stub _o_modf ++@ stub _o_nan ++@ stub _o_nanf ++@ stub _o_nanl ++@ stub _o_nearbyint ++@ stub _o_nearbyintf ++@ stub _o_nearbyintl ++@ stub _o_nextafter ++@ stub _o_nextafterf ++@ stub _o_nextafterl ++@ stub _o_nexttoward ++@ stub _o_nexttowardf ++@ stub _o_nexttowardl ++@ stub _o_pow ++@ stub _o_powf ++@ stub _o_putc ++@ stub _o_putchar ++@ stub _o_puts ++@ stub _o_putwc ++@ stub _o_putwchar ++@ stub _o_qsort ++@ stub _o_qsort_s ++@ stub _o_raise ++@ stub _o_rand ++@ stub _o_rand_s ++@ stub _o_realloc ++@ stub _o_remainder ++@ stub _o_remainderf ++@ stub _o_remainderl ++@ stub _o_remove ++@ stub _o_remquo ++@ stub _o_remquof ++@ stub _o_remquol ++@ stub _o_rename ++@ stub _o_rewind ++@ stub _o_rint ++@ stub _o_rintf ++@ stub _o_rintl ++@ stub _o_round ++@ stub _o_roundf ++@ stub _o_roundl ++@ stub _o_scalbln ++@ stub _o_scalblnf ++@ stub _o_scalblnl ++@ stub _o_scalbn ++@ stub _o_scalbnf ++@ stub _o_scalbnl ++@ stub _o_set_terminate ++@ stub _o_setbuf ++@ stub _o_setlocale ++@ stub _o_setvbuf ++@ stub _o_sin ++@ stub _o_sinh ++@ stub _o_sqrt ++@ stub _o_srand ++@ stub _o_strcat_s ++@ stub _o_strcoll ++@ stub _o_strcpy_s ++@ stub _o_strerror ++@ stub _o_strerror_s ++@ stub _o_strftime ++@ stub _o_strncat_s ++@ stub _o_strncpy_s ++@ stub _o_strtod ++@ stub _o_strtof ++@ stub _o_strtok ++@ stub _o_strtok_s ++@ stub _o_strtol ++@ stub _o_strtold ++@ stub _o_strtoll ++@ stub _o_strtoul ++@ stub _o_strtoull ++@ stub _o_system ++@ stub _o_tan ++@ stub _o_tanh ++@ stub _o_terminate ++@ stub _o_tgamma ++@ stub _o_tgammaf ++@ stub _o_tgammal ++@ stub _o_tmpfile_s ++@ stub _o_tmpnam_s ++@ stub _o_tolower ++@ stub _o_toupper ++@ stub _o_towlower ++@ stub _o_towupper ++@ stub _o_ungetc ++@ stub _o_ungetwc ++@ stub _o_wcrtomb ++@ stub _o_wcrtomb_s ++@ stub _o_wcscat_s ++@ stub _o_wcscoll ++@ stub _o_wcscpy ++@ stub _o_wcscpy_s ++@ stub _o_wcsftime ++@ stub _o_wcsncat_s ++@ stub _o_wcsncpy_s ++@ stub _o_wcsrtombs ++@ stub _o_wcsrtombs_s ++@ stub _o_wcstod ++@ stub _o_wcstof ++@ stub _o_wcstok ++@ stub _o_wcstok_s ++@ stub _o_wcstol ++@ stub _o_wcstold ++@ stub _o_wcstoll ++@ stub _o_wcstombs ++@ stub _o_wcstombs_s ++@ stub _o_wcstoul ++@ stub _o_wcstoull ++@ stub _o_wctob ++@ stub _o_wctomb ++@ stub _o_wctomb_s ++@ stub _o_wmemcpy_s ++@ stub _o_wmemmove_s ++@ varargs _open(str long) MSVCRT__open ++@ cdecl _open_osfhandle(long long) MSVCRT__open_osfhandle ++@ cdecl _pclose(ptr) MSVCRT__pclose ++@ cdecl _pipe(ptr long long) MSVCRT__pipe ++@ cdecl _popen(str str) MSVCRT__popen ++@ cdecl _purecall() ++@ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock ++@ cdecl _putch(long) ++@ cdecl _putch_nolock(long) ++@ cdecl _putenv(str) ++@ cdecl _putenv_s(str str) ++@ cdecl _putw(long ptr) MSVCRT__putw ++@ cdecl _putwc_nolock(long ptr) MSVCRT__fputwc_nolock ++@ cdecl _putwch(long) ++@ cdecl _putwch_nolock(long) ++@ cdecl _putws(wstr) MSVCRT__putws ++@ stub _query_app_type ++@ stub _query_new_handler ++@ stub _query_new_mode ++@ cdecl _read(long ptr long) MSVCRT__read ++@ stub _realloc_base ++@ cdecl _recalloc(ptr long long) ++@ stub _register_onexit_function ++@ stub _register_thread_local_exe_atexit_callback ++@ cdecl _resetstkoflw() MSVCRT__resetstkoflw ++@ cdecl _rmdir(str) MSVCRT__rmdir ++@ cdecl _rmtmp() MSVCRT__rmtmp ++@ cdecl _rotl(long long) ++@ cdecl -ret64 _rotl64(int64 long) ++@ cdecl _rotr(long long) ++@ cdecl -ret64 _rotr64(int64 long) ++@ cdecl _scalb(double long) MSVCRT__scalb ++@ cdecl _searchenv(str str ptr) MSVCRT__searchenv ++@ cdecl _searchenv_s(str str ptr long) MSVCRT__searchenv_s ++@ stub _seh_filter_dll ++@ stub _seh_filter_exe ++@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) ++@ stdcall -arch=i386 _seh_longjmp_unwind(ptr) ++@ cdecl -arch=i386 _set_SSE2_enable(long) MSVCRT__set_SSE2_enable ++@ cdecl _set_abort_behavior(long long) MSVCRT__set_abort_behavior ++@ stub _set_app_type ++@ cdecl _set_controlfp(long long) ++@ cdecl _set_doserrno(long) ++@ cdecl _set_errno(long) ++@ cdecl _set_error_mode(long) ++@ cdecl _set_fmode(long) MSVCRT__set_fmode ++@ cdecl _set_invalid_parameter_handler(ptr) ++@ stub -arch=win32 ?_set_new_handler@@YAP6AHI@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned int) ++@ stub -arch=win64 ?_set_new_handler@@YAP6AH_K@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned __int64) ++@ stub _set_new_mode ++@ cdecl _set_printf_count_output(long) MSVCRT__set_printf_count_output ++@ cdecl _set_purecall_handler(ptr) ++@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *) ++@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64) ++@ stub _set_thread_local_invalid_parameter_handler ++@ cdecl _seterrormode(long) ++@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3 ++@ cdecl _setmaxstdio(long) MSVCRT__setmaxstdio ++@ cdecl _setmbcp(long) ++@ cdecl _setmode(long long) MSVCRT__setmode ++@ stub _setsystime(ptr long) ++@ cdecl _sleep(long) MSVCRT__sleep ++@ varargs _sopen(str long long) MSVCRT__sopen ++@ stub _sopen_dispatch ++@ cdecl _sopen_s(ptr str long long long) MSVCRT__sopen_s ++@ 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) MSVCRT__spawnve ++@ cdecl _spawnvp(long str ptr) ++@ cdecl _spawnvpe(long str ptr ptr) MSVCRT__spawnvpe ++@ cdecl _splitpath(str ptr ptr ptr ptr) MSVCRT__splitpath ++@ cdecl _splitpath_s(str ptr long ptr long ptr long ptr long) MSVCRT__splitpath_s ++@ cdecl _stat32(str ptr) MSVCRT__stat32 ++@ cdecl _stat32i64(str ptr) MSVCRT__stat32i64 ++@ cdecl _stat64(str ptr) MSVCRT_stat64 ++@ cdecl _stat64i32(str ptr) MSVCRT__stat64i32 ++@ cdecl _statusfp() ++@ cdecl -arch=i386 _statusfp2(ptr ptr) ++@ cdecl _strcoll_l(str str ptr) MSVCRT_strcoll_l ++@ cdecl _strdate(ptr) MSVCRT__strdate ++@ cdecl _strdate_s(ptr long) ++@ cdecl _strdup(str) MSVCRT__strdup ++@ cdecl _strerror(long) MSVCRT__strerror ++@ stub _strerror_s ++@ stub _strftime_l ++@ cdecl _stricmp(str str) MSVCRT__stricmp ++@ cdecl _stricmp_l(str str ptr) MSVCRT__stricmp_l ++@ cdecl _stricoll(str str) MSVCRT__stricoll ++@ cdecl _stricoll_l(str str ptr) MSVCRT__stricoll_l ++@ cdecl _strlwr(str) MSVCRT__strlwr ++@ cdecl _strlwr_l(str ptr) ++@ cdecl _strlwr_s(ptr long) MSVCRT__strlwr_s ++@ cdecl _strlwr_s_l(ptr long ptr) MSVCRT__strlwr_s_l ++@ cdecl _strncoll(str str long) MSVCRT__strncoll ++@ cdecl _strncoll_l(str str long ptr) MSVCRT__strncoll_l ++@ cdecl _strnicmp(str str long) MSVCRT__strnicmp ++@ cdecl _strnicmp_l(str str long ptr) MSVCRT__strnicmp_l ++@ cdecl _strnicoll(str str long) MSVCRT__strnicoll ++@ cdecl _strnicoll_l(str str long ptr) MSVCRT__strnicoll_l ++@ cdecl _strnset(str long long) MSVCRT__strnset ++@ cdecl _strnset_s(str long long long) MSVCRT__strnset_s ++@ cdecl _strrev(str) MSVCRT__strrev ++@ cdecl _strset(str long) ++@ stub _strset_s ++@ cdecl _strtime(ptr) MSVCRT__strtime ++@ cdecl _strtime_s(ptr long) ++@ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l ++@ stub _strtof_l ++@ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64 ++@ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l ++@ stub _strtoimax_l ++@ stub _strtol_l ++@ stub _strtold_l ++@ cdecl -ret64 _strtoll_l(str ptr long ptr) MSVCRT_strtoi64_l ++@ cdecl -ret64 _strtoui64(str ptr long) MSVCRT_strtoui64 ++@ cdecl -ret64 _strtoui64_l(str ptr long ptr) MSVCRT_strtoui64_l ++@ cdecl _strtoul_l(str ptr long ptr) MSVCRT_strtoul_l ++@ cdecl -ret64 _strtoull_l(str ptr long ptr) MSVCRT_strtoui64_l ++@ stub _strtoumax_l ++@ cdecl _strupr(str) MSVCRT__strupr ++@ cdecl _strupr_l(str ptr) MSVCRT__strupr_l ++@ cdecl _strupr_s(str long) MSVCRT__strupr_s ++@ cdecl _strupr_s_l(str long ptr) MSVCRT__strupr_s_l ++@ cdecl _strxfrm_l(ptr str long ptr) MSVCRT__strxfrm_l ++@ cdecl _swab(str str long) MSVCRT__swab ++@ cdecl _tell(long) MSVCRT__tell ++@ cdecl -ret64 _telli64(long) ++@ cdecl _tempnam(str str) MSVCRT__tempnam ++@ cdecl _time32(ptr) MSVCRT__time32 ++@ cdecl _time64(ptr) MSVCRT__time64 ++@ stub _timespec32_get ++@ stub _timespec64_get ++@ cdecl _tolower(long) MSVCRT__tolower ++@ cdecl _tolower_l(long ptr) MSVCRT__tolower_l ++@ cdecl _toupper(long) MSVCRT__toupper ++@ cdecl _toupper_l(long ptr) MSVCRT__toupper_l ++@ cdecl _towlower_l(long ptr) MSVCRT__towlower_l ++@ cdecl _towupper_l(long ptr) MSVCRT__towupper_l ++@ cdecl _tzset() MSVCRT__tzset ++@ cdecl _ui64toa(int64 ptr long) ntdll._ui64toa ++@ cdecl _ui64toa_s(int64 ptr long long) MSVCRT__ui64toa_s ++@ cdecl _ui64tow(int64 ptr long) ntdll._ui64tow ++@ cdecl _ui64tow_s(int64 ptr long long) MSVCRT__ui64tow_s ++@ cdecl _ultoa(long ptr long) ntdll._ultoa ++@ cdecl _ultoa_s(long ptr long long) MSVCRT__ultoa_s ++@ cdecl _ultow(long ptr long) ntdll._ultow ++@ cdecl _ultow_s(long ptr long long) MSVCRT__ultow_s ++@ cdecl _umask(long) MSVCRT__umask ++@ stub _umask_s ++@ cdecl _ungetc_nolock(long ptr) MSVCRT__ungetc_nolock ++@ cdecl _ungetch(long) ++@ cdecl _ungetch_nolock(long) ++@ cdecl _ungetwc_nolock(long ptr) MSVCRT__ungetwc_nolock ++@ cdecl _ungetwch(long) ++@ cdecl _ungetwch_nolock(long) ++@ cdecl _unlink(str) MSVCRT__unlink ++@ cdecl _unloaddll(long) ++@ cdecl _unlock_file(ptr) MSVCRT__unlock_file ++@ stub _unlock_locales ++@ cdecl _utime32(str ptr) ++@ cdecl _utime64(str ptr) ++@ cdecl _waccess(wstr long) MSVCRT__waccess ++@ cdecl _waccess_s(wstr long) MSVCRT__waccess_s ++@ cdecl _wasctime(ptr) MSVCRT__wasctime ++@ cdecl _wasctime_s(ptr long ptr) MSVCRT__wasctime_s ++@ cdecl _wassert(wstr wstr long) MSVCRT__wassert ++@ cdecl _wchdir(wstr) MSVCRT__wchdir ++@ cdecl _wchmod(wstr long) MSVCRT__wchmod ++@ cdecl _wcreat(wstr long) MSVCRT__wcreat ++@ stub _wcreate_locale ++@ cdecl _wcscoll_l(wstr wstr ptr) MSVCRT__wcscoll_l ++@ cdecl _wcsdup(wstr) MSVCRT__wcsdup ++@ cdecl _wcserror(long) MSVCRT__wcserror ++@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s ++@ stub _wcsftime_l ++@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp ++@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l ++@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll ++@ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l ++@ cdecl _wcslwr(wstr) MSVCRT__wcslwr ++@ cdecl _wcslwr_l(wstr ptr) MSVCRT__wcslwr_l ++@ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s ++@ cdecl _wcslwr_s_l(wstr long ptr) MSVCRT__wcslwr_s_l ++@ cdecl _wcsncoll(wstr wstr long) MSVCRT__wcsncoll ++@ cdecl _wcsncoll_l(wstr wstr long ptr) MSVCRT__wcsncoll_l ++@ cdecl _wcsnicmp(wstr wstr long) MSVCRT__wcsnicmp ++@ cdecl _wcsnicmp_l(wstr wstr long ptr) MSVCRT__wcsnicmp_l ++@ cdecl _wcsnicoll(wstr wstr long) MSVCRT__wcsnicoll ++@ cdecl _wcsnicoll_l(wstr wstr long ptr) MSVCRT__wcsnicoll_l ++@ cdecl _wcsnset(wstr long long) MSVCRT__wcsnset ++@ stub _wcsnset_s ++@ cdecl _wcsrev(wstr) MSVCRT__wcsrev ++@ cdecl _wcsset(wstr long) MSVCRT__wcsset ++@ cdecl _wcsset_s(wstr long long) MSVCRT__wcsset_s ++@ cdecl _wcstod_l(wstr ptr) MSVCRT__wcstod_l ++@ stub _wcstof_l ++@ cdecl -ret64 _wcstoi64(wstr ptr long) MSVCRT__wcstoi64 ++@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) MSVCRT__wcstoi64_l ++@ stub _wcstoimax_l ++@ cdecl _wcstol_l(wstr ptr long ptr) MSVCRT__wcstol_l ++@ stub _wcstold_l ++@ stub _wcstoll_l ++@ cdecl _wcstombs_l(ptr ptr long ptr) MSVCRT__wcstombs_l ++@ cdecl _wcstombs_s_l(ptr ptr long wstr long ptr) MSVCRT__wcstombs_s_l ++@ cdecl -ret64 _wcstoui64(wstr ptr long) MSVCRT__wcstoui64 ++@ cdecl -ret64 _wcstoui64_l(wstr ptr long ptr) MSVCRT__wcstoui64_l ++@ cdecl _wcstoul_l(wstr ptr long ptr) MSVCRT__wcstoul_l ++@ stub _wcstoull_l ++@ stub _wcstoumax_l ++@ cdecl _wcsupr(wstr) ntdll._wcsupr ++@ cdecl _wcsupr_l(wstr ptr) MSVCRT__wcsupr_l ++@ cdecl _wcsupr_s(wstr long) MSVCRT__wcsupr_s ++@ cdecl _wcsupr_s_l(wstr long ptr) MSVCRT__wcsupr_s_l ++@ cdecl _wcsxfrm_l(ptr wstr long ptr) MSVCRT__wcsxfrm_l ++@ cdecl _wctime32(ptr) MSVCRT__wctime32 ++@ stub _wctime32_s ++@ cdecl _wctime64(ptr) MSVCRT__wctime64 ++@ stub _wctime64_s ++@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l ++@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l ++@ stub _wctype ++@ cdecl _wdupenv_s(ptr ptr wstr) ++@ varargs _wexecl(wstr wstr) ++@ varargs _wexecle(wstr wstr) ++@ varargs _wexeclp(wstr wstr) ++@ varargs _wexeclpe(wstr wstr) ++@ cdecl _wexecv(wstr ptr) ++@ cdecl _wexecve(wstr ptr ptr) ++@ cdecl _wexecvp(wstr ptr) ++@ cdecl _wexecvpe(wstr ptr ptr) ++@ cdecl _wfdopen(long wstr) MSVCRT__wfdopen ++@ cdecl _wfindfirst32(wstr ptr) MSVCRT__wfindfirst32 ++@ stub _wfindfirst32i64 ++@ cdecl _wfindfirst64(wstr ptr) MSVCRT__wfindfirst64 ++@ cdecl _wfindfirst64i32(wstr ptr) MSVCRT__wfindfirst64i32 ++@ stub _wfindnext32 ++@ stub _wfindnext32i64 ++@ cdecl _wfindnext64(long ptr) MSVCRT__wfindnext64 ++@ cdecl _wfindnext64i32(long ptr) MSVCRT__wfindnext64i32 ++@ cdecl _wfopen(wstr wstr) MSVCRT__wfopen ++@ cdecl _wfopen_s(ptr wstr wstr) MSVCRT__wfopen_s ++@ cdecl _wfreopen(wstr wstr ptr) MSVCRT__wfreopen ++@ cdecl _wfreopen_s(ptr wstr wstr ptr) MSVCRT__wfreopen_s ++@ cdecl _wfsopen(wstr wstr long) MSVCRT__wfsopen ++@ cdecl _wfullpath(ptr wstr long) MSVCRT__wfullpath ++@ cdecl _wgetcwd(wstr long) MSVCRT__wgetcwd ++@ cdecl _wgetdcwd(long wstr long) MSVCRT__wgetdcwd ++@ cdecl _wgetenv(wstr) MSVCRT__wgetenv ++@ cdecl _wgetenv_s(ptr ptr long wstr) ++@ cdecl _wmakepath(ptr wstr wstr wstr wstr) MSVCRT__wmakepath ++@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) MSVCRT__wmakepath_s ++@ cdecl _wmkdir(wstr) MSVCRT__wmkdir ++@ cdecl _wmktemp(wstr) MSVCRT__wmktemp ++@ cdecl _wmktemp_s(wstr long) MSVCRT__wmktemp_s ++@ varargs _wopen(wstr long) MSVCRT__wopen ++@ stub _wperror(wstr) ++@ cdecl _wpopen(wstr wstr) MSVCRT__wpopen ++@ cdecl _wputenv(wstr) ++@ cdecl _wputenv_s(wstr wstr) ++@ cdecl _wremove(wstr) MSVCRT__wremove ++@ cdecl _wrename(wstr wstr) MSVCRT__wrename ++@ cdecl _write(long ptr long) MSVCRT__write ++@ cdecl _wrmdir(wstr) MSVCRT__wrmdir ++@ cdecl _wsearchenv(wstr wstr ptr) MSVCRT__wsearchenv ++@ cdecl _wsearchenv_s(wstr wstr ptr long) MSVCRT__wsearchenv_s ++@ cdecl _wsetlocale(long wstr) MSVCRT__wsetlocale ++@ varargs _wsopen(wstr long long) MSVCRT__wsopen ++@ stub _wsopen_dispatch ++@ cdecl _wsopen_s(ptr wstr long long long) MSVCRT__wsopen_s ++@ 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) MSVCRT__wspawnve ++@ cdecl _wspawnvp(long wstr ptr) ++@ cdecl _wspawnvpe(long wstr ptr ptr) MSVCRT__wspawnvpe ++@ cdecl _wsplitpath(wstr ptr ptr ptr ptr) MSVCRT__wsplitpath ++@ cdecl _wsplitpath_s(wstr ptr long ptr long ptr long ptr long) MSVCRT__wsplitpath_s ++@ cdecl _wstat32(wstr ptr) MSVCRT__wstat32 ++@ cdecl _wstat32i64(wstr ptr) MSVCRT__wstat32i64 ++@ cdecl _wstat64(wstr ptr) MSVCRT__wstat64 ++@ cdecl _wstat64i32(wstr ptr) MSVCRT__wstat64i32 ++@ cdecl _wstrdate(ptr) MSVCRT__wstrdate ++@ cdecl _wstrdate_s(ptr long) ++@ cdecl _wstrtime(ptr) MSVCRT__wstrtime ++@ cdecl _wstrtime_s(ptr long) ++@ cdecl _wsystem(wstr) ++@ cdecl _wtempnam(wstr wstr) MSVCRT__wtempnam ++@ cdecl _wtmpnam(ptr) MSVCRT_wtmpnam ++@ stub _wtmpnam_s ++@ cdecl _wtof(wstr) MSVCRT__wtof ++@ cdecl _wtof_l(wstr ptr) MSVCRT__wtof_l ++@ cdecl _wtoi(wstr) MSVCRT__wtoi ++@ cdecl -ret64 _wtoi64(wstr) MSVCRT__wtoi64 ++@ cdecl -ret64 _wtoi64_l(wstr ptr) MSVCRT__wtoi64_l ++@ cdecl _wtoi_l(wstr ptr) MSVCRT__wtoi_l ++@ cdecl _wtol(wstr) MSVCRT__wtol ++@ cdecl _wtol_l(wstr ptr) MSVCRT__wtol_l ++@ stub _wtoll ++@ stub _wtoll_l ++@ cdecl _wunlink(wstr) MSVCRT__wunlink ++@ cdecl _wutime32(wstr ptr) ++@ cdecl _wutime64(wstr ptr) ++@ cdecl _y0(double) MSVCRT__y0 ++@ cdecl _y1(double) MSVCRT__y1 ++@ cdecl _yn(long double) MSVCRT__yn ++@ cdecl abort() MSVCRT_abort ++@ cdecl abs(long) MSVCRT_abs ++@ cdecl acos(double) MSVCRT_acos ++@ stub acosh ++@ stub acoshf ++@ stub acoshl ++@ cdecl asctime(ptr) MSVCRT_asctime ++@ cdecl asctime_s(ptr long ptr) MSVCRT_asctime_s ++@ cdecl asin(double) MSVCRT_asin ++@ stub asinh ++@ stub asinhf ++@ stub asinhl ++@ cdecl atan(double) MSVCRT_atan ++@ cdecl atan2(double double) MSVCRT_atan2 ++@ stub atanh ++@ stub atanhf ++@ stub atanhl ++@ cdecl atof(str) MSVCRT_atof ++@ cdecl atoi(str) MSVCRT_atoi ++@ cdecl atol(str) ntdll.atol ++@ stub atoll ++@ cdecl bsearch(ptr ptr long long ptr) MSVCRT_bsearch ++@ cdecl bsearch_s(ptr ptr long long ptr ptr) MSVCRT_bsearch_s ++@ cdecl btowc(long) MSVCRT_btowc ++@ stub c16rtomb ++@ stub c32rtomb ++@ stub cabs ++@ stub cabsf ++@ stub cabsl ++@ stub cacos ++@ stub cacosf ++@ stub cacosh ++@ stub cacoshf ++@ stub cacoshl ++@ stub cacosl ++@ cdecl calloc(long long) MSVCRT_calloc ++@ stub carg ++@ stub cargf ++@ stub cargl ++@ stub casin ++@ stub casinf ++@ stub casinh ++@ stub casinhf ++@ stub casinhl ++@ stub casinl ++@ stub catan ++@ stub catanf ++@ stub catanh ++@ stub catanhf ++@ stub catanhl ++@ stub catanl ++@ cdecl cbrt(double) MSVCR120_cbrt ++@ cdecl cbrtf(float) MSVCR120_cbrtf ++@ cdecl cbrtl(double) MSVCR120_cbrtl ++@ stub ccos ++@ stub ccosf ++@ stub ccosh ++@ stub ccoshf ++@ stub ccoshl ++@ stub ccosl ++@ cdecl ceil(double) MSVCRT_ceil ++@ stub cexp ++@ stub cexpf ++@ stub cexpl ++@ stub cimag ++@ stub cimagf ++@ stub cimagl ++@ cdecl clearerr(ptr) MSVCRT_clearerr ++@ stub clearerr_s ++@ cdecl clock() MSVCRT_clock ++@ stub clog ++@ stub clog10 ++@ stub clog10f ++@ stub clog10l ++@ stub clogf ++@ stub clogl ++@ stub conj ++@ stub conjf ++@ stub conjl ++@ cdecl copysign(double double) MSVCRT__copysign ++@ cdecl copysignf(float float) MSVCRT__copysignf ++@ cdecl copysignl(double double) MSVCRT__copysign ++@ cdecl cos(double) MSVCRT_cos ++@ cdecl cosh(double) MSVCRT_cosh ++@ stub cpow ++@ stub cpowf ++@ stub cpowl ++@ stub cproj ++@ stub cprojf ++@ stub cprojl ++@ stub creal ++@ stub crealf ++@ stub creall ++@ stub csin ++@ stub csinf ++@ stub csinh ++@ stub csinhf ++@ stub csinhl ++@ stub csinl ++@ stub csqrt ++@ stub csqrtf ++@ stub csqrtl ++@ stub ctan ++@ stub ctanf ++@ stub ctanh ++@ stub ctanhf ++@ stub ctanhl ++@ stub ctanl ++@ cdecl -ret64 div(long long) MSVCRT_div ++@ cdecl erf(double) MSVCR120_erf ++@ stub erfc ++@ stub erfcf ++@ stub erfcl ++@ cdecl erff(double) MSVCR120_erff ++@ cdecl erfl(double) MSVCR120_erfl ++@ cdecl exit(long) MSVCRT_exit ++@ cdecl exp(double) MSVCRT_exp ++@ cdecl exp2(double) MSVCR120_exp2 ++@ cdecl exp2f(float) MSVCR120_exp2f ++@ cdecl exp2l(double) MSVCR120_exp2l ++@ stub expm1 ++@ stub expm1f ++@ stub expm1l ++@ cdecl fabs(double) MSVCRT_fabs ++@ cdecl fclose(ptr) MSVCRT_fclose ++@ stub fdim ++@ stub fdimf ++@ stub fdiml ++@ stub feclearexcept ++@ stub fegetenv ++@ stub fegetexceptflag ++@ stub fegetround ++@ stub feholdexcept ++@ cdecl feof(ptr) MSVCRT_feof ++@ cdecl ferror(ptr) MSVCRT_ferror ++@ stub fesetenv ++@ stub fesetexceptflag ++@ stub fesetround ++@ stub fetestexcept ++@ cdecl fflush(ptr) MSVCRT_fflush ++@ cdecl fgetc(ptr) MSVCRT_fgetc ++@ cdecl fgetpos(ptr ptr) MSVCRT_fgetpos ++@ cdecl fgets(ptr long ptr) MSVCRT_fgets ++@ cdecl fgetwc(ptr) MSVCRT_fgetwc ++@ cdecl fgetws(ptr long ptr) MSVCRT_fgetws ++@ cdecl floor(double) MSVCRT_floor ++@ stub fma ++@ stub fmaf ++@ stub fmal ++@ cdecl fmax(double double) MSVCR120_fmax ++@ cdecl fmaxf(float float) MSVCR120_fmaxf ++@ cdecl fmaxl(double double) MSVCR120_fmax ++@ stub fmin ++@ stub fminf ++@ stub fminl ++@ cdecl fmod(double double) MSVCRT_fmod ++@ cdecl fopen(str str) MSVCRT_fopen ++@ cdecl fopen_s(ptr str str) MSVCRT_fopen_s ++@ cdecl fputc(long ptr) MSVCRT_fputc ++@ cdecl fputs(str ptr) MSVCRT_fputs ++@ cdecl fputwc(long ptr) MSVCRT_fputwc ++@ cdecl fputws(wstr ptr) MSVCRT_fputws ++@ cdecl fread(ptr long long ptr) MSVCRT_fread ++@ cdecl fread_s(ptr long long long ptr) MSVCRT_fread_s ++@ cdecl free(ptr) MSVCRT_free ++@ cdecl freopen(str str ptr) MSVCRT_freopen ++@ cdecl freopen_s(ptr str str ptr) MSVCRT_freopen_s ++@ cdecl frexp(double ptr) MSVCRT_frexp ++@ cdecl fseek(ptr long long) MSVCRT_fseek ++@ cdecl fsetpos(ptr ptr) MSVCRT_fsetpos ++@ cdecl ftell(ptr) MSVCRT_ftell ++@ cdecl fwrite(ptr long long ptr) MSVCRT_fwrite ++@ cdecl getc(ptr) MSVCRT_getc ++@ cdecl getchar() MSVCRT_getchar ++@ cdecl getenv(str) MSVCRT_getenv ++@ cdecl getenv_s(ptr ptr long str) ++@ cdecl gets(str) MSVCRT_gets ++@ stub gets_s ++@ cdecl getwc(ptr) MSVCRT_getwc ++@ cdecl getwchar() MSVCRT_getwchar ++@ stub hypot ++@ stub ilogb ++@ stub ilogbf ++@ stub ilogbl ++@ stub imaxabs ++@ stub imaxdiv ++@ cdecl is_wctype(long long) ntdll.iswctype ++@ cdecl isalnum(long) MSVCRT_isalnum ++@ cdecl isalpha(long) MSVCRT_isalpha ++@ stub isblank ++@ cdecl iscntrl(long) MSVCRT_iscntrl ++@ cdecl isdigit(long) MSVCRT_isdigit ++@ cdecl isgraph(long) MSVCRT_isgraph ++@ cdecl isleadbyte(long) MSVCRT_isleadbyte ++@ cdecl islower(long) MSVCRT_islower ++@ cdecl isprint(long) MSVCRT_isprint ++@ cdecl ispunct(long) MSVCRT_ispunct ++@ cdecl isspace(long) MSVCRT_isspace ++@ cdecl isupper(long) MSVCRT_isupper ++@ cdecl iswalnum(long) MSVCRT_iswalnum ++@ cdecl iswalpha(long) ntdll.iswalpha ++@ cdecl iswascii(long) MSVCRT_iswascii ++@ stub iswblank ++@ cdecl iswcntrl(long) MSVCRT_iswcntrl ++@ cdecl iswctype(long long) ntdll.iswctype ++@ cdecl iswdigit(long) MSVCRT_iswdigit ++@ cdecl iswgraph(long) MSVCRT_iswgraph ++@ cdecl iswlower(long) MSVCRT_iswlower ++@ cdecl iswprint(long) MSVCRT_iswprint ++@ cdecl iswpunct(long) MSVCRT_iswpunct ++@ cdecl iswspace(long) MSVCRT_iswspace ++@ cdecl iswupper(long) MSVCRT_iswupper ++@ cdecl iswxdigit(long) MSVCRT_iswxdigit ++@ cdecl isxdigit(long) MSVCRT_isxdigit ++@ cdecl labs(long) MSVCRT_labs ++@ cdecl ldexp(double long) MSVCRT_ldexp ++@ cdecl ldiv(long long) MSVCRT_ldiv ++@ stub lgamma ++@ stub lgammaf ++@ stub lgammal ++@ cdecl -ret64 llabs(int64) MSVCRT_llabs ++@ stub lldiv ++@ cdecl -ret64 llrint(double) MSVCR120_llrint ++@ cdecl -ret64 llrintf(float) MSVCR120_llrintf ++@ cdecl -ret64 llrintl(double) MSVCR120_llrintl ++@ cdecl -ret64 llround(double) MSVCR120_llround ++@ cdecl -ret64 llroundf(float) MSVCR120_llroundf ++@ cdecl -ret64 llroundl(double) MSVCR120_llroundl ++@ cdecl localeconv() MSVCRT_localeconv ++@ cdecl log(double) MSVCRT_log ++@ cdecl log10(double) MSVCRT_log10 ++@ stub log1p ++@ stub log1pf ++@ stub log1pl ++@ cdecl log2(double) MSVCR120_log2 ++@ cdecl log2f(float) MSVCR120_log2f ++@ cdecl log2l(double) MSVCR120_log2l ++@ stub logb ++@ stub logbf ++@ stub logbl ++@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp ++@ cdecl lrint(double) MSVCR120_lrint ++@ cdecl lrintf(float) MSVCR120_lrintf ++@ cdecl lrintl(double) MSVCR120_lrintl ++@ cdecl lround(double) MSVCR120_lround ++@ cdecl lroundf(float) MSVCR120_lroundf ++@ cdecl lroundl(double) MSVCR120_lroundl ++@ cdecl malloc(long) MSVCRT_malloc ++@ cdecl mblen(ptr long) MSVCRT_mblen ++@ cdecl mbrlen(ptr long ptr) MSVCRT_mbrlen ++@ stub mbrtoc16 ++@ stub mbrtoc32 ++@ cdecl mbrtowc(ptr str long ptr) MSVCRT_mbrtowc ++@ cdecl mbsrtowcs(ptr ptr long ptr) MSVCRT_mbsrtowcs ++@ stub mbsrtowcs_s ++@ cdecl mbstowcs(ptr str long) MSVCRT_mbstowcs ++@ cdecl mbstowcs_s(ptr ptr long str long) MSVCRT__mbstowcs_s ++@ cdecl mbtowc(ptr str long) MSVCRT_mbtowc ++@ cdecl memchr(ptr long long) MSVCRT_memchr ++@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp ++@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy ++@ cdecl memcpy_s(ptr long ptr long) MSVCRT_memcpy_s ++@ cdecl memmove(ptr ptr long) MSVCRT_memmove ++@ cdecl memmove_s(ptr long ptr long) MSVCRT_memmove_s ++@ cdecl memset(ptr long long) MSVCRT_memset ++@ cdecl modf(double ptr) MSVCRT_modf ++@ stub nan ++@ stub nanf ++@ stub nanl ++@ stub nearbyint ++@ stub nearbyintf ++@ stub nearbyintl ++@ stub nextafter ++@ stub nextafterf ++@ stub nextafterl ++@ stub nexttoward ++@ stub nexttowardf ++@ stub nexttowardl ++@ stub norm ++@ stub normf ++@ stub norml ++@ cdecl perror(str) MSVCRT_perror ++@ cdecl pow(double double) MSVCRT_pow ++@ cdecl -arch=arm,x86_64 powf(float float) MSVCRT_powf ++@ cdecl putc(long ptr) MSVCRT_putc ++@ cdecl putchar(long) MSVCRT_putchar ++@ cdecl puts(str) MSVCRT_puts ++@ cdecl putwc(long ptr) MSVCRT_fputwc ++@ cdecl putwchar(long) MSVCRT__fputwchar ++@ cdecl qsort(ptr long long ptr) MSVCRT_qsort ++@ cdecl qsort_s(ptr long long ptr ptr) MSVCRT_qsort_s ++@ stub quick_exit ++@ cdecl raise(long) MSVCRT_raise ++@ cdecl rand() MSVCRT_rand ++@ cdecl rand_s(ptr) MSVCRT_rand_s ++@ cdecl realloc(ptr long) MSVCRT_realloc ++@ stub remainder ++@ stub remainderf ++@ stub remainderl ++@ cdecl remove(str) MSVCRT_remove ++@ stub remquo ++@ stub remquof ++@ stub remquol ++@ cdecl rename(str str) MSVCRT_rename ++@ cdecl rewind(ptr) MSVCRT_rewind ++@ cdecl rint(double) MSVCR120_rint ++@ cdecl rintf(float) MSVCR120_rintf ++@ cdecl rintl(double) MSVCR120_rintl ++@ cdecl round(double) MSVCR120_round ++@ cdecl roundf(float) MSVCR120_roundf ++@ cdecl roundl(double) MSVCR120_roundl ++@ stub scalbln ++@ stub scalblnf ++@ stub scalblnl ++@ stub scalbn ++@ stub scalbnf ++@ stub scalbnl ++@ stub set_terminate ++@ stub set_unexpected ++@ cdecl setbuf(ptr ptr) MSVCRT_setbuf ++@ cdecl setlocale(long str) MSVCRT_setlocale ++@ cdecl setvbuf(ptr str long long) MSVCRT_setvbuf ++@ cdecl signal(long long) MSVCRT_signal ++@ cdecl sin(double) MSVCRT_sin ++@ cdecl sinh(double) MSVCRT_sinh ++@ cdecl sqrt(double) MSVCRT_sqrt ++@ cdecl srand(long) MSVCRT_srand ++@ cdecl strcat(str str) ntdll.strcat ++@ cdecl strcat_s(str long str) MSVCRT_strcat_s ++@ cdecl strchr(str long) MSVCRT_strchr ++@ cdecl strcmp(str str) MSVCRT_strcmp ++@ cdecl strcoll(str str) MSVCRT_strcoll ++@ cdecl strcpy(ptr str) ntdll.strcpy ++@ cdecl strcpy_s(ptr long str) MSVCRT_strcpy_s ++@ cdecl strcspn(str str) ntdll.strcspn ++@ cdecl strerror(long) MSVCRT_strerror ++@ cdecl strerror_s(ptr long long) MSVCRT_strerror_s ++@ cdecl strftime(str long str ptr) MSVCRT_strftime ++@ cdecl strlen(str) MSVCRT_strlen ++@ cdecl strncat(str str long) MSVCRT_strncat ++@ cdecl strncat_s(str long str long) MSVCRT_strncat_s ++@ cdecl strncmp(str str long) MSVCRT_strncmp ++@ cdecl strncpy(ptr str long) MSVCRT_strncpy ++@ cdecl strncpy_s(ptr long str long) MSVCRT_strncpy_s ++@ cdecl strnlen(str long) MSVCRT_strnlen ++@ cdecl strpbrk(str str) ntdll.strpbrk ++@ cdecl strrchr(str long) MSVCRT_strrchr ++@ cdecl strspn(str str) ntdll.strspn ++@ cdecl strstr(str str) MSVCRT_strstr ++@ cdecl strtod(str ptr) MSVCRT_strtod ++@ stub strtof ++@ stub strtoimax ++@ cdecl strtok(str str) MSVCRT_strtok ++@ cdecl strtok_s(ptr str ptr) MSVCRT_strtok_s ++@ cdecl strtol(str ptr long) MSVCRT_strtol ++@ stub strtold ++@ cdecl -ret64 strtoll(str ptr long) MSVCRT_strtoi64 ++@ cdecl strtoul(str ptr long) MSVCRT_strtoul ++@ cdecl -ret64 strtoull(str ptr long) MSVCRT_strtoui64 ++@ stub strtoumax ++@ cdecl strxfrm(ptr str long) MSVCRT_strxfrm ++@ cdecl system(str) MSVCRT_system ++@ cdecl tan(double) MSVCRT_tan ++@ cdecl tanh(double) MSVCRT_tanh ++@ stub terminate ++@ stub tgamma ++@ stub tgammaf ++@ stub tgammal ++@ cdecl tmpfile() MSVCRT_tmpfile ++@ cdecl tmpfile_s(ptr) MSVCRT_tmpfile_s ++@ cdecl tmpnam(ptr) MSVCRT_tmpnam ++@ stub tmpnam_s ++@ cdecl tolower(long) MSVCRT_tolower ++@ cdecl toupper(long) MSVCRT_toupper ++@ stub towctrans ++@ cdecl towlower(long) MSVCRT_towlower ++@ cdecl towupper(long) MSVCRT_towupper ++@ cdecl trunc(double) MSVCR120_trunc ++@ cdecl truncf(float) MSVCR120_truncf ++@ cdecl truncl(double) MSVCR120_truncl ++@ stub unexpected ++@ cdecl ungetc(long ptr) MSVCRT_ungetc ++@ cdecl ungetwc(long ptr) MSVCRT_ungetwc ++@ cdecl wcrtomb(ptr long ptr) MSVCRT_wcrtomb ++@ stub wcrtomb_s ++@ cdecl wcscat(wstr wstr) ntdll.wcscat ++@ cdecl wcscat_s(wstr long wstr) MSVCRT_wcscat_s ++@ cdecl wcschr(wstr long) MSVCRT_wcschr ++@ cdecl wcscmp(wstr wstr) ntdll.wcscmp ++@ cdecl wcscoll(wstr wstr) MSVCRT_wcscoll ++@ cdecl wcscpy(ptr wstr) ntdll.wcscpy ++@ cdecl wcscpy_s(ptr long wstr) MSVCRT_wcscpy_s ++@ cdecl wcscspn(wstr wstr) ntdll.wcscspn ++@ cdecl wcsftime(ptr long wstr ptr) MSVCRT_wcsftime ++@ cdecl wcslen(wstr) MSVCRT_wcslen ++@ cdecl wcsncat(wstr wstr long) ntdll.wcsncat ++@ cdecl wcsncat_s(wstr long wstr long) MSVCRT_wcsncat_s ++@ cdecl wcsncmp(wstr wstr long) MSVCRT_wcsncmp ++@ cdecl wcsncpy(ptr wstr long) MSVCRT_wcsncpy ++@ cdecl wcsncpy_s(ptr long wstr long) MSVCRT_wcsncpy_s ++@ cdecl wcsnlen(wstr long) MSVCRT_wcsnlen ++@ cdecl wcspbrk(wstr wstr) MSVCRT_wcspbrk ++@ cdecl wcsrchr(wstr long) ntdll.wcsrchr ++@ cdecl wcsrtombs(ptr ptr long ptr) MSVCRT_wcsrtombs ++@ cdecl wcsrtombs_s(ptr ptr long ptr long ptr) MSVCRT_wcsrtombs_s ++@ cdecl wcsspn(wstr wstr) ntdll.wcsspn ++@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr ++@ cdecl wcstod(wstr ptr) MSVCRT_wcstod ++@ stub wcstof ++@ stub wcstoimax ++@ cdecl wcstok(wstr wstr) MSVCRT_wcstok ++@ cdecl wcstok_s(ptr wstr ptr) MSVCRT_wcstok_s ++@ cdecl wcstol(wstr ptr long) ntdll.wcstol ++@ stub wcstold ++@ stub wcstoll ++@ cdecl wcstombs(ptr ptr long) MSVCRT_wcstombs ++@ cdecl wcstombs_s(ptr ptr long wstr long) MSVCRT_wcstombs_s ++@ cdecl wcstoul(wstr ptr long) MSVCRT_wcstoul ++@ stub wcstoull ++@ stub wcstoumax ++@ cdecl wcsxfrm(ptr wstr long) MSVCRT_wcsxfrm ++@ cdecl wctob(long) MSVCRT_wctob ++@ cdecl wctomb(ptr long) MSVCRT_wctomb ++@ cdecl wctomb_s(ptr ptr long long) MSVCRT_wctomb_s ++@ stub wctrans ++@ stub wctype ++@ cdecl wmemcpy_s(ptr long ptr long) ++@ cdecl wmemmove_s(ptr long ptr long) +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0002-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch b/patches/api-ms-win-crt-Stub_DLLs/0002-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch new file mode 100644 index 00000000..e45dc4cc --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0002-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch @@ -0,0 +1,75 @@ +From a8d6331370eb45eef60eb3348e342288344fa622 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:01 +0300 +Subject: ucrtbase: Hook up some functions with new names to existing + implementations + +These are some functions that on a first glance seem to have a +matching signature even though the name has changed. +--- + dlls/ucrtbase/ucrtbase.spec | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec +index a1be10d..bcbfeaa 100644 +--- a/dlls/ucrtbase/ucrtbase.spec ++++ b/dlls/ucrtbase/ucrtbase.spec +@@ -203,7 +203,7 @@ + @ cdecl _c_exit() MSVCRT__c_exit + @ cdecl _cabs(long) MSVCRT__cabs + @ cdecl _callnewh(long) +-@ stub _calloc_base ++@ cdecl _calloc_base(long long) MSVCRT_calloc + @ cdecl _cexit() MSVCRT__cexit + @ cdecl _cgets(ptr) + @ stub _cgets_s +@@ -233,7 +233,7 @@ + @ cdecl _creat(str long) MSVCRT__creat + @ cdecl _create_locale(long str) MSVCRT__create_locale + @ stub _crt_at_quick_exit +-@ stub _crt_atexit ++@ cdecl _crt_atexit(ptr) MSVCRT_atexit + @ stub _crt_debugger_hook + @ cdecl _ctime32(ptr) MSVCRT__ctime32 + @ cdecl _ctime32_s(str long ptr) MSVCRT__ctime32_s +@@ -323,7 +323,7 @@ + @ cdecl _fputwchar(long) MSVCRT__fputwchar + @ cdecl _fread_nolock(ptr long long ptr) MSVCRT__fread_nolock + @ cdecl _fread_nolock_s(ptr long long long ptr) MSVCRT__fread_nolock_s +-@ stub _free_base ++@ cdecl _free_base(ptr) MSVCRT_free + @ cdecl _free_locale(ptr) MSVCRT__free_locale + @ cdecl _fseek_nolock(ptr long long) MSVCRT__fseek_nolock + @ cdecl _fseeki64(ptr int64 long) MSVCRT__fseeki64 +@@ -566,7 +566,7 @@ + @ cdecl _ltow_s(long ptr long long) MSVCRT__ltow_s + @ cdecl _makepath(ptr str str str str) MSVCRT__makepath + @ cdecl _makepath_s(ptr long str str str str) MSVCRT__makepath_s +-@ stub _malloc_base ++@ cdecl _malloc_base(long) MSVCRT_malloc + @ cdecl _mbbtombc(long) + @ stub _mbbtombc_l + @ cdecl _mbbtype(long long) +@@ -1842,16 +1842,15 @@ + @ stdcall -arch=i386 _seh_longjmp_unwind(ptr) + @ cdecl -arch=i386 _set_SSE2_enable(long) MSVCRT__set_SSE2_enable + @ cdecl _set_abort_behavior(long long) MSVCRT__set_abort_behavior +-@ stub _set_app_type ++@ cdecl _set_app_type(long) MSVCRT___set_app_type + @ cdecl _set_controlfp(long long) + @ cdecl _set_doserrno(long) + @ cdecl _set_errno(long) + @ cdecl _set_error_mode(long) + @ cdecl _set_fmode(long) MSVCRT__set_fmode + @ cdecl _set_invalid_parameter_handler(ptr) +-@ stub -arch=win32 ?_set_new_handler@@YAP6AHI@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned int) +-@ stub -arch=win64 ?_set_new_handler@@YAP6AH_K@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned __int64) +-@ stub _set_new_mode ++@ cdecl _set_new_handler(ptr) MSVCRT_set_new_handler ++@ cdecl _set_new_mode(long) MSVCRT__set_new_mode + @ cdecl _set_printf_count_output(long) MSVCRT__set_printf_count_output + @ cdecl _set_purecall_handler(ptr) + @ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *) +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0003-vcruntime140-Add-the-new-MSVC-2015-compiler-specific.patch b/patches/api-ms-win-crt-Stub_DLLs/0003-vcruntime140-Add-the-new-MSVC-2015-compiler-specific.patch new file mode 100644 index 00000000..e501de78 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0003-vcruntime140-Add-the-new-MSVC-2015-compiler-specific.patch @@ -0,0 +1,163 @@ +From 4c5f9bb07041f41bae05c4e6487f0ba6a5456099 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:02 +0300 +Subject: vcruntime140: Add the new MSVC 2015 compiler specific DLL. + +Since MSVC 2015/Windows 10, the C runtime has now been split into two +parts, ucrtbase, which is the generic C runtime which is now considered +a system component, and vcruntimeX which is specific to the compiler +version. + +Even if this DLL only has a fraction of the functions of the full +msvcrt/ucrtbase, it still requires almost all the object files from +msvcrt. +--- + configure.ac | 1 + + dlls/vcruntime140/Makefile.in | 33 +++++++++++++++ + dlls/vcruntime140/vcruntime140.spec | 82 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 116 insertions(+) + create mode 100644 dlls/vcruntime140/Makefile.in + create mode 100644 dlls/vcruntime140/vcruntime140.spec + +diff --git a/configure.ac b/configure.ac +index 0a93a00..e6817bb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3327,6 +3327,7 @@ WINE_CONFIG_TEST(dlls/vcomp/tests) + WINE_CONFIG_DLL(vcomp100) + WINE_CONFIG_DLL(vcomp110) + WINE_CONFIG_DLL(vcomp90) ++WINE_CONFIG_DLL(vcruntime140,,[implib]) + WINE_CONFIG_DLL(vdhcp.vxd,enable_win16) + WINE_CONFIG_DLL(vdmdbg,,[implib]) + WINE_CONFIG_DLL(ver.dll16,enable_win16) +diff --git a/dlls/vcruntime140/Makefile.in b/dlls/vcruntime140/Makefile.in +new file mode 100644 +index 0000000..92f99c4 +--- /dev/null ++++ b/dlls/vcruntime140/Makefile.in +@@ -0,0 +1,33 @@ ++EXTRADEFS = -D_MT -D_MSVCR_VER=140 ++MODULE = vcruntime140.dll ++IMPORTLIB = vcruntime140 ++DELAYIMPORTS = advapi32 user32 ++PARENTSRC = ../msvcrt ++ ++C_SRCS = \ ++ console.c \ ++ cpp.c \ ++ ctype.c \ ++ data.c \ ++ dir.c \ ++ environ.c \ ++ errno.c \ ++ except.c \ ++ except_arm.c \ ++ except_i386.c \ ++ except_x86_64.c \ ++ exit.c \ ++ file.c \ ++ heap.c \ ++ locale.c \ ++ lock.c \ ++ main.c \ ++ math.c \ ++ mbcs.c \ ++ misc.c \ ++ process.c \ ++ string.c \ ++ thread.c \ ++ time.c \ ++ undname.c \ ++ wcs.c +diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec +new file mode 100644 +index 0000000..9027955 +--- /dev/null ++++ b/dlls/vcruntime140/vcruntime140.spec +@@ -0,0 +1,82 @@ ++@ stub _CreateFrameInfo ++@ stdcall _CxxThrowException(long long) ++@ cdecl -arch=i386 -norelay _EH_prolog() ++@ stub _FindAndUnlinkFrame ++@ stub _IsExceptionObjectToBeDestroyed ++@ stub _NLG_Dispatch2 ++@ stub _NLG_Return ++@ stub _NLG_Return2 ++@ stub _SetWinRTOutOfMemoryExceptionCallback ++@ cdecl __AdjustPointer(ptr ptr) ++@ stub __BuildCatchObject ++@ stub __BuildCatchObjectHelper ++@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr) ++@ stub __CxxExceptionFilter ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr) ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler ++@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr) ++@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize() ++@ stub __CxxRegisterExceptionObject ++@ stub __CxxUnregisterExceptionObject ++@ stub __DestructExceptionObject ++@ stub __FrameUnwindFilter ++@ stub __GetPlatformExceptionInfo ++@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid ++@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast ++@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid ++@ stub __TypeMatch ++@ stub __current_exception ++@ stub __current_exception_context ++@ stub __intrinsic_setjmp ++@ stub __processing_throw ++@ stub __report_gsfailure ++@ stub __std_exception_copy ++@ stub __std_exception_destroy ++@ stub __std_terminate ++@ stub __std_type_info_compare ++@ stub __std_type_info_destroy_list ++@ stub __std_type_info_hash ++@ stub __std_type_info_name ++@ stub __telemetry_main_invoke_trigger ++@ stub __telemetry_main_return_trigger ++@ cdecl __unDName(ptr str long ptr ptr long) ++@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) ++@ cdecl __uncaught_exception() MSVCRT___uncaught_exception ++@ stub __uncaught_exceptions ++@ stub __vcrt_GetModuleFileNameW ++@ stub __vcrt_GetModuleHandleW ++@ stub __vcrt_InitializeCriticalSectionEx ++@ stub __vcrt_LoadLibraryExW ++@ cdecl -arch=i386 -norelay _chkesp() ++@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) ++@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr) ++@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr) ++@ stub _get_purecall_handler ++@ cdecl _get_unexpected() MSVCRT__get_unexpected ++@ cdecl -arch=i386 _global_unwind2(ptr) ++@ stub _is_exception_typeof ++@ cdecl -arch=i386 _local_unwind2(ptr long) ++@ cdecl -arch=i386 _local_unwind4(ptr ptr long) ++@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp ++@ cdecl _purecall() ++@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) ++@ stdcall -arch=i386 _seh_longjmp_unwind(ptr) ++@ cdecl _set_purecall_handler(ptr) ++@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *) ++@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64) ++@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3 ++@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp ++@ cdecl memchr(ptr long long) MSVCRT_memchr ++@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp ++@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy ++@ cdecl memmove(ptr ptr long) MSVCRT_memmove ++@ cdecl memset(ptr long long) MSVCRT_memset ++@ stub set_unexpected ++@ cdecl strchr(str long) MSVCRT_strchr ++@ cdecl strrchr(str long) MSVCRT_strrchr ++@ cdecl strstr(str str) MSVCRT_strstr ++@ stub unexpected ++@ cdecl wcschr(wstr long) MSVCRT_wcschr ++@ cdecl wcsrchr(wstr long) ntdll.wcsrchr ++@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0004-vcruntime140-Hook-up-a-function-with-a-new-name-to-t.patch b/patches/api-ms-win-crt-Stub_DLLs/0004-vcruntime140-Hook-up-a-function-with-a-new-name-to-t.patch new file mode 100644 index 00000000..07452d01 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0004-vcruntime140-Hook-up-a-function-with-a-new-name-to-t.patch @@ -0,0 +1,26 @@ +From af073a4d16fe89994017690db5a719940e66534b Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:03 +0300 +Subject: vcruntime140: Hook up a function with a new name to the existing + implementation + +--- + dlls/vcruntime140/vcruntime140.spec | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec +index 9027955..adfb0f0 100644 +--- a/dlls/vcruntime140/vcruntime140.spec ++++ b/dlls/vcruntime140/vcruntime140.spec +@@ -46,7 +46,7 @@ + @ stub __uncaught_exceptions + @ stub __vcrt_GetModuleFileNameW + @ stub __vcrt_GetModuleHandleW +-@ stub __vcrt_InitializeCriticalSectionEx ++@ cdecl -arch=i386,win64 __vcrt_InitializeCriticalSectionEx(ptr long long) MSVCR110__crtInitializeCriticalSectionEx + @ stub __vcrt_LoadLibraryExW + @ cdecl -arch=i386 -norelay _chkesp() + @ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0005-ucrtbase-Add-stub-functions-for-narrow-environment.patch b/patches/api-ms-win-crt-Stub_DLLs/0005-ucrtbase-Add-stub-functions-for-narrow-environment.patch new file mode 100644 index 00000000..adbb7931 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0005-ucrtbase-Add-stub-functions-for-narrow-environment.patch @@ -0,0 +1,82 @@ +From dd7c7b7b6225700204da16f150524c2fbe4f1536 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:04 +0300 +Subject: ucrtbase: Add stub functions for narrow environment + +The interface is taken from ucrt public headers. + +These are required for a plain empty exe that is built with dynamic +C runtime with MSVC 2015 to start up. +--- + dlls/msvcrt/data.c | 26 ++++++++++++++++++++++++++ + dlls/ucrtbase/ucrtbase.spec | 6 +++--- + 2 files changed, 29 insertions(+), 3 deletions(-) + +diff --git a/dlls/msvcrt/data.c b/dlls/msvcrt/data.c +index e6989f1..7b6216d 100644 +--- a/dlls/msvcrt/data.c ++++ b/dlls/msvcrt/data.c +@@ -640,3 +640,29 @@ void CDECL MSVCRT___set_app_type(int app_type) + TRACE("(%d) %s application\n", app_type, app_type == 2 ? "Gui" : "Console"); + MSVCRT_app_type = app_type; + } ++ ++/********************************************************************* ++ * _get_initial_narrow_environment (MSVCRT.@) ++ */ ++char** CDECL _get_initial_narrow_environment(void) ++{ ++ return MSVCRT___argv; ++} ++ ++/********************************************************************* ++ * _configure_narrow_argv (MSVCRT.@) ++ */ ++int CDECL _configure_narrow_argv(int mode) ++{ ++ TRACE("(%d)\n", mode); ++ return 0; ++} ++ ++/********************************************************************* ++ * _initialize_narrow_environment (MSVCRT.@) ++ */ ++int CDECL _initialize_narrow_environment(void) ++{ ++ TRACE("\n"); ++ return 0; ++} +diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec +index bcbfeaa..1ab1d7b 100644 +--- a/dlls/ucrtbase/ucrtbase.spec ++++ b/dlls/ucrtbase/ucrtbase.spec +@@ -221,7 +221,7 @@ + @ cdecl _close(long) MSVCRT__close + @ cdecl _commit(long) MSVCRT__commit + @ cdecl _configthreadlocale(long) +-@ stub _configure_narrow_argv ++@ cdecl _configure_narrow_argv(long) + @ stub _configure_wide_argv + @ cdecl _control87(long long) + @ cdecl _controlfp(long long) +@@ -354,7 +354,7 @@ + @ cdecl _get_errno(ptr) + @ cdecl _get_fmode(ptr) MSVCRT__get_fmode + @ cdecl _get_heap_handle() +-@ stub _get_initial_narrow_environment ++@ cdecl _get_initial_narrow_environment() + @ stub _get_initial_wide_environment + @ cdecl _get_invalid_parameter_handler() + @ stub _get_narrow_winmain_command_line +@@ -407,7 +407,7 @@ + @ cdecl _i64toa_s(int64 ptr long long) MSVCRT__i64toa_s + @ cdecl _i64tow(int64 ptr long) ntdll._i64tow + @ cdecl _i64tow_s(int64 ptr long long) MSVCRT__i64tow_s +-@ stub _initialize_narrow_environment ++@ cdecl _initialize_narrow_environment() + @ stub _initialize_onexit_table + @ stub _initialize_wide_environment + @ cdecl _initterm(ptr ptr) +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0006-vcruntime140-Add-stubs-for-telemetry-functions.patch b/patches/api-ms-win-crt-Stub_DLLs/0006-vcruntime140-Add-stubs-for-telemetry-functions.patch new file mode 100644 index 00000000..584eb1c7 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0006-vcruntime140-Add-stubs-for-telemetry-functions.patch @@ -0,0 +1,54 @@ +From 8addd3884ce995b5d993a701ca5e1384fc234531 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:05 +0300 +Subject: vcruntime140: Add stubs for telemetry functions + +These are required for a plain empty exe built with MSVC 2015 with +dynamic C runtime to start up with the builtin vcruntime140.dll. +--- + dlls/msvcrt/misc.c | 16 ++++++++++++++++ + dlls/vcruntime140/vcruntime140.spec | 4 ++-- + 2 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c +index 4e9f288..556ca62 100644 +--- a/dlls/msvcrt/misc.c ++++ b/dlls/msvcrt/misc.c +@@ -498,3 +498,19 @@ void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src) + { + __ms_va_copy(*dest, src); + } ++ ++/********************************************************************* ++ * __telemetry_main_invoke_trigger (MSVCRT.@) ++ */ ++void CDECL __telemetry_main_invoke_trigger(const HINSTANCE hinst) ++{ ++ TRACE("(%p)\n", hinst); ++} ++ ++/********************************************************************* ++ * __telemetry_main_return_trigger (MSVCRT.@) ++ */ ++void CDECL __telemetry_main_return_trigger(const HINSTANCE hinst) ++{ ++ TRACE("(%p)\n", hinst); ++} +diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec +index adfb0f0..efd967f 100644 +--- a/dlls/vcruntime140/vcruntime140.spec ++++ b/dlls/vcruntime140/vcruntime140.spec +@@ -38,8 +38,8 @@ + @ stub __std_type_info_destroy_list + @ stub __std_type_info_hash + @ stub __std_type_info_name +-@ stub __telemetry_main_invoke_trigger +-@ stub __telemetry_main_return_trigger ++@ cdecl __telemetry_main_invoke_trigger(ptr) ++@ cdecl __telemetry_main_return_trigger(ptr) + @ cdecl __unDName(ptr str long ptr ptr long) + @ cdecl __unDNameEx(ptr str long ptr ptr ptr long) + @ cdecl __uncaught_exception() MSVCRT___uncaught_exception +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0007-make_specfiles-Use-cdecl-for-stub-redirects-to-ucrtb.patch b/patches/api-ms-win-crt-Stub_DLLs/0007-make_specfiles-Use-cdecl-for-stub-redirects-to-ucrtb.patch new file mode 100644 index 00000000..66e32b3b --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0007-make_specfiles-Use-cdecl-for-stub-redirects-to-ucrtb.patch @@ -0,0 +1,26 @@ +From 5041ce059770502a5d39223adaf2413475f201ec Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:06 +0300 +Subject: make_specfiles: Use cdecl for stub redirects to ucrtbase, just like + to msvcr* + +--- + tools/make_specfiles | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 00e609c..54495cf 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -359,7 +359,7 @@ sub update_spec_file($) + if ($parent{callconv} ne "stub" || $parent{args}) + { + my $callconv = $parent{callconv} ne "stub" ? $parent{callconv} : +- $parent{spec} =~ /msvc/ ? "cdecl" : "stdcall"; # hack ++ $parent{spec} =~ /(msvc|ucrtbase)/ ? "cdecl" : "stdcall"; # hack + $_ = sprintf "$descr{ordinal} %s %s%s", $callconv, $flags, $func; + + if ($parent{target} =~ /$group_head\./) # use the same forward as parent if possible +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0008-api-ms-win-crt-conio-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0008-api-ms-win-crt-conio-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..1de3ccac --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0008-api-ms-win-crt-conio-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,87 @@ +From 242996c2824aca4beea47e9f7c2fb698a0fc5386 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:07 +0300 +Subject: api-ms-win-crt-conio-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-conio-l1-1-0.spec | 30 ++++++++++++++++++++++ + tools/make_specfiles | 4 +++ + 4 files changed, 36 insertions(+) + create mode 100644 dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-conio-l1-1-0/api-ms-win-crt-conio-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index e6817bb..a1f38d6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2755,6 +2755,7 @@ WINE_CONFIG_DLL(api-ms-win-core-winrt-error-l1-1-1) + WINE_CONFIG_DLL(api-ms-win-core-winrt-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-xstate-l2-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..3abc188 +--- /dev/null ++++ b/dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-conio-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-conio-l1-1-0/api-ms-win-crt-conio-l1-1-0.spec b/dlls/api-ms-win-crt-conio-l1-1-0/api-ms-win-crt-conio-l1-1-0.spec +new file mode 100644 +index 0000000..3b7f637 +--- /dev/null ++++ b/dlls/api-ms-win-crt-conio-l1-1-0/api-ms-win-crt-conio-l1-1-0.spec +@@ -0,0 +1,30 @@ ++@ stub __conio_common_vcprintf ++@ stub __conio_common_vcprintf_p ++@ stub __conio_common_vcprintf_s ++@ stub __conio_common_vcscanf ++@ stub __conio_common_vcwprintf ++@ stub __conio_common_vcwprintf_p ++@ stub __conio_common_vcwprintf_s ++@ stub __conio_common_vcwscanf ++@ cdecl _cgets(ptr) ucrtbase._cgets ++@ stub _cgets_s ++@ stub _cgetws ++@ stub _cgetws_s ++@ cdecl _cputs(str) ucrtbase._cputs ++@ cdecl _cputws(wstr) ucrtbase._cputws ++@ cdecl _getch() ucrtbase._getch ++@ cdecl _getch_nolock() ucrtbase._getch_nolock ++@ cdecl _getche() ucrtbase._getche ++@ cdecl _getche_nolock() ucrtbase._getche_nolock ++@ cdecl _getwch() ucrtbase._getwch ++@ cdecl _getwch_nolock() ucrtbase._getwch_nolock ++@ cdecl _getwche() ucrtbase._getwche ++@ cdecl _getwche_nolock() ucrtbase._getwche_nolock ++@ cdecl _putch(long) ucrtbase._putch ++@ cdecl _putch_nolock(long) ucrtbase._putch_nolock ++@ cdecl _putwch(long) ucrtbase._putwch ++@ cdecl _putwch_nolock(long) ucrtbase._putwch_nolock ++@ cdecl _ungetch(long) ucrtbase._ungetch ++@ cdecl _ungetch_nolock(long) ucrtbase._ungetch_nolock ++@ cdecl _ungetwch(long) ucrtbase._ungetwch ++@ cdecl _ungetwch_nolock(long) ucrtbase._ungetwch_nolock +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 54495cf..3a70c21 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -50,6 +50,10 @@ my @dll_groups = + "msvcr120_app", + ], + [ ++ "ucrtbase", ++ "api-ms-win-crt-conio-l1-1-0", ++ ], ++ [ + "msvcp120", + "msvcp120_app", + ], +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0009-api-ms-win-crt-convert-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0009-api-ms-win-crt-convert-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..89daba2a --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0009-api-ms-win-crt-convert-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,176 @@ +From c47fba8bb1e415834128dc16d812b222eacc087b Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:08 +0300 +Subject: api-ms-win-crt-convert-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-convert-l1-1-0.spec | 122 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 125 insertions(+) + create mode 100644 dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index a1f38d6..6cf2939 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2756,6 +2756,7 @@ WINE_CONFIG_DLL(api-ms-win-core-winrt-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-xstate-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..2e35b1c +--- /dev/null ++++ b/dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-convert-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec b/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec +new file mode 100644 +index 0000000..40b131a +--- /dev/null ++++ b/dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec +@@ -0,0 +1,122 @@ ++@ cdecl __toascii(long) ucrtbase.__toascii ++@ cdecl _atodbl(ptr str) ucrtbase._atodbl ++@ cdecl _atodbl_l(ptr str ptr) ucrtbase._atodbl_l ++@ cdecl _atof_l(str ptr) ucrtbase._atof_l ++@ cdecl _atoflt(ptr str) ucrtbase._atoflt ++@ cdecl _atoflt_l(ptr str ptr) ucrtbase._atoflt_l ++@ cdecl -ret64 _atoi64(str) ucrtbase._atoi64 ++@ stub _atoi64_l ++@ cdecl _atoi_l(str ptr) ucrtbase._atoi_l ++@ stub _atol_l ++@ cdecl _atoldbl(ptr str) ucrtbase._atoldbl ++@ stub _atoldbl_l ++@ stub _atoll_l ++@ cdecl _ecvt(double long ptr ptr) ucrtbase._ecvt ++@ cdecl _ecvt_s(str long double long ptr ptr) ucrtbase._ecvt_s ++@ cdecl _fcvt(double long ptr ptr) ucrtbase._fcvt ++@ cdecl _fcvt_s(ptr long double long ptr ptr) ucrtbase._fcvt_s ++@ cdecl _gcvt(double long str) ucrtbase._gcvt ++@ cdecl _gcvt_s(ptr long double long) ucrtbase._gcvt_s ++@ cdecl _i64toa(int64 ptr long) ucrtbase._i64toa ++@ cdecl _i64toa_s(int64 ptr long long) ucrtbase._i64toa_s ++@ cdecl _i64tow(int64 ptr long) ucrtbase._i64tow ++@ cdecl _i64tow_s(int64 ptr long long) ucrtbase._i64tow_s ++@ cdecl _itoa(long ptr long) ucrtbase._itoa ++@ cdecl _itoa_s(long ptr long long) ucrtbase._itoa_s ++@ cdecl _itow(long ptr long) ucrtbase._itow ++@ cdecl _itow_s(long ptr long long) ucrtbase._itow_s ++@ cdecl _ltoa(long ptr long) ucrtbase._ltoa ++@ cdecl _ltoa_s(long ptr long long) ucrtbase._ltoa_s ++@ cdecl _ltow(long ptr long) ucrtbase._ltow ++@ cdecl _ltow_s(long ptr long long) ucrtbase._ltow_s ++@ cdecl _strtod_l(str ptr ptr) ucrtbase._strtod_l ++@ stub _strtof_l ++@ cdecl -ret64 _strtoi64(str ptr long) ucrtbase._strtoi64 ++@ cdecl -ret64 _strtoi64_l(str ptr long ptr) ucrtbase._strtoi64_l ++@ stub _strtoimax_l ++@ stub _strtol_l ++@ stub _strtold_l ++@ cdecl -ret64 _strtoll_l(str ptr long ptr) ucrtbase._strtoll_l ++@ cdecl -ret64 _strtoui64(str ptr long) ucrtbase._strtoui64 ++@ cdecl -ret64 _strtoui64_l(str ptr long ptr) ucrtbase._strtoui64_l ++@ cdecl _strtoul_l(str ptr long ptr) ucrtbase._strtoul_l ++@ cdecl -ret64 _strtoull_l(str ptr long ptr) ucrtbase._strtoull_l ++@ stub _strtoumax_l ++@ cdecl _ui64toa(int64 ptr long) ucrtbase._ui64toa ++@ cdecl _ui64toa_s(int64 ptr long long) ucrtbase._ui64toa_s ++@ cdecl _ui64tow(int64 ptr long) ucrtbase._ui64tow ++@ cdecl _ui64tow_s(int64 ptr long long) ucrtbase._ui64tow_s ++@ cdecl _ultoa(long ptr long) ucrtbase._ultoa ++@ cdecl _ultoa_s(long ptr long long) ucrtbase._ultoa_s ++@ cdecl _ultow(long ptr long) ucrtbase._ultow ++@ cdecl _ultow_s(long ptr long long) ucrtbase._ultow_s ++@ cdecl _wcstod_l(wstr ptr) ucrtbase._wcstod_l ++@ stub _wcstof_l ++@ cdecl -ret64 _wcstoi64(wstr ptr long) ucrtbase._wcstoi64 ++@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) ucrtbase._wcstoi64_l ++@ stub _wcstoimax_l ++@ cdecl _wcstol_l(wstr ptr long ptr) ucrtbase._wcstol_l ++@ stub _wcstold_l ++@ stub _wcstoll_l ++@ cdecl _wcstombs_l(ptr ptr long ptr) ucrtbase._wcstombs_l ++@ cdecl _wcstombs_s_l(ptr ptr long wstr long ptr) ucrtbase._wcstombs_s_l ++@ cdecl -ret64 _wcstoui64(wstr ptr long) ucrtbase._wcstoui64 ++@ cdecl -ret64 _wcstoui64_l(wstr ptr long ptr) ucrtbase._wcstoui64_l ++@ cdecl _wcstoul_l(wstr ptr long ptr) ucrtbase._wcstoul_l ++@ stub _wcstoull_l ++@ stub _wcstoumax_l ++@ cdecl _wctomb_l(ptr long ptr) ucrtbase._wctomb_l ++@ cdecl _wctomb_s_l(ptr ptr long long ptr) ucrtbase._wctomb_s_l ++@ cdecl _wtof(wstr) ucrtbase._wtof ++@ cdecl _wtof_l(wstr ptr) ucrtbase._wtof_l ++@ cdecl _wtoi(wstr) ucrtbase._wtoi ++@ cdecl -ret64 _wtoi64(wstr) ucrtbase._wtoi64 ++@ cdecl -ret64 _wtoi64_l(wstr ptr) ucrtbase._wtoi64_l ++@ cdecl _wtoi_l(wstr ptr) ucrtbase._wtoi_l ++@ cdecl _wtol(wstr) ucrtbase._wtol ++@ cdecl _wtol_l(wstr ptr) ucrtbase._wtol_l ++@ stub _wtoll ++@ stub _wtoll_l ++@ cdecl atof(str) ucrtbase.atof ++@ cdecl atoi(str) ucrtbase.atoi ++@ cdecl atol(str) ucrtbase.atol ++@ stub atoll ++@ cdecl btowc(long) ucrtbase.btowc ++@ stub c16rtomb ++@ stub c32rtomb ++@ stub mbrtoc16 ++@ stub mbrtoc32 ++@ cdecl mbrtowc(ptr str long ptr) ucrtbase.mbrtowc ++@ cdecl mbsrtowcs(ptr ptr long ptr) ucrtbase.mbsrtowcs ++@ stub mbsrtowcs_s ++@ cdecl mbstowcs(ptr str long) ucrtbase.mbstowcs ++@ cdecl mbstowcs_s(ptr ptr long str long) ucrtbase.mbstowcs_s ++@ cdecl mbtowc(ptr str long) ucrtbase.mbtowc ++@ cdecl strtod(str ptr) ucrtbase.strtod ++@ stub strtof ++@ stub strtoimax ++@ cdecl strtol(str ptr long) ucrtbase.strtol ++@ stub strtold ++@ cdecl -ret64 strtoll(str ptr long) ucrtbase.strtoll ++@ cdecl strtoul(str ptr long) ucrtbase.strtoul ++@ cdecl -ret64 strtoull(str ptr long) ucrtbase.strtoull ++@ stub strtoumax ++@ cdecl wcrtomb(ptr long ptr) ucrtbase.wcrtomb ++@ stub wcrtomb_s ++@ cdecl wcsrtombs(ptr ptr long ptr) ucrtbase.wcsrtombs ++@ cdecl wcsrtombs_s(ptr ptr long ptr long ptr) ucrtbase.wcsrtombs_s ++@ cdecl wcstod(wstr ptr) ucrtbase.wcstod ++@ stub wcstof ++@ stub wcstoimax ++@ cdecl wcstol(wstr ptr long) ucrtbase.wcstol ++@ stub wcstold ++@ stub wcstoll ++@ cdecl wcstombs(ptr ptr long) ucrtbase.wcstombs ++@ cdecl wcstombs_s(ptr ptr long wstr long) ucrtbase.wcstombs_s ++@ cdecl wcstoul(wstr ptr long) ucrtbase.wcstoul ++@ stub wcstoull ++@ stub wcstoumax ++@ cdecl wctob(long) ucrtbase.wctob ++@ cdecl wctomb(ptr long) ucrtbase.wctomb ++@ cdecl wctomb_s(ptr ptr long long) ucrtbase.wctomb_s ++@ stub wctrans +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 3a70c21..63e885e 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -52,6 +52,7 @@ my @dll_groups = + [ + "ucrtbase", + "api-ms-win-crt-conio-l1-1-0", ++ "api-ms-win-crt-convert-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0010-api-ms-win-crt-environment-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0010-api-ms-win-crt-environment-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..5cc493de --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0010-api-ms-win-crt-environment-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,72 @@ +From 590d6ec37998f47cf3db2dc1c946d79942a81eb7 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:09 +0300 +Subject: api-ms-win-crt-environment-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-environment-l1-1-0.spec | 18 ++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 21 insertions(+) + create mode 100644 dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-environment-l1-1-0/api-ms-win-crt-environment-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 6cf2939..73188cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2757,6 +2757,7 @@ WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-xstate-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-environment-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..fe9df1f +--- /dev/null ++++ b/dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-environment-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-environment-l1-1-0/api-ms-win-crt-environment-l1-1-0.spec b/dlls/api-ms-win-crt-environment-l1-1-0/api-ms-win-crt-environment-l1-1-0.spec +new file mode 100644 +index 0000000..7cbaf56 +--- /dev/null ++++ b/dlls/api-ms-win-crt-environment-l1-1-0/api-ms-win-crt-environment-l1-1-0.spec +@@ -0,0 +1,18 @@ ++@ cdecl __p__environ() ucrtbase.__p__environ ++@ cdecl __p__wenviron() ucrtbase.__p__wenviron ++@ cdecl _dupenv_s(ptr ptr str) ucrtbase._dupenv_s ++@ cdecl _putenv(str) ucrtbase._putenv ++@ cdecl _putenv_s(str str) ucrtbase._putenv_s ++@ cdecl _searchenv(str str ptr) ucrtbase._searchenv ++@ cdecl _searchenv_s(str str ptr long) ucrtbase._searchenv_s ++@ cdecl _wdupenv_s(ptr ptr wstr) ucrtbase._wdupenv_s ++@ cdecl _wgetcwd(wstr long) ucrtbase._wgetcwd ++@ cdecl _wgetdcwd(long wstr long) ucrtbase._wgetdcwd ++@ cdecl _wgetenv(wstr) ucrtbase._wgetenv ++@ cdecl _wgetenv_s(ptr ptr long wstr) ucrtbase._wgetenv_s ++@ cdecl _wputenv(wstr) ucrtbase._wputenv ++@ cdecl _wputenv_s(wstr wstr) ucrtbase._wputenv_s ++@ cdecl _wsearchenv(wstr wstr ptr) ucrtbase._wsearchenv ++@ cdecl _wsearchenv_s(wstr wstr ptr long) ucrtbase._wsearchenv_s ++@ cdecl getenv(str) ucrtbase.getenv ++@ cdecl getenv_s(ptr ptr long str) ucrtbase.getenv_s +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 63e885e..8a05826 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -53,6 +53,7 @@ my @dll_groups = + "ucrtbase", + "api-ms-win-crt-conio-l1-1-0", + "api-ms-win-crt-convert-l1-1-0", ++ "api-ms-win-crt-environment-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0011-api-ms-win-crt-filesystem-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0011-api-ms-win-crt-filesystem-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..98bcab84 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0011-api-ms-win-crt-filesystem-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,119 @@ +From fa2b9196dae1cfe2ab52803bdc1704c504a4e2dc Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:10 +0300 +Subject: api-ms-win-crt-filesystem-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-filesystem-l1-1-0.spec | 65 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 68 insertions(+) + create mode 100644 dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 73188cf..47abb05 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2758,6 +2758,7 @@ WINE_CONFIG_DLL(api-ms-win-core-xstate-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-environment-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-filesystem-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..af205ea +--- /dev/null ++++ b/dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-filesystem-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec b/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec +new file mode 100644 +index 0000000..aff4bba +--- /dev/null ++++ b/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec +@@ -0,0 +1,65 @@ ++@ cdecl _access(str long) ucrtbase._access ++@ cdecl _access_s(str long) ucrtbase._access_s ++@ cdecl _chdir(str) ucrtbase._chdir ++@ cdecl _chdrive(long) ucrtbase._chdrive ++@ cdecl _chmod(str long) ucrtbase._chmod ++@ cdecl _findclose(long) ucrtbase._findclose ++@ cdecl _findfirst32(str ptr) ucrtbase._findfirst32 ++@ stub _findfirst32i64 ++@ cdecl _findfirst64(str ptr) ucrtbase._findfirst64 ++@ cdecl _findfirst64i32(str ptr) ucrtbase._findfirst64i32 ++@ cdecl _findnext32(long ptr) ucrtbase._findnext32 ++@ stub _findnext32i64 ++@ cdecl _findnext64(long ptr) ucrtbase._findnext64 ++@ cdecl _findnext64i32(long ptr) ucrtbase._findnext64i32 ++@ cdecl _fstat32(long ptr) ucrtbase._fstat32 ++@ stub _fstat32i64 ++@ cdecl _fstat64(long ptr) ucrtbase._fstat64 ++@ cdecl _fstat64i32(long ptr) ucrtbase._fstat64i32 ++@ cdecl _fullpath(ptr str long) ucrtbase._fullpath ++@ cdecl _getdiskfree(long ptr) ucrtbase._getdiskfree ++@ cdecl _getdrive() ucrtbase._getdrive ++@ cdecl _getdrives() ucrtbase._getdrives ++@ cdecl _lock_file(ptr) ucrtbase._lock_file ++@ cdecl _makepath(ptr str str str str) ucrtbase._makepath ++@ cdecl _makepath_s(ptr long str str str str) ucrtbase._makepath_s ++@ cdecl _mkdir(str) ucrtbase._mkdir ++@ cdecl _rmdir(str) ucrtbase._rmdir ++@ cdecl _splitpath(str ptr ptr ptr ptr) ucrtbase._splitpath ++@ cdecl _splitpath_s(str ptr long ptr long ptr long ptr long) ucrtbase._splitpath_s ++@ cdecl _stat32(str ptr) ucrtbase._stat32 ++@ cdecl _stat32i64(str ptr) ucrtbase._stat32i64 ++@ cdecl _stat64(str ptr) ucrtbase._stat64 ++@ cdecl _stat64i32(str ptr) ucrtbase._stat64i32 ++@ cdecl _umask(long) ucrtbase._umask ++@ stub _umask_s ++@ cdecl _unlink(str) ucrtbase._unlink ++@ cdecl _unlock_file(ptr) ucrtbase._unlock_file ++@ cdecl _waccess(wstr long) ucrtbase._waccess ++@ cdecl _waccess_s(wstr long) ucrtbase._waccess_s ++@ cdecl _wchdir(wstr) ucrtbase._wchdir ++@ cdecl _wchmod(wstr long) ucrtbase._wchmod ++@ cdecl _wfindfirst32(wstr ptr) ucrtbase._wfindfirst32 ++@ stub _wfindfirst32i64 ++@ cdecl _wfindfirst64(wstr ptr) ucrtbase._wfindfirst64 ++@ cdecl _wfindfirst64i32(wstr ptr) ucrtbase._wfindfirst64i32 ++@ stub _wfindnext32 ++@ stub _wfindnext32i64 ++@ cdecl _wfindnext64(long ptr) ucrtbase._wfindnext64 ++@ cdecl _wfindnext64i32(long ptr) ucrtbase._wfindnext64i32 ++@ cdecl _wfullpath(ptr wstr long) ucrtbase._wfullpath ++@ cdecl _wmakepath(ptr wstr wstr wstr wstr) ucrtbase._wmakepath ++@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) ucrtbase._wmakepath_s ++@ cdecl _wmkdir(wstr) ucrtbase._wmkdir ++@ cdecl _wremove(wstr) ucrtbase._wremove ++@ cdecl _wrename(wstr wstr) ucrtbase._wrename ++@ cdecl _wrmdir(wstr) ucrtbase._wrmdir ++@ cdecl _wsplitpath(wstr ptr ptr ptr ptr) ucrtbase._wsplitpath ++@ cdecl _wsplitpath_s(wstr ptr long ptr long ptr long ptr long) ucrtbase._wsplitpath_s ++@ cdecl _wstat32(wstr ptr) ucrtbase._wstat32 ++@ cdecl _wstat32i64(wstr ptr) ucrtbase._wstat32i64 ++@ cdecl _wstat64(wstr ptr) ucrtbase._wstat64 ++@ cdecl _wstat64i32(wstr ptr) ucrtbase._wstat64i32 ++@ cdecl _wunlink(wstr) ucrtbase._wunlink ++@ cdecl remove(str) ucrtbase.remove ++@ cdecl rename(str str) ucrtbase.rename +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 8a05826..a73f35d 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -54,6 +54,7 @@ my @dll_groups = + "api-ms-win-crt-conio-l1-1-0", + "api-ms-win-crt-convert-l1-1-0", + "api-ms-win-crt-environment-l1-1-0", ++ "api-ms-win-crt-filesystem-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0012-api-ms-win-crt-heap-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0012-api-ms-win-crt-heap-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..13539e9f --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0012-api-ms-win-crt-heap-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,81 @@ +From 3c9db1f1b8250c38cd78d6eee4167effb93fe9b3 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:11 +0300 +Subject: api-ms-win-crt-heap-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-heap-l1-1-0.spec | 27 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 30 insertions(+) + create mode 100644 dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-heap-l1-1-0/api-ms-win-crt-heap-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 47abb05..f439add 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2759,6 +2759,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-conio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-environment-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-filesystem-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-heap-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..0327084 +--- /dev/null ++++ b/dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-heap-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-heap-l1-1-0/api-ms-win-crt-heap-l1-1-0.spec b/dlls/api-ms-win-crt-heap-l1-1-0/api-ms-win-crt-heap-l1-1-0.spec +new file mode 100644 +index 0000000..418926e +--- /dev/null ++++ b/dlls/api-ms-win-crt-heap-l1-1-0/api-ms-win-crt-heap-l1-1-0.spec +@@ -0,0 +1,27 @@ ++@ cdecl _aligned_free(ptr) ucrtbase._aligned_free ++@ cdecl _aligned_malloc(long long) ucrtbase._aligned_malloc ++@ cdecl _aligned_msize(ptr long long) ucrtbase._aligned_msize ++@ cdecl _aligned_offset_malloc(long long long) ucrtbase._aligned_offset_malloc ++@ cdecl _aligned_offset_realloc(ptr long long long) ucrtbase._aligned_offset_realloc ++@ stub _aligned_offset_recalloc ++@ cdecl _aligned_realloc(ptr long long) ucrtbase._aligned_realloc ++@ stub _aligned_recalloc ++@ cdecl _callnewh(long) ucrtbase._callnewh ++@ cdecl _calloc_base(long long) ucrtbase._calloc_base ++@ cdecl _expand(ptr long) ucrtbase._expand ++@ cdecl _free_base(ptr) ucrtbase._free_base ++@ cdecl _get_heap_handle() ucrtbase._get_heap_handle ++@ cdecl _heapchk() ucrtbase._heapchk ++@ cdecl _heapmin() ucrtbase._heapmin ++@ cdecl _heapwalk(ptr) ucrtbase._heapwalk ++@ cdecl _malloc_base(long) ucrtbase._malloc_base ++@ cdecl _msize(ptr) ucrtbase._msize ++@ stub _query_new_handler ++@ stub _query_new_mode ++@ stub _realloc_base ++@ cdecl _recalloc(ptr long long) ucrtbase._recalloc ++@ cdecl _set_new_mode(long) ucrtbase._set_new_mode ++@ cdecl calloc(long long) ucrtbase.calloc ++@ cdecl free(ptr) ucrtbase.free ++@ cdecl malloc(long) ucrtbase.malloc ++@ cdecl realloc(ptr long) ucrtbase.realloc +diff --git a/tools/make_specfiles b/tools/make_specfiles +index a73f35d..ab9fbdf 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -55,6 +55,7 @@ my @dll_groups = + "api-ms-win-crt-convert-l1-1-0", + "api-ms-win-crt-environment-l1-1-0", + "api-ms-win-crt-filesystem-l1-1-0", ++ "api-ms-win-crt-heap-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0013-api-ms-win-crt-locale-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0013-api-ms-win-crt-locale-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..dff2139d --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0013-api-ms-win-crt-locale-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,74 @@ +From e9a3823a4db6c5eae002c677558e78c5f7005496 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:12 +0300 +Subject: api-ms-win-crt-locale-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-locale-l1-1-0.spec | 20 ++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 23 insertions(+) + create mode 100644 dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index f439add..93e34b8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2760,6 +2760,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-convert-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-environment-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-filesystem-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-heap-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-locale-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..4b43f7b +--- /dev/null ++++ b/dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-locale-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec b/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec +new file mode 100644 +index 0000000..9749808 +--- /dev/null ++++ b/dlls/api-ms-win-crt-locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec +@@ -0,0 +1,20 @@ ++@ cdecl ___lc_codepage_func() ucrtbase.___lc_codepage_func ++@ cdecl ___lc_collate_cp_func() ucrtbase.___lc_collate_cp_func ++@ cdecl ___lc_locale_name_func() ucrtbase.___lc_locale_name_func ++@ cdecl ___mb_cur_max_func() ucrtbase.___mb_cur_max_func ++@ cdecl ___mb_cur_max_l_func(ptr) ucrtbase.___mb_cur_max_l_func ++@ stub __initialize_lconv_for_unsigned_char ++@ cdecl __pctype_func() ucrtbase.__pctype_func ++@ stub __pwctype_func ++@ cdecl _configthreadlocale(long) ucrtbase._configthreadlocale ++@ cdecl _create_locale(long str) ucrtbase._create_locale ++@ cdecl _free_locale(ptr) ucrtbase._free_locale ++@ cdecl _get_current_locale() ucrtbase._get_current_locale ++@ cdecl _getmbcp() ucrtbase._getmbcp ++@ stub _lock_locales ++@ cdecl _setmbcp(long) ucrtbase._setmbcp ++@ stub _unlock_locales ++@ stub _wcreate_locale ++@ cdecl _wsetlocale(long wstr) ucrtbase._wsetlocale ++@ cdecl localeconv() ucrtbase.localeconv ++@ cdecl setlocale(long str) ucrtbase.setlocale +diff --git a/tools/make_specfiles b/tools/make_specfiles +index ab9fbdf..f98c34a 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -56,6 +56,7 @@ my @dll_groups = + "api-ms-win-crt-environment-l1-1-0", + "api-ms-win-crt-filesystem-l1-1-0", + "api-ms-win-crt-heap-l1-1-0", ++ "api-ms-win-crt-locale-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0014-api-ms-win-crt-math-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0014-api-ms-win-crt-math-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..9acfcafd --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0014-api-ms-win-crt-math-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,368 @@ +From 92e21c2e69ec3cfc88c1dfe1d92dcbfd5b901f71 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:13 +0300 +Subject: api-ms-win-crt-math-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-math-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-math-l1-1-0.spec | 314 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 317 insertions(+) + create mode 100644 dlls/api-ms-win-crt-math-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 93e34b8..c06487e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2761,6 +2761,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-environment-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-filesystem-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-heap-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-locale-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-math-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-math-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-math-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..5dfd550 +--- /dev/null ++++ b/dlls/api-ms-win-crt-math-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-math-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec +new file mode 100644 +index 0000000..219f9e9 +--- /dev/null ++++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec +@@ -0,0 +1,314 @@ ++@ cdecl -arch=i386 _CIacos() ucrtbase._CIacos ++@ cdecl -arch=i386 _CIasin() ucrtbase._CIasin ++@ cdecl -arch=i386 _CIatan() ucrtbase._CIatan ++@ cdecl -arch=i386 _CIatan2() ucrtbase._CIatan2 ++@ cdecl -arch=i386 _CIcos() ucrtbase._CIcos ++@ cdecl -arch=i386 _CIcosh() ucrtbase._CIcosh ++@ cdecl -arch=i386 _CIexp() ucrtbase._CIexp ++@ cdecl -arch=i386 _CIfmod() ucrtbase._CIfmod ++@ cdecl -arch=i386 _CIlog() ucrtbase._CIlog ++@ cdecl -arch=i386 _CIlog10() ucrtbase._CIlog10 ++@ cdecl -arch=i386 _CIpow() ucrtbase._CIpow ++@ cdecl -arch=i386 _CIsin() ucrtbase._CIsin ++@ cdecl -arch=i386 _CIsinh() ucrtbase._CIsinh ++@ cdecl -arch=i386 _CIsqrt() ucrtbase._CIsqrt ++@ cdecl -arch=i386 _CItan() ucrtbase._CItan ++@ cdecl -arch=i386 _CItanh() ucrtbase._CItanh ++@ stub _Cbuild ++@ stub _Cmulcc ++@ stub _Cmulcr ++@ stub _FCbuild ++@ stub _FCmulcc ++@ stub _FCmulcr ++@ stub _LCbuild ++@ stub _LCmulcc ++@ stub _LCmulcr ++@ cdecl -arch=i386 __libm_sse2_acos() ucrtbase.__libm_sse2_acos ++@ cdecl -arch=i386 __libm_sse2_acosf() ucrtbase.__libm_sse2_acosf ++@ cdecl -arch=i386 __libm_sse2_asin() ucrtbase.__libm_sse2_asin ++@ cdecl -arch=i386 __libm_sse2_asinf() ucrtbase.__libm_sse2_asinf ++@ cdecl -arch=i386 __libm_sse2_atan() ucrtbase.__libm_sse2_atan ++@ cdecl -arch=i386 __libm_sse2_atan2() ucrtbase.__libm_sse2_atan2 ++@ cdecl -arch=i386 __libm_sse2_atanf() ucrtbase.__libm_sse2_atanf ++@ cdecl -arch=i386 __libm_sse2_cos() ucrtbase.__libm_sse2_cos ++@ cdecl -arch=i386 __libm_sse2_cosf() ucrtbase.__libm_sse2_cosf ++@ cdecl -arch=i386 __libm_sse2_exp() ucrtbase.__libm_sse2_exp ++@ cdecl -arch=i386 __libm_sse2_expf() ucrtbase.__libm_sse2_expf ++@ cdecl -arch=i386 __libm_sse2_log() ucrtbase.__libm_sse2_log ++@ cdecl -arch=i386 __libm_sse2_log10() ucrtbase.__libm_sse2_log10 ++@ cdecl -arch=i386 __libm_sse2_log10f() ucrtbase.__libm_sse2_log10f ++@ cdecl -arch=i386 __libm_sse2_logf() ucrtbase.__libm_sse2_logf ++@ cdecl -arch=i386 __libm_sse2_pow() ucrtbase.__libm_sse2_pow ++@ cdecl -arch=i386 __libm_sse2_powf() ucrtbase.__libm_sse2_powf ++@ cdecl -arch=i386 __libm_sse2_sin() ucrtbase.__libm_sse2_sin ++@ cdecl -arch=i386 __libm_sse2_sinf() ucrtbase.__libm_sse2_sinf ++@ cdecl -arch=i386 __libm_sse2_tan() ucrtbase.__libm_sse2_tan ++@ cdecl -arch=i386 __libm_sse2_tanf() ucrtbase.__libm_sse2_tanf ++@ cdecl __setusermatherr(ptr) ucrtbase.__setusermatherr ++@ cdecl _cabs(long) ucrtbase._cabs ++@ cdecl _chgsign(double) ucrtbase._chgsign ++@ cdecl _chgsignf(float) ucrtbase._chgsignf ++@ cdecl _copysign(double double) ucrtbase._copysign ++@ cdecl _copysignf(float float) ucrtbase._copysignf ++@ stub _d_int ++@ cdecl _dclass(double) ucrtbase._dclass ++@ stub _dexp ++@ stub _dlog ++@ stub _dnorm ++@ stub _dpcomp ++@ stub _dpoly ++@ stub _dscale ++@ cdecl _dsign(double) ucrtbase._dsign ++@ stub _dsin ++@ cdecl _dtest(ptr) ucrtbase._dtest ++@ stub _dunscale ++@ stub _except1 ++@ stub _fd_int ++@ cdecl _fdclass(float) ucrtbase._fdclass ++@ stub _fdexp ++@ stub _fdlog ++@ stub _fdnorm ++@ cdecl _fdopen(long str) ucrtbase._fdopen ++@ stub _fdpcomp ++@ stub _fdpoly ++@ stub _fdscale ++@ cdecl _fdsign(float) ucrtbase._fdsign ++@ stub _fdsin ++@ cdecl _fdtest(ptr) ucrtbase._fdtest ++@ stub _fdunscale ++@ cdecl _finite(double) ucrtbase._finite ++@ cdecl _fpclass(double) ucrtbase._fpclass ++@ cdecl -arch=i386 -ret64 _ftol() ucrtbase._ftol ++@ cdecl _hypot(double double) ucrtbase._hypot ++@ cdecl _hypotf(float float) ucrtbase._hypotf ++@ cdecl _isnan(double) ucrtbase._isnan ++@ cdecl _j0(double) ucrtbase._j0 ++@ cdecl _j1(double) ucrtbase._j1 ++@ cdecl _jn(long double) ucrtbase._jn ++@ stub _ld_int ++@ cdecl _ldclass(double) ucrtbase._ldclass ++@ stub _ldexp ++@ stub _ldlog ++@ stub _ldpcomp ++@ stub _ldpoly ++@ stub _ldscale ++@ cdecl _ldsign(double) ucrtbase._ldsign ++@ stub _ldsin ++@ cdecl _ldtest(ptr) ucrtbase._ldtest ++@ stub _ldunscale ++@ cdecl -arch=i386 _libm_sse2_acos_precise() ucrtbase._libm_sse2_acos_precise ++@ cdecl -arch=i386 _libm_sse2_asin_precise() ucrtbase._libm_sse2_asin_precise ++@ cdecl -arch=i386 _libm_sse2_atan_precise() ucrtbase._libm_sse2_atan_precise ++@ cdecl -arch=i386 _libm_sse2_cos_precise() ucrtbase._libm_sse2_cos_precise ++@ cdecl -arch=i386 _libm_sse2_exp_precise() ucrtbase._libm_sse2_exp_precise ++@ cdecl -arch=i386 _libm_sse2_log10_precise() ucrtbase._libm_sse2_log10_precise ++@ cdecl -arch=i386 _libm_sse2_log_precise() ucrtbase._libm_sse2_log_precise ++@ cdecl -arch=i386 _libm_sse2_pow_precise() ucrtbase._libm_sse2_pow_precise ++@ cdecl -arch=i386 _libm_sse2_sin_precise() ucrtbase._libm_sse2_sin_precise ++@ cdecl -arch=i386 _libm_sse2_sqrt_precise() ucrtbase._libm_sse2_sqrt_precise ++@ cdecl -arch=i386 _libm_sse2_tan_precise() ucrtbase._libm_sse2_tan_precise ++@ cdecl _logb(double) ucrtbase._logb ++@ cdecl _nextafter(double double) ucrtbase._nextafter ++@ cdecl _scalb(double long) ucrtbase._scalb ++@ cdecl -arch=i386 _set_SSE2_enable(long) ucrtbase._set_SSE2_enable ++@ cdecl _y0(double) ucrtbase._y0 ++@ cdecl _y1(double) ucrtbase._y1 ++@ cdecl _yn(long double) ucrtbase._yn ++@ cdecl acos(double) ucrtbase.acos ++@ stub acosh ++@ stub acoshf ++@ stub acoshl ++@ cdecl asin(double) ucrtbase.asin ++@ stub asinh ++@ stub asinhf ++@ stub asinhl ++@ cdecl atan(double) ucrtbase.atan ++@ cdecl atan2(double double) ucrtbase.atan2 ++@ stub atanh ++@ stub atanhf ++@ stub atanhl ++@ stub cabs ++@ stub cabsf ++@ stub cabsl ++@ stub cacos ++@ stub cacosf ++@ stub cacosh ++@ stub cacoshf ++@ stub cacoshl ++@ stub cacosl ++@ stub carg ++@ stub cargf ++@ stub cargl ++@ stub casin ++@ stub casinf ++@ stub casinh ++@ stub casinhf ++@ stub casinhl ++@ stub casinl ++@ stub catan ++@ stub catanf ++@ stub catanh ++@ stub catanhf ++@ stub catanhl ++@ stub catanl ++@ cdecl cbrt(double) ucrtbase.cbrt ++@ cdecl cbrtf(float) ucrtbase.cbrtf ++@ cdecl cbrtl(double) ucrtbase.cbrtl ++@ stub ccos ++@ stub ccosf ++@ stub ccosh ++@ stub ccoshf ++@ stub ccoshl ++@ stub ccosl ++@ cdecl ceil(double) ucrtbase.ceil ++@ stub cexp ++@ stub cexpf ++@ stub cexpl ++@ stub cimag ++@ stub cimagf ++@ stub cimagl ++@ stub clog ++@ stub clog10 ++@ stub clog10f ++@ stub clog10l ++@ stub clogf ++@ stub clogl ++@ stub conj ++@ stub conjf ++@ stub conjl ++@ cdecl copysign(double double) ucrtbase.copysign ++@ cdecl copysignf(float float) ucrtbase.copysignf ++@ cdecl copysignl(double double) ucrtbase.copysignl ++@ cdecl cos(double) ucrtbase.cos ++@ cdecl cosh(double) ucrtbase.cosh ++@ stub cpow ++@ stub cpowf ++@ stub cpowl ++@ stub cproj ++@ stub cprojf ++@ stub cprojl ++@ stub creal ++@ stub crealf ++@ stub creall ++@ stub csin ++@ stub csinf ++@ stub csinh ++@ stub csinhf ++@ stub csinhl ++@ stub csinl ++@ stub csqrt ++@ stub csqrtf ++@ stub csqrtl ++@ stub ctan ++@ stub ctanf ++@ stub ctanh ++@ stub ctanhf ++@ stub ctanhl ++@ stub ctanl ++@ cdecl erf(double) ucrtbase.erf ++@ stub erfc ++@ stub erfcf ++@ stub erfcl ++@ cdecl erff(double) ucrtbase.erff ++@ cdecl erfl(double) ucrtbase.erfl ++@ cdecl exp(double) ucrtbase.exp ++@ cdecl exp2(double) ucrtbase.exp2 ++@ cdecl exp2f(float) ucrtbase.exp2f ++@ cdecl exp2l(double) ucrtbase.exp2l ++@ stub expm1 ++@ stub expm1f ++@ stub expm1l ++@ cdecl fabs(double) ucrtbase.fabs ++@ stub fdim ++@ stub fdimf ++@ stub fdiml ++@ cdecl floor(double) ucrtbase.floor ++@ stub fma ++@ stub fmaf ++@ stub fmal ++@ cdecl fmax(double double) ucrtbase.fmax ++@ cdecl fmaxf(float float) ucrtbase.fmaxf ++@ cdecl fmaxl(double double) ucrtbase.fmaxl ++@ stub fmin ++@ stub fminf ++@ stub fminl ++@ cdecl fmod(double double) ucrtbase.fmod ++@ cdecl frexp(double ptr) ucrtbase.frexp ++@ stub hypot ++@ stub ilogb ++@ stub ilogbf ++@ stub ilogbl ++@ cdecl ldexp(double long) ucrtbase.ldexp ++@ stub lgamma ++@ stub lgammaf ++@ stub lgammal ++@ cdecl -ret64 llrint(double) ucrtbase.llrint ++@ cdecl -ret64 llrintf(float) ucrtbase.llrintf ++@ cdecl -ret64 llrintl(double) ucrtbase.llrintl ++@ cdecl -ret64 llround(double) ucrtbase.llround ++@ cdecl -ret64 llroundf(float) ucrtbase.llroundf ++@ cdecl -ret64 llroundl(double) ucrtbase.llroundl ++@ cdecl log(double) ucrtbase.log ++@ cdecl log10(double) ucrtbase.log10 ++@ stub log1p ++@ stub log1pf ++@ stub log1pl ++@ cdecl log2(double) ucrtbase.log2 ++@ cdecl log2f(float) ucrtbase.log2f ++@ cdecl log2l(double) ucrtbase.log2l ++@ stub logb ++@ stub logbf ++@ stub logbl ++@ cdecl lrint(double) ucrtbase.lrint ++@ cdecl lrintf(float) ucrtbase.lrintf ++@ cdecl lrintl(double) ucrtbase.lrintl ++@ cdecl lround(double) ucrtbase.lround ++@ cdecl lroundf(float) ucrtbase.lroundf ++@ cdecl lroundl(double) ucrtbase.lroundl ++@ cdecl modf(double ptr) ucrtbase.modf ++@ stub nan ++@ stub nanf ++@ stub nanl ++@ stub nearbyint ++@ stub nearbyintf ++@ stub nearbyintl ++@ stub nextafter ++@ stub nextafterf ++@ stub nextafterl ++@ stub nexttoward ++@ stub nexttowardf ++@ stub nexttowardl ++@ stub norm ++@ stub normf ++@ stub norml ++@ cdecl pow(double double) ucrtbase.pow ++@ cdecl -arch=arm,x86_64 powf(float float) ucrtbase.powf ++@ stub remainder ++@ stub remainderf ++@ stub remainderl ++@ stub remquo ++@ stub remquof ++@ stub remquol ++@ cdecl rint(double) ucrtbase.rint ++@ cdecl rintf(float) ucrtbase.rintf ++@ cdecl rintl(double) ucrtbase.rintl ++@ cdecl round(double) ucrtbase.round ++@ cdecl roundf(float) ucrtbase.roundf ++@ cdecl roundl(double) ucrtbase.roundl ++@ stub scalbln ++@ stub scalblnf ++@ stub scalblnl ++@ stub scalbn ++@ stub scalbnf ++@ stub scalbnl ++@ cdecl sin(double) ucrtbase.sin ++@ cdecl sinh(double) ucrtbase.sinh ++@ cdecl sqrt(double) ucrtbase.sqrt ++@ cdecl tan(double) ucrtbase.tan ++@ cdecl tanh(double) ucrtbase.tanh ++@ stub tgamma ++@ stub tgammaf ++@ stub tgammal ++@ cdecl trunc(double) ucrtbase.trunc ++@ cdecl truncf(float) ucrtbase.truncf ++@ cdecl truncl(double) ucrtbase.truncl +diff --git a/tools/make_specfiles b/tools/make_specfiles +index f98c34a..9fd089d 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -57,6 +57,7 @@ my @dll_groups = + "api-ms-win-crt-filesystem-l1-1-0", + "api-ms-win-crt-heap-l1-1-0", + "api-ms-win-crt-locale-l1-1-0", ++ "api-ms-win-crt-math-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0015-api-ms-win-crt-multibyte-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0015-api-ms-win-crt-multibyte-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..5674e736 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0015-api-ms-win-crt-multibyte-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,254 @@ +From 6793be9a3e812303ef1cd40d7236894fa08a6f66 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:14 +0300 +Subject: api-ms-win-crt-multibyte-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-multibyte-l1-1-0.spec | 200 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 203 insertions(+) + create mode 100644 dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index c06487e..3484091 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2762,6 +2762,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-filesystem-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-heap-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-locale-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-math-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-multibyte-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..92f5134 +--- /dev/null ++++ b/dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-multibyte-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec +new file mode 100644 +index 0000000..568b4ef +--- /dev/null ++++ b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec +@@ -0,0 +1,200 @@ ++@ cdecl __p__mbcasemap() ucrtbase.__p__mbcasemap ++@ cdecl __p__mbctype() ucrtbase.__p__mbctype ++@ cdecl _ismbbalnum(long) ucrtbase._ismbbalnum ++@ stub _ismbbalnum_l ++@ cdecl _ismbbalpha(long) ucrtbase._ismbbalpha ++@ stub _ismbbalpha_l ++@ stub _ismbbblank ++@ stub _ismbbblank_l ++@ cdecl _ismbbgraph(long) ucrtbase._ismbbgraph ++@ stub _ismbbgraph_l ++@ cdecl _ismbbkalnum(long) ucrtbase._ismbbkalnum ++@ stub _ismbbkalnum_l ++@ cdecl _ismbbkana(long) ucrtbase._ismbbkana ++@ stub _ismbbkana_l ++@ cdecl _ismbbkprint(long) ucrtbase._ismbbkprint ++@ stub _ismbbkprint_l ++@ cdecl _ismbbkpunct(long) ucrtbase._ismbbkpunct ++@ stub _ismbbkpunct_l ++@ cdecl _ismbblead(long) ucrtbase._ismbblead ++@ cdecl _ismbblead_l(long ptr) ucrtbase._ismbblead_l ++@ cdecl _ismbbprint(long) ucrtbase._ismbbprint ++@ stub _ismbbprint_l ++@ cdecl _ismbbpunct(long) ucrtbase._ismbbpunct ++@ stub _ismbbpunct_l ++@ cdecl _ismbbtrail(long) ucrtbase._ismbbtrail ++@ stub _ismbbtrail_l ++@ cdecl _ismbcalnum(long) ucrtbase._ismbcalnum ++@ stub _ismbcalnum_l ++@ cdecl _ismbcalpha(long) ucrtbase._ismbcalpha ++@ stub _ismbcalpha_l ++@ stub _ismbcblank ++@ stub _ismbcblank_l ++@ cdecl _ismbcdigit(long) ucrtbase._ismbcdigit ++@ stub _ismbcdigit_l ++@ cdecl _ismbcgraph(long) ucrtbase._ismbcgraph ++@ stub _ismbcgraph_l ++@ cdecl _ismbchira(long) ucrtbase._ismbchira ++@ stub _ismbchira_l ++@ cdecl _ismbckata(long) ucrtbase._ismbckata ++@ stub _ismbckata_l ++@ cdecl _ismbcl0(long) ucrtbase._ismbcl0 ++@ stub _ismbcl0_l ++@ cdecl _ismbcl1(long) ucrtbase._ismbcl1 ++@ stub _ismbcl1_l ++@ cdecl _ismbcl2(long) ucrtbase._ismbcl2 ++@ stub _ismbcl2_l ++@ cdecl _ismbclegal(long) ucrtbase._ismbclegal ++@ stub _ismbclegal_l ++@ cdecl _ismbclower(long) ucrtbase._ismbclower ++@ stub _ismbclower_l ++@ cdecl _ismbcprint(long) ucrtbase._ismbcprint ++@ stub _ismbcprint_l ++@ cdecl _ismbcpunct(long) ucrtbase._ismbcpunct ++@ stub _ismbcpunct_l ++@ cdecl _ismbcspace(long) ucrtbase._ismbcspace ++@ stub _ismbcspace_l ++@ cdecl _ismbcsymbol(long) ucrtbase._ismbcsymbol ++@ stub _ismbcsymbol_l ++@ cdecl _ismbcupper(long) ucrtbase._ismbcupper ++@ stub _ismbcupper_l ++@ cdecl _ismbslead(ptr ptr) ucrtbase._ismbslead ++@ stub _ismbslead_l ++@ cdecl _ismbstrail(ptr ptr) ucrtbase._ismbstrail ++@ stub _ismbstrail_l ++@ cdecl _mbbtombc(long) ucrtbase._mbbtombc ++@ stub _mbbtombc_l ++@ cdecl _mbbtype(long long) ucrtbase._mbbtype ++@ stub _mbbtype_l ++@ stub _mbcasemap ++@ cdecl _mbccpy(ptr str) ucrtbase._mbccpy ++@ stub _mbccpy_l ++@ stub _mbccpy_s ++@ stub _mbccpy_s_l ++@ cdecl _mbcjistojms(long) ucrtbase._mbcjistojms ++@ stub _mbcjistojms_l ++@ cdecl _mbcjmstojis(long) ucrtbase._mbcjmstojis ++@ stub _mbcjmstojis_l ++@ cdecl _mbclen(ptr) ucrtbase._mbclen ++@ stub _mbclen_l ++@ cdecl _mbctohira(long) ucrtbase._mbctohira ++@ stub _mbctohira_l ++@ cdecl _mbctokata(long) ucrtbase._mbctokata ++@ stub _mbctokata_l ++@ cdecl _mbctolower(long) ucrtbase._mbctolower ++@ stub _mbctolower_l ++@ cdecl _mbctombb(long) ucrtbase._mbctombb ++@ stub _mbctombb_l ++@ cdecl _mbctoupper(long) ucrtbase._mbctoupper ++@ stub _mbctoupper_l ++@ stub _mblen_l ++@ cdecl _mbsbtype(str long) ucrtbase._mbsbtype ++@ stub _mbsbtype_l ++@ cdecl _mbscat_s(ptr long str) ucrtbase._mbscat_s ++@ cdecl _mbscat_s_l(ptr long str ptr) ucrtbase._mbscat_s_l ++@ cdecl _mbschr(str long) ucrtbase._mbschr ++@ stub _mbschr_l ++@ cdecl _mbscmp(str str) ucrtbase._mbscmp ++@ stub _mbscmp_l ++@ cdecl _mbscoll(str str) ucrtbase._mbscoll ++@ cdecl _mbscoll_l(str str ptr) ucrtbase._mbscoll_l ++@ cdecl _mbscpy_s(ptr long str) ucrtbase._mbscpy_s ++@ cdecl _mbscpy_s_l(ptr long str ptr) ucrtbase._mbscpy_s_l ++@ cdecl _mbscspn(str str) ucrtbase._mbscspn ++@ stub _mbscspn_l ++@ cdecl _mbsdec(ptr ptr) ucrtbase._mbsdec ++@ stub _mbsdec_l ++@ stub _mbsdup ++@ cdecl _mbsicmp(str str) ucrtbase._mbsicmp ++@ stub _mbsicmp_l ++@ cdecl _mbsicoll(str str) ucrtbase._mbsicoll ++@ cdecl _mbsicoll_l(str str ptr) ucrtbase._mbsicoll_l ++@ cdecl _mbsinc(str) ucrtbase._mbsinc ++@ stub _mbsinc_l ++@ cdecl _mbslen(str) ucrtbase._mbslen ++@ stub _mbslen_l ++@ cdecl _mbslwr(str) ucrtbase._mbslwr ++@ stub _mbslwr_l ++@ cdecl _mbslwr_s(str long) ucrtbase._mbslwr_s ++@ stub _mbslwr_s_l ++@ cdecl _mbsnbcat(str str long) ucrtbase._mbsnbcat ++@ stub _mbsnbcat_l ++@ cdecl _mbsnbcat_s(str long ptr long) ucrtbase._mbsnbcat_s ++@ stub _mbsnbcat_s_l ++@ cdecl _mbsnbcmp(str str long) ucrtbase._mbsnbcmp ++@ stub _mbsnbcmp_l ++@ cdecl _mbsnbcnt(ptr long) ucrtbase._mbsnbcnt ++@ stub _mbsnbcnt_l ++@ cdecl _mbsnbcoll(str str long) ucrtbase._mbsnbcoll ++@ cdecl _mbsnbcoll_l(str str long ptr) ucrtbase._mbsnbcoll_l ++@ cdecl _mbsnbcpy(ptr str long) ucrtbase._mbsnbcpy ++@ stub _mbsnbcpy_l ++@ cdecl _mbsnbcpy_s(ptr long str long) ucrtbase._mbsnbcpy_s ++@ cdecl _mbsnbcpy_s_l(ptr long str long ptr) ucrtbase._mbsnbcpy_s_l ++@ cdecl _mbsnbicmp(str str long) ucrtbase._mbsnbicmp ++@ stub _mbsnbicmp_l ++@ cdecl _mbsnbicoll(str str long) ucrtbase._mbsnbicoll ++@ cdecl _mbsnbicoll_l(str str long ptr) ucrtbase._mbsnbicoll_l ++@ cdecl _mbsnbset(ptr long long) ucrtbase._mbsnbset ++@ stub _mbsnbset_l ++@ stub _mbsnbset_s ++@ stub _mbsnbset_s_l ++@ cdecl _mbsncat(str str long) ucrtbase._mbsncat ++@ stub _mbsncat_l ++@ stub _mbsncat_s ++@ stub _mbsncat_s_l ++@ cdecl _mbsnccnt(str long) ucrtbase._mbsnccnt ++@ stub _mbsnccnt_l ++@ cdecl _mbsncmp(str str long) ucrtbase._mbsncmp ++@ stub _mbsncmp_l ++@ cdecl _mbsncoll(str str long) ucrtbase._mbsncoll ++@ stub _mbsncoll_l ++@ cdecl _mbsncpy(ptr str long) ucrtbase._mbsncpy ++@ stub _mbsncpy_l ++@ stub _mbsncpy_s ++@ stub _mbsncpy_s_l ++@ cdecl _mbsnextc(str) ucrtbase._mbsnextc ++@ stub _mbsnextc_l ++@ cdecl _mbsnicmp(str str long) ucrtbase._mbsnicmp ++@ stub _mbsnicmp_l ++@ cdecl _mbsnicoll(str str long) ucrtbase._mbsnicoll ++@ stub _mbsnicoll_l ++@ cdecl _mbsninc(str long) ucrtbase._mbsninc ++@ stub _mbsninc_l ++@ stub _mbsnlen ++@ stub _mbsnlen_l ++@ cdecl _mbsnset(ptr long long) ucrtbase._mbsnset ++@ stub _mbsnset_l ++@ stub _mbsnset_s ++@ stub _mbsnset_s_l ++@ cdecl _mbspbrk(str str) ucrtbase._mbspbrk ++@ stub _mbspbrk_l ++@ cdecl _mbsrchr(str long) ucrtbase._mbsrchr ++@ stub _mbsrchr_l ++@ cdecl _mbsrev(str) ucrtbase._mbsrev ++@ stub _mbsrev_l ++@ cdecl _mbsset(ptr long) ucrtbase._mbsset ++@ stub _mbsset_l ++@ stub _mbsset_s ++@ stub _mbsset_s_l ++@ cdecl _mbsspn(str str) ucrtbase._mbsspn ++@ stub _mbsspn_l ++@ cdecl _mbsspnp(str str) ucrtbase._mbsspnp ++@ stub _mbsspnp_l ++@ cdecl _mbsstr(str str) ucrtbase._mbsstr ++@ stub _mbsstr_l ++@ cdecl _mbstok(str str) ucrtbase._mbstok ++@ cdecl _mbstok_l(str str ptr) ucrtbase._mbstok_l ++@ cdecl _mbstok_s(str str ptr) ucrtbase._mbstok_s ++@ cdecl _mbstok_s_l(str str ptr ptr) ucrtbase._mbstok_s_l ++@ cdecl _mbstowcs_l(ptr str long ptr) ucrtbase._mbstowcs_l ++@ cdecl _mbstowcs_s_l(ptr ptr long str long ptr) ucrtbase._mbstowcs_s_l ++@ cdecl _mbstrlen(str) ucrtbase._mbstrlen ++@ cdecl _mbstrlen_l(str ptr) ucrtbase._mbstrlen_l ++@ stub _mbstrnlen ++@ stub _mbstrnlen_l ++@ cdecl _mbsupr(str) ucrtbase._mbsupr ++@ stub _mbsupr_l ++@ cdecl _mbsupr_s(str long) ucrtbase._mbsupr_s ++@ stub _mbsupr_s_l ++@ cdecl _mbtowc_l(ptr str long ptr) ucrtbase._mbtowc_l +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 9fd089d..1ec0908 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -58,6 +58,7 @@ my @dll_groups = + "api-ms-win-crt-heap-l1-1-0", + "api-ms-win-crt-locale-l1-1-0", + "api-ms-win-crt-math-l1-1-0", ++ "api-ms-win-crt-multibyte-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0016-api-ms-win-crt-private-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0016-api-ms-win-crt-private-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..7077b149 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0016-api-ms-win-crt-private-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,1189 @@ +From 665dd4d94ddfcd0459994baf2945303725294989 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:15 +0300 +Subject: api-ms-win-crt-private-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-private-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-private-l1-1-0.spec | 1135 ++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 1138 insertions(+) + create mode 100644 dlls/api-ms-win-crt-private-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 3484091..9cf2158 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2763,6 +2763,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-heap-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-locale-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-math-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-multibyte-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-private-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-private-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-private-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..cdce5ad +--- /dev/null ++++ b/dlls/api-ms-win-crt-private-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-private-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec +new file mode 100644 +index 0000000..297c30b +--- /dev/null ++++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec +@@ -0,0 +1,1135 @@ ++@ stub _CreateFrameInfo ++@ stdcall _CxxThrowException(long long) ucrtbase._CxxThrowException ++@ cdecl -arch=i386 -norelay _EH_prolog() ucrtbase._EH_prolog ++@ stub _FindAndUnlinkFrame ++@ stub _IsExceptionObjectToBeDestroyed ++@ stub _NLG_Dispatch2 ++@ stub _NLG_Return ++@ stub _NLG_Return2 ++@ stub _SetWinRTOutOfMemoryExceptionCallback ++@ cdecl __AdjustPointer(ptr ptr) ucrtbase.__AdjustPointer ++@ stub __BuildCatchObject ++@ stub __BuildCatchObjectHelper ++@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr) ucrtbase.__CxxDetectRethrow ++@ stub __CxxExceptionFilter ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr) ucrtbase.__CxxFrameHandler ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) ucrtbase.__CxxFrameHandler2 ++@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) ucrtbase.__CxxFrameHandler3 ++@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr) ucrtbase.__CxxLongjmpUnwind ++@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize() ucrtbase.__CxxQueryExceptionSize ++@ stub __CxxRegisterExceptionObject ++@ stub __CxxUnregisterExceptionObject ++@ stub __DestructExceptionObject ++@ stub __FrameUnwindFilter ++@ stub __GetPlatformExceptionInfo ++@ cdecl __RTCastToVoid(ptr) ucrtbase.__RTCastToVoid ++@ cdecl __RTDynamicCast(ptr long ptr ptr long) ucrtbase.__RTDynamicCast ++@ cdecl __RTtypeid(ptr) ucrtbase.__RTtypeid ++@ stub __TypeMatch ++@ stub __current_exception ++@ stub __current_exception_context ++@ stub __dcrt_get_wide_environment_from_os ++@ stub __dcrt_initial_narrow_environment ++@ stub __intrinsic_abnormal_termination ++@ stub __intrinsic_setjmp ++@ stub __processing_throw ++@ stub __report_gsfailure ++@ stub __std_exception_copy ++@ stub __std_exception_destroy ++@ stub __std_type_info_compare ++@ stub __std_type_info_destroy_list ++@ stub __std_type_info_hash ++@ stub __std_type_info_name ++@ cdecl __unDName(ptr str long ptr ptr long) ucrtbase.__unDName ++@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) ucrtbase.__unDNameEx ++@ cdecl __uncaught_exception() ucrtbase.__uncaught_exception ++@ cdecl -arch=i386 -norelay _chkesp() ucrtbase._chkesp ++@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr) ucrtbase._except_handler2 ++@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr) ucrtbase._except_handler3 ++@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr) ucrtbase._except_handler4_common ++@ stub _get_purecall_handler ++@ cdecl _get_unexpected() ucrtbase._get_unexpected ++@ cdecl -arch=i386 _global_unwind2(ptr) ucrtbase._global_unwind2 ++@ stub _is_exception_typeof ++@ cdecl -arch=i386 _local_unwind2(ptr long) ucrtbase._local_unwind2 ++@ cdecl -arch=i386 _local_unwind4(ptr ptr long) ucrtbase._local_unwind4 ++@ cdecl -arch=i386 _longjmpex(ptr long) ucrtbase._longjmpex ++@ stub _o__CIacos ++@ stub _o__CIasin ++@ stub _o__CIatan ++@ stub _o__CIatan2 ++@ stub _o__CIcos ++@ stub _o__CIcosh ++@ stub _o__CIexp ++@ stub _o__CIfmod ++@ stub _o__CIlog ++@ stub _o__CIlog10 ++@ stub _o__CIpow ++@ stub _o__CIsin ++@ stub _o__CIsinh ++@ stub _o__CIsqrt ++@ stub _o__CItan ++@ stub _o__CItanh ++@ stub _o__Getdays ++@ stub _o__Getmonths ++@ stub _o__Gettnames ++@ stub _o__Strftime ++@ stub _o__W_Getdays ++@ stub _o__W_Getmonths ++@ stub _o__W_Gettnames ++@ stub _o__Wcsftime ++@ stub _o___acrt_iob_func ++@ stub _o___conio_common_vcprintf ++@ stub _o___conio_common_vcprintf_p ++@ stub _o___conio_common_vcprintf_s ++@ stub _o___conio_common_vcscanf ++@ stub _o___conio_common_vcwprintf ++@ stub _o___conio_common_vcwprintf_p ++@ stub _o___conio_common_vcwprintf_s ++@ stub _o___conio_common_vcwscanf ++@ stub _o___daylight ++@ stub _o___dstbias ++@ stub _o___fpe_flt_rounds ++@ stub _o___libm_sse2_acos ++@ stub _o___libm_sse2_acosf ++@ stub _o___libm_sse2_asin ++@ stub _o___libm_sse2_asinf ++@ stub _o___libm_sse2_atan ++@ stub _o___libm_sse2_atan2 ++@ stub _o___libm_sse2_atanf ++@ stub _o___libm_sse2_cos ++@ stub _o___libm_sse2_cosf ++@ stub _o___libm_sse2_exp ++@ stub _o___libm_sse2_expf ++@ stub _o___libm_sse2_log ++@ stub _o___libm_sse2_log10 ++@ stub _o___libm_sse2_log10f ++@ stub _o___libm_sse2_logf ++@ stub _o___libm_sse2_pow ++@ stub _o___libm_sse2_powf ++@ stub _o___libm_sse2_sin ++@ stub _o___libm_sse2_sinf ++@ stub _o___libm_sse2_tan ++@ stub _o___libm_sse2_tanf ++@ stub _o___p___argc ++@ stub _o___p___argv ++@ stub _o___p___wargv ++@ stub _o___p__acmdln ++@ stub _o___p__commode ++@ stub _o___p__environ ++@ stub _o___p__fmode ++@ stub _o___p__mbcasemap ++@ stub _o___p__mbctype ++@ stub _o___p__pgmptr ++@ stub _o___p__wcmdln ++@ stub _o___p__wenviron ++@ stub _o___p__wpgmptr ++@ stub _o___pctype_func ++@ stub _o___pwctype_func ++@ stub _o___stdio_common_vfprintf ++@ stub _o___stdio_common_vfprintf_p ++@ stub _o___stdio_common_vfprintf_s ++@ stub _o___stdio_common_vfscanf ++@ stub _o___stdio_common_vfwprintf ++@ stub _o___stdio_common_vfwprintf_p ++@ stub _o___stdio_common_vfwprintf_s ++@ stub _o___stdio_common_vfwscanf ++@ stub _o___stdio_common_vsnprintf_s ++@ stub _o___stdio_common_vsnwprintf_s ++@ stub _o___stdio_common_vsprintf ++@ stub _o___stdio_common_vsprintf_p ++@ stub _o___stdio_common_vsprintf_s ++@ stub _o___stdio_common_vsscanf ++@ stub _o___stdio_common_vswprintf ++@ stub _o___stdio_common_vswprintf_p ++@ stub _o___stdio_common_vswprintf_s ++@ stub _o___stdio_common_vswscanf ++@ stub _o___timezone ++@ stub _o___tzname ++@ stub _o___wcserror ++@ stub _o__access ++@ stub _o__access_s ++@ stub _o__aligned_free ++@ stub _o__aligned_malloc ++@ stub _o__aligned_msize ++@ stub _o__aligned_offset_malloc ++@ stub _o__aligned_offset_realloc ++@ stub _o__aligned_offset_recalloc ++@ stub _o__aligned_realloc ++@ stub _o__aligned_recalloc ++@ stub _o__atodbl ++@ stub _o__atodbl_l ++@ stub _o__atof_l ++@ stub _o__atoflt ++@ stub _o__atoflt_l ++@ stub _o__atoi64 ++@ stub _o__atoi64_l ++@ stub _o__atoi_l ++@ stub _o__atol_l ++@ stub _o__atoldbl ++@ stub _o__atoldbl_l ++@ stub _o__atoll_l ++@ stub _o__beep ++@ stub _o__beginthread ++@ stub _o__beginthreadex ++@ stub _o__cabs ++@ stub _o__callnewh ++@ stub _o__calloc_base ++@ stub _o__cgets ++@ stub _o__cgets_s ++@ stub _o__cgetws ++@ stub _o__cgetws_s ++@ stub _o__chdir ++@ stub _o__chdrive ++@ stub _o__chmod ++@ stub _o__chsize ++@ stub _o__chsize_s ++@ stub _o__close ++@ stub _o__commit ++@ stub _o__configure_wide_argv ++@ stub _o__cputs ++@ stub _o__cputws ++@ stub _o__creat ++@ stub _o__create_locale ++@ stub _o__ctime32_s ++@ stub _o__ctime64_s ++@ stub _o__cwait ++@ stub _o__d_int ++@ stub _o__dclass ++@ stub _o__difftime32 ++@ stub _o__difftime64 ++@ stub _o__dlog ++@ stub _o__dnorm ++@ stub _o__dpcomp ++@ stub _o__dpoly ++@ stub _o__dscale ++@ stub _o__dsign ++@ stub _o__dsin ++@ stub _o__dtest ++@ stub _o__dunscale ++@ stub _o__dup ++@ stub _o__dup2 ++@ stub _o__dupenv_s ++@ stub _o__ecvt ++@ stub _o__ecvt_s ++@ stub _o__endthread ++@ stub _o__endthreadex ++@ stub _o__eof ++@ stub _o__errno ++@ stub _o__except1 ++@ stub _o__execute_onexit_table ++@ stub _o__execv ++@ stub _o__execve ++@ stub _o__execvp ++@ stub _o__execvpe ++@ stub _o__expand ++@ stub _o__fclose_nolock ++@ stub _o__fcloseall ++@ stub _o__fcvt ++@ stub _o__fcvt_s ++@ stub _o__fd_int ++@ stub _o__fdclass ++@ stub _o__fdexp ++@ stub _o__fdlog ++@ stub _o__fdopen ++@ stub _o__fdpcomp ++@ stub _o__fdpoly ++@ stub _o__fdscale ++@ stub _o__fdsign ++@ stub _o__fdsin ++@ stub _o__fflush_nolock ++@ stub _o__fgetc_nolock ++@ stub _o__fgetchar ++@ stub _o__fgetwc_nolock ++@ stub _o__fgetwchar ++@ stub _o__filelength ++@ stub _o__filelengthi64 ++@ stub _o__fileno ++@ stub _o__findclose ++@ stub _o__findfirst32 ++@ stub _o__findfirst32i64 ++@ stub _o__findfirst64 ++@ stub _o__findfirst64i32 ++@ stub _o__findnext32 ++@ stub _o__findnext32i64 ++@ stub _o__findnext64 ++@ stub _o__findnext64i32 ++@ stub _o__flushall ++@ stub _o__fpclass ++@ stub _o__fputc_nolock ++@ stub _o__fputchar ++@ stub _o__fputwc_nolock ++@ stub _o__fputwchar ++@ stub _o__fread_nolock ++@ stub _o__fread_nolock_s ++@ stub _o__free_base ++@ stub _o__free_locale ++@ stub _o__fseek_nolock ++@ stub _o__fseeki64 ++@ stub _o__fseeki64_nolock ++@ stub _o__fsopen ++@ stub _o__fstat32 ++@ stub _o__fstat32i64 ++@ stub _o__fstat64 ++@ stub _o__fstat64i32 ++@ stub _o__ftell_nolock ++@ stub _o__ftelli64 ++@ stub _o__ftelli64_nolock ++@ stub _o__ftime32 ++@ stub _o__ftime32_s ++@ stub _o__ftime64 ++@ stub _o__ftime64_s ++@ stub _o__fullpath ++@ stub _o__futime32 ++@ stub _o__futime64 ++@ stub _o__fwrite_nolock ++@ stub _o__gcvt ++@ stub _o__gcvt_s ++@ stub _o__get_daylight ++@ stub _o__get_doserrno ++@ stub _o__get_dstbias ++@ stub _o__get_errno ++@ stub _o__get_fmode ++@ stub _o__get_heap_handle ++@ stub _o__get_invalid_parameter_handler ++@ stub _o__get_narrow_winmain_command_line ++@ stub _o__get_osfhandle ++@ stub _o__get_pgmptr ++@ stub _o__get_stream_buffer_pointers ++@ stub _o__get_terminate ++@ stub _o__get_thread_local_invalid_parameter_handler ++@ stub _o__get_timezone ++@ stub _o__get_tzname ++@ stub _o__get_wide_winmain_command_line ++@ stub _o__get_wpgmptr ++@ stub _o__getc_nolock ++@ stub _o__getch ++@ stub _o__getch_nolock ++@ stub _o__getche ++@ stub _o__getche_nolock ++@ stub _o__getcwd ++@ stub _o__getdcwd ++@ stub _o__getdiskfree ++@ stub _o__getdllprocaddr ++@ stub _o__getdrive ++@ stub _o__getdrives ++@ stub _o__getmbcp ++@ stub _o__getsystime ++@ stub _o__getw ++@ stub _o__getwc_nolock ++@ stub _o__getwch ++@ stub _o__getwch_nolock ++@ stub _o__getwche ++@ stub _o__getwche_nolock ++@ stub _o__getws ++@ stub _o__getws_s ++@ stub _o__gmtime32 ++@ stub _o__gmtime32_s ++@ stub _o__gmtime64 ++@ stub _o__gmtime64_s ++@ stub _o__heapchk ++@ stub _o__heapmin ++@ stub _o__hypot ++@ stub _o__hypotf ++@ stub _o__i64toa ++@ stub _o__i64toa_s ++@ stub _o__i64tow ++@ stub _o__i64tow_s ++@ stub _o__initialize_onexit_table ++@ stub _o__invalid_parameter_noinfo ++@ stub _o__invalid_parameter_noinfo_noreturn ++@ stub _o__isatty ++@ stub _o__isctype ++@ stub _o__isctype_l ++@ stub _o__isleadbyte_l ++@ stub _o__ismbbalnum ++@ stub _o__ismbbalnum_l ++@ stub _o__ismbbalpha ++@ stub _o__ismbbalpha_l ++@ stub _o__ismbbblank ++@ stub _o__ismbbblank_l ++@ stub _o__ismbbgraph ++@ stub _o__ismbbgraph_l ++@ stub _o__ismbbkalnum ++@ stub _o__ismbbkalnum_l ++@ stub _o__ismbbkana ++@ stub _o__ismbbkana_l ++@ stub _o__ismbbkprint ++@ stub _o__ismbbkprint_l ++@ stub _o__ismbbkpunct ++@ stub _o__ismbbkpunct_l ++@ stub _o__ismbblead ++@ stub _o__ismbblead_l ++@ stub _o__ismbbprint ++@ stub _o__ismbbprint_l ++@ stub _o__ismbbpunct ++@ stub _o__ismbbpunct_l ++@ stub _o__ismbbtrail ++@ stub _o__ismbbtrail_l ++@ stub _o__ismbcalnum ++@ stub _o__ismbcalnum_l ++@ stub _o__ismbcalpha ++@ stub _o__ismbcalpha_l ++@ stub _o__ismbcblank ++@ stub _o__ismbcblank_l ++@ stub _o__ismbcdigit ++@ stub _o__ismbcdigit_l ++@ stub _o__ismbcgraph ++@ stub _o__ismbcgraph_l ++@ stub _o__ismbchira ++@ stub _o__ismbchira_l ++@ stub _o__ismbckata ++@ stub _o__ismbckata_l ++@ stub _o__ismbcl0 ++@ stub _o__ismbcl0_l ++@ stub _o__ismbcl1 ++@ stub _o__ismbcl1_l ++@ stub _o__ismbcl2 ++@ stub _o__ismbcl2_l ++@ stub _o__ismbclegal ++@ stub _o__ismbclegal_l ++@ stub _o__ismbclower ++@ stub _o__ismbclower_l ++@ stub _o__ismbcprint ++@ stub _o__ismbcprint_l ++@ stub _o__ismbcpunct ++@ stub _o__ismbcpunct_l ++@ stub _o__ismbcspace ++@ stub _o__ismbcspace_l ++@ stub _o__ismbcsymbol ++@ stub _o__ismbcsymbol_l ++@ stub _o__ismbcupper ++@ stub _o__ismbcupper_l ++@ stub _o__ismbslead ++@ stub _o__ismbslead_l ++@ stub _o__ismbstrail ++@ stub _o__ismbstrail_l ++@ stub _o__iswctype_l ++@ stub _o__itoa ++@ stub _o__itoa_s ++@ stub _o__itow ++@ stub _o__itow_s ++@ stub _o__j0 ++@ stub _o__j1 ++@ stub _o__jn ++@ stub _o__kbhit ++@ stub _o__ld_int ++@ stub _o__ldclass ++@ stub _o__ldexp ++@ stub _o__ldlog ++@ stub _o__ldpcomp ++@ stub _o__ldpoly ++@ stub _o__ldscale ++@ stub _o__ldsign ++@ stub _o__ldsin ++@ stub _o__ldtest ++@ stub _o__ldunscale ++@ stub _o__lfind ++@ stub _o__lfind_s ++@ stub _o__libm_sse2_acos_precise ++@ stub _o__libm_sse2_asin_precise ++@ stub _o__libm_sse2_atan_precise ++@ stub _o__libm_sse2_cos_precise ++@ stub _o__libm_sse2_exp_precise ++@ stub _o__libm_sse2_log10_precise ++@ stub _o__libm_sse2_log_precise ++@ stub _o__libm_sse2_pow_precise ++@ stub _o__libm_sse2_sin_precise ++@ stub _o__libm_sse2_sqrt_precise ++@ stub _o__libm_sse2_tan_precise ++@ stub _o__loaddll ++@ stub _o__localtime32 ++@ stub _o__localtime32_s ++@ stub _o__localtime64 ++@ stub _o__localtime64_s ++@ stub _o__lock_file ++@ stub _o__locking ++@ stub _o__logb ++@ stub _o__lsearch ++@ stub _o__lsearch_s ++@ stub _o__lseek ++@ stub _o__lseeki64 ++@ stub _o__ltoa ++@ stub _o__ltoa_s ++@ stub _o__ltow ++@ stub _o__ltow_s ++@ stub _o__makepath ++@ stub _o__makepath_s ++@ stub _o__malloc_base ++@ stub _o__mbbtombc ++@ stub _o__mbbtombc_l ++@ stub _o__mbbtype ++@ stub _o__mbbtype_l ++@ stub _o__mbccpy ++@ stub _o__mbccpy_l ++@ stub _o__mbccpy_s ++@ stub _o__mbccpy_s_l ++@ stub _o__mbcjistojms ++@ stub _o__mbcjistojms_l ++@ stub _o__mbcjmstojis ++@ stub _o__mbcjmstojis_l ++@ stub _o__mbclen ++@ stub _o__mbclen_l ++@ stub _o__mbctohira ++@ stub _o__mbctohira_l ++@ stub _o__mbctokata ++@ stub _o__mbctokata_l ++@ stub _o__mbctolower ++@ stub _o__mbctolower_l ++@ stub _o__mbctombb ++@ stub _o__mbctombb_l ++@ stub _o__mbctoupper ++@ stub _o__mbctoupper_l ++@ stub _o__mblen_l ++@ stub _o__mbsbtype ++@ stub _o__mbsbtype_l ++@ stub _o__mbscat_s ++@ stub _o__mbscat_s_l ++@ stub _o__mbschr ++@ stub _o__mbschr_l ++@ stub _o__mbscmp ++@ stub _o__mbscmp_l ++@ stub _o__mbscoll ++@ stub _o__mbscoll_l ++@ stub _o__mbscpy_s ++@ stub _o__mbscpy_s_l ++@ stub _o__mbscspn ++@ stub _o__mbscspn_l ++@ stub _o__mbsdec ++@ stub _o__mbsdec_l ++@ stub _o__mbsicmp ++@ stub _o__mbsicmp_l ++@ stub _o__mbsicoll ++@ stub _o__mbsicoll_l ++@ stub _o__mbsinc ++@ stub _o__mbsinc_l ++@ stub _o__mbslen ++@ stub _o__mbslen_l ++@ stub _o__mbslwr ++@ stub _o__mbslwr_l ++@ stub _o__mbslwr_s ++@ stub _o__mbslwr_s_l ++@ stub _o__mbsnbcat ++@ stub _o__mbsnbcat_l ++@ stub _o__mbsnbcat_s ++@ stub _o__mbsnbcat_s_l ++@ stub _o__mbsnbcmp ++@ stub _o__mbsnbcmp_l ++@ stub _o__mbsnbcnt ++@ stub _o__mbsnbcnt_l ++@ stub _o__mbsnbcoll ++@ stub _o__mbsnbcoll_l ++@ stub _o__mbsnbcpy ++@ stub _o__mbsnbcpy_l ++@ stub _o__mbsnbcpy_s ++@ stub _o__mbsnbcpy_s_l ++@ stub _o__mbsnbicmp ++@ stub _o__mbsnbicmp_l ++@ stub _o__mbsnbicoll ++@ stub _o__mbsnbicoll_l ++@ stub _o__mbsnbset ++@ stub _o__mbsnbset_l ++@ stub _o__mbsnbset_s ++@ stub _o__mbsnbset_s_l ++@ stub _o__mbsncat ++@ stub _o__mbsncat_l ++@ stub _o__mbsncat_s ++@ stub _o__mbsncat_s_l ++@ stub _o__mbsnccnt ++@ stub _o__mbsnccnt_l ++@ stub _o__mbsncmp ++@ stub _o__mbsncmp_l ++@ stub _o__mbsncoll ++@ stub _o__mbsncoll_l ++@ stub _o__mbsncpy ++@ stub _o__mbsncpy_l ++@ stub _o__mbsncpy_s ++@ stub _o__mbsncpy_s_l ++@ stub _o__mbsnextc ++@ stub _o__mbsnextc_l ++@ stub _o__mbsnicmp ++@ stub _o__mbsnicmp_l ++@ stub _o__mbsnicoll ++@ stub _o__mbsnicoll_l ++@ stub _o__mbsninc ++@ stub _o__mbsninc_l ++@ stub _o__mbsnlen ++@ stub _o__mbsnlen_l ++@ stub _o__mbsnset ++@ stub _o__mbsnset_l ++@ stub _o__mbsnset_s ++@ stub _o__mbsnset_s_l ++@ stub _o__mbspbrk ++@ stub _o__mbspbrk_l ++@ stub _o__mbsrchr ++@ stub _o__mbsrchr_l ++@ stub _o__mbsrev ++@ stub _o__mbsrev_l ++@ stub _o__mbsset ++@ stub _o__mbsset_l ++@ stub _o__mbsset_s ++@ stub _o__mbsset_s_l ++@ stub _o__mbsspn ++@ stub _o__mbsspn_l ++@ stub _o__mbsspnp ++@ stub _o__mbsspnp_l ++@ stub _o__mbsstr ++@ stub _o__mbsstr_l ++@ stub _o__mbstok ++@ stub _o__mbstok_l ++@ stub _o__mbstok_s ++@ stub _o__mbstok_s_l ++@ stub _o__mbstowcs_l ++@ stub _o__mbstowcs_s_l ++@ stub _o__mbstrlen ++@ stub _o__mbstrlen_l ++@ stub _o__mbstrnlen ++@ stub _o__mbstrnlen_l ++@ stub _o__mbsupr ++@ stub _o__mbsupr_l ++@ stub _o__mbsupr_s ++@ stub _o__mbsupr_s_l ++@ stub _o__mbtowc_l ++@ stub _o__memicmp ++@ stub _o__memicmp_l ++@ stub _o__mkdir ++@ stub _o__mkgmtime32 ++@ stub _o__mkgmtime64 ++@ stub _o__mktemp ++@ stub _o__mktemp_s ++@ stub _o__mktime32 ++@ stub _o__mktime64 ++@ stub _o__msize ++@ stub _o__nextafter ++@ stub _o__open_osfhandle ++@ stub _o__pclose ++@ stub _o__pipe ++@ stub _o__popen ++@ stub _o__putc_nolock ++@ stub _o__putch ++@ stub _o__putch_nolock ++@ stub _o__putenv ++@ stub _o__putenv_s ++@ stub _o__putw ++@ stub _o__putwc_nolock ++@ stub _o__putwch ++@ stub _o__putwch_nolock ++@ stub _o__putws ++@ stub _o__read ++@ stub _o__realloc_base ++@ stub _o__recalloc ++@ stub _o__register_onexit_function ++@ stub _o__resetstkoflw ++@ stub _o__rmdir ++@ stub _o__rmtmp ++@ stub _o__scalb ++@ stub _o__searchenv ++@ stub _o__searchenv_s ++@ stub _o__set_abort_behavior ++@ stub _o__set_doserrno ++@ stub _o__set_errno ++@ stub _o__set_invalid_parameter_handler ++@ stub _o__set_new_handler ++@ stub _o__set_new_mode ++@ stub _o__set_thread_local_invalid_parameter_handler ++@ stub _o__seterrormode ++@ stub _o__setmbcp ++@ stub _o__setmode ++@ stub _o__setsystime ++@ stub _o__sleep ++@ stub _o__sopen ++@ stub _o__sopen_dispatch ++@ stub _o__sopen_s ++@ stub _o__spawnv ++@ stub _o__spawnve ++@ stub _o__spawnvp ++@ stub _o__spawnvpe ++@ stub _o__splitpath ++@ stub _o__splitpath_s ++@ stub _o__stat32 ++@ stub _o__stat32i64 ++@ stub _o__stat64 ++@ stub _o__stat64i32 ++@ stub _o__strcoll_l ++@ stub _o__strdate ++@ stub _o__strdate_s ++@ stub _o__strdup ++@ stub _o__strerror ++@ stub _o__strerror_s ++@ stub _o__strftime_l ++@ stub _o__stricmp ++@ stub _o__stricmp_l ++@ stub _o__stricoll ++@ stub _o__stricoll_l ++@ stub _o__strlwr ++@ stub _o__strlwr_l ++@ stub _o__strlwr_s ++@ stub _o__strlwr_s_l ++@ stub _o__strncoll ++@ stub _o__strncoll_l ++@ stub _o__strnicmp ++@ stub _o__strnicmp_l ++@ stub _o__strnicoll ++@ stub _o__strnicoll_l ++@ stub _o__strnset_s ++@ stub _o__strset_s ++@ stub _o__strtime ++@ stub _o__strtime_s ++@ stub _o__strtod_l ++@ stub _o__strtof_l ++@ stub _o__strtoi64 ++@ stub _o__strtoi64_l ++@ stub _o__strtol_l ++@ stub _o__strtold_l ++@ stub _o__strtoll_l ++@ stub _o__strtoui64 ++@ stub _o__strtoui64_l ++@ stub _o__strtoul_l ++@ stub _o__strtoull_l ++@ stub _o__strupr ++@ stub _o__strupr_l ++@ stub _o__strupr_s ++@ stub _o__strupr_s_l ++@ stub _o__strxfrm_l ++@ stub _o__swab ++@ stub _o__tell ++@ stub _o__telli64 ++@ stub _o__timespec32_get ++@ stub _o__timespec64_get ++@ stub _o__tolower ++@ stub _o__tolower_l ++@ stub _o__toupper ++@ stub _o__toupper_l ++@ stub _o__towlower_l ++@ stub _o__towupper_l ++@ stub _o__tzset ++@ stub _o__ui64toa ++@ stub _o__ui64toa_s ++@ stub _o__ui64tow ++@ stub _o__ui64tow_s ++@ stub _o__ultoa ++@ stub _o__ultoa_s ++@ stub _o__ultow ++@ stub _o__ultow_s ++@ stub _o__umask ++@ stub _o__umask_s ++@ stub _o__ungetc_nolock ++@ stub _o__ungetch ++@ stub _o__ungetch_nolock ++@ stub _o__ungetwc_nolock ++@ stub _o__ungetwch ++@ stub _o__ungetwch_nolock ++@ stub _o__unlink ++@ stub _o__unloaddll ++@ stub _o__unlock_file ++@ stub _o__utime32 ++@ stub _o__utime64 ++@ stub _o__waccess ++@ stub _o__waccess_s ++@ stub _o__wasctime ++@ stub _o__wasctime_s ++@ stub _o__wchdir ++@ stub _o__wchmod ++@ stub _o__wcreat ++@ stub _o__wcreate_locale ++@ stub _o__wcscoll_l ++@ stub _o__wcsdup ++@ stub _o__wcserror ++@ stub _o__wcserror_s ++@ stub _o__wcsftime_l ++@ stub _o__wcsicmp ++@ stub _o__wcsicmp_l ++@ stub _o__wcsicoll ++@ stub _o__wcsicoll_l ++@ stub _o__wcslwr ++@ stub _o__wcslwr_l ++@ stub _o__wcslwr_s ++@ stub _o__wcslwr_s_l ++@ stub _o__wcsncoll ++@ stub _o__wcsncoll_l ++@ stub _o__wcsnicmp ++@ stub _o__wcsnicmp_l ++@ stub _o__wcsnicoll ++@ stub _o__wcsnicoll_l ++@ stub _o__wcsnset ++@ stub _o__wcsnset_s ++@ stub _o__wcsset ++@ stub _o__wcsset_s ++@ stub _o__wcstod_l ++@ stub _o__wcstof_l ++@ stub _o__wcstoi64 ++@ stub _o__wcstoi64_l ++@ stub _o__wcstol_l ++@ stub _o__wcstold_l ++@ stub _o__wcstoll_l ++@ stub _o__wcstombs_l ++@ stub _o__wcstombs_s_l ++@ stub _o__wcstoui64 ++@ stub _o__wcstoui64_l ++@ stub _o__wcstoul_l ++@ stub _o__wcstoull_l ++@ stub _o__wcsupr ++@ stub _o__wcsupr_l ++@ stub _o__wcsupr_s ++@ stub _o__wcsupr_s_l ++@ stub _o__wcsxfrm_l ++@ stub _o__wctime32 ++@ stub _o__wctime32_s ++@ stub _o__wctime64 ++@ stub _o__wctime64_s ++@ stub _o__wctomb_l ++@ stub _o__wctomb_s_l ++@ stub _o__wdupenv_s ++@ stub _o__wexecv ++@ stub _o__wexecve ++@ stub _o__wexecvp ++@ stub _o__wexecvpe ++@ stub _o__wfdopen ++@ stub _o__wfindfirst32 ++@ stub _o__wfindfirst32i64 ++@ stub _o__wfindfirst64 ++@ stub _o__wfindfirst64i32 ++@ stub _o__wfindnext32 ++@ stub _o__wfindnext32i64 ++@ stub _o__wfindnext64 ++@ stub _o__wfindnext64i32 ++@ stub _o__wfopen ++@ stub _o__wfopen_s ++@ stub _o__wfreopen ++@ stub _o__wfreopen_s ++@ stub _o__wfsopen ++@ stub _o__wfullpath ++@ stub _o__wgetcwd ++@ stub _o__wgetdcwd ++@ stub _o__wgetenv ++@ stub _o__wgetenv_s ++@ stub _o__wmakepath ++@ stub _o__wmakepath_s ++@ stub _o__wmkdir ++@ stub _o__wmktemp ++@ stub _o__wmktemp_s ++@ stub _o__wperror ++@ stub _o__wpopen ++@ stub _o__wputenv ++@ stub _o__wputenv_s ++@ stub _o__wremove ++@ stub _o__wrename ++@ stub _o__write ++@ stub _o__wrmdir ++@ stub _o__wsearchenv ++@ stub _o__wsearchenv_s ++@ stub _o__wsetlocale ++@ stub _o__wsopen_dispatch ++@ stub _o__wsopen_s ++@ stub _o__wspawnv ++@ stub _o__wspawnve ++@ stub _o__wspawnvp ++@ stub _o__wspawnvpe ++@ stub _o__wsplitpath ++@ stub _o__wsplitpath_s ++@ stub _o__wstat32 ++@ stub _o__wstat32i64 ++@ stub _o__wstat64 ++@ stub _o__wstat64i32 ++@ stub _o__wstrdate ++@ stub _o__wstrdate_s ++@ stub _o__wstrtime ++@ stub _o__wstrtime_s ++@ stub _o__wsystem ++@ stub _o__wtmpnam_s ++@ stub _o__wtof ++@ stub _o__wtof_l ++@ stub _o__wtoi ++@ stub _o__wtoi64 ++@ stub _o__wtoi64_l ++@ stub _o__wtoi_l ++@ stub _o__wtol ++@ stub _o__wtol_l ++@ stub _o__wtoll ++@ stub _o__wtoll_l ++@ stub _o__wunlink ++@ stub _o__wutime32 ++@ stub _o__wutime64 ++@ stub _o__y0 ++@ stub _o__y1 ++@ stub _o__yn ++@ stub _o_abort ++@ stub _o_acos ++@ stub _o_acosh ++@ stub _o_acoshf ++@ stub _o_acoshl ++@ stub _o_asctime ++@ stub _o_asctime_s ++@ stub _o_asin ++@ stub _o_asinh ++@ stub _o_asinhf ++@ stub _o_asinhl ++@ stub _o_atan ++@ stub _o_atan2 ++@ stub _o_atanh ++@ stub _o_atanhf ++@ stub _o_atanhl ++@ stub _o_atof ++@ stub _o_atoi ++@ stub _o_atol ++@ stub _o_atoll ++@ stub _o_bsearch ++@ stub _o_bsearch_s ++@ stub _o_btowc ++@ stub _o_calloc ++@ stub _o_cbrt ++@ stub _o_cbrtf ++@ stub _o_ceil ++@ stub _o_clearerr ++@ stub _o_clearerr_s ++@ stub _o_cos ++@ stub _o_cosh ++@ stub _o_erf ++@ stub _o_erfc ++@ stub _o_erfcf ++@ stub _o_erfcl ++@ stub _o_erff ++@ stub _o_erfl ++@ stub _o_exp ++@ stub _o_exp2 ++@ stub _o_exp2f ++@ stub _o_exp2l ++@ stub _o_fabs ++@ stub _o_fclose ++@ stub _o_feof ++@ stub _o_ferror ++@ stub _o_fflush ++@ stub _o_fgetc ++@ stub _o_fgetpos ++@ stub _o_fgets ++@ stub _o_fgetwc ++@ stub _o_fgetws ++@ stub _o_floor ++@ stub _o_fma ++@ stub _o_fmaf ++@ stub _o_fmal ++@ stub _o_fmod ++@ stub _o_fopen ++@ stub _o_fopen_s ++@ stub _o_fputc ++@ stub _o_fputs ++@ stub _o_fputwc ++@ stub _o_fputws ++@ stub _o_fread ++@ stub _o_fread_s ++@ stub _o_free ++@ stub _o_freopen ++@ stub _o_freopen_s ++@ stub _o_frexp ++@ stub _o_fseek ++@ stub _o_fsetpos ++@ stub _o_ftell ++@ stub _o_fwrite ++@ stub _o_getc ++@ stub _o_getchar ++@ stub _o_getenv ++@ stub _o_getenv_s ++@ stub _o_gets ++@ stub _o_gets_s ++@ stub _o_getwc ++@ stub _o_getwchar ++@ stub _o_hypot ++@ stub _o_is_wctype ++@ stub _o_isalnum ++@ stub _o_isalpha ++@ stub _o_isblank ++@ stub _o_iscntrl ++@ stub _o_isdigit ++@ stub _o_isgraph ++@ stub _o_isleadbyte ++@ stub _o_islower ++@ stub _o_isprint ++@ stub _o_ispunct ++@ stub _o_isspace ++@ stub _o_isupper ++@ stub _o_iswalnum ++@ stub _o_iswalpha ++@ stub _o_iswascii ++@ stub _o_iswblank ++@ stub _o_iswcntrl ++@ stub _o_iswctype ++@ stub _o_iswdigit ++@ stub _o_iswgraph ++@ stub _o_iswlower ++@ stub _o_iswprint ++@ stub _o_iswpunct ++@ stub _o_iswspace ++@ stub _o_iswupper ++@ stub _o_iswxdigit ++@ stub _o_isxdigit ++@ stub _o_ldexp ++@ stub _o_lgamma ++@ stub _o_lgammaf ++@ stub _o_lgammal ++@ stub _o_llrint ++@ stub _o_llrintf ++@ stub _o_llrintl ++@ stub _o_llround ++@ stub _o_llroundf ++@ stub _o_llroundl ++@ stub _o_localeconv ++@ stub _o_log ++@ stub _o_log10 ++@ stub _o_log1p ++@ stub _o_log1pf ++@ stub _o_log1pl ++@ stub _o_log2 ++@ stub _o_log2f ++@ stub _o_log2l ++@ stub _o_logb ++@ stub _o_logbf ++@ stub _o_logbl ++@ stub _o_lrint ++@ stub _o_lrintf ++@ stub _o_lrintl ++@ stub _o_lround ++@ stub _o_lroundf ++@ stub _o_lroundl ++@ stub _o_malloc ++@ stub _o_mblen ++@ stub _o_mbrlen ++@ stub _o_mbrtoc16 ++@ stub _o_mbrtoc32 ++@ stub _o_mbrtowc ++@ stub _o_mbsrtowcs ++@ stub _o_mbsrtowcs_s ++@ stub _o_mbstowcs ++@ stub _o_mbstowcs_s ++@ stub _o_mbtowc ++@ stub _o_memset ++@ stub _o_modf ++@ stub _o_nan ++@ stub _o_nanf ++@ stub _o_nanl ++@ stub _o_nearbyint ++@ stub _o_nearbyintf ++@ stub _o_nearbyintl ++@ stub _o_nextafter ++@ stub _o_nextafterf ++@ stub _o_nextafterl ++@ stub _o_nexttoward ++@ stub _o_nexttowardf ++@ stub _o_nexttowardl ++@ stub _o_pow ++@ stub _o_powf ++@ stub _o_putc ++@ stub _o_putchar ++@ stub _o_puts ++@ stub _o_putwc ++@ stub _o_putwchar ++@ stub _o_qsort ++@ stub _o_qsort_s ++@ stub _o_raise ++@ stub _o_rand ++@ stub _o_rand_s ++@ stub _o_realloc ++@ stub _o_remainder ++@ stub _o_remainderf ++@ stub _o_remainderl ++@ stub _o_remove ++@ stub _o_remquo ++@ stub _o_remquof ++@ stub _o_remquol ++@ stub _o_rewind ++@ stub _o_rint ++@ stub _o_rintf ++@ stub _o_rintl ++@ stub _o_round ++@ stub _o_roundf ++@ stub _o_roundl ++@ stub _o_scalbln ++@ stub _o_scalblnf ++@ stub _o_scalblnl ++@ stub _o_scalbn ++@ stub _o_scalbnf ++@ stub _o_scalbnl ++@ stub _o_set_terminate ++@ stub _o_setbuf ++@ stub _o_setvbuf ++@ stub _o_sin ++@ stub _o_sinh ++@ stub _o_sqrt ++@ stub _o_srand ++@ stub _o_strcat_s ++@ stub _o_strcoll ++@ stub _o_strcpy_s ++@ stub _o_strerror ++@ stub _o_strerror_s ++@ stub _o_strftime ++@ stub _o_strncat_s ++@ stub _o_strncpy_s ++@ stub _o_strtod ++@ stub _o_strtof ++@ stub _o_strtok ++@ stub _o_strtok_s ++@ stub _o_strtol ++@ stub _o_strtold ++@ stub _o_strtoll ++@ stub _o_strtoul ++@ stub _o_strtoull ++@ stub _o_system ++@ stub _o_tan ++@ stub _o_tanh ++@ stub _o_terminate ++@ stub _o_tgamma ++@ stub _o_tgammaf ++@ stub _o_tgammal ++@ stub _o_tmpfile_s ++@ stub _o_tmpnam_s ++@ stub _o_tolower ++@ stub _o_toupper ++@ stub _o_towlower ++@ stub _o_towupper ++@ stub _o_ungetc ++@ stub _o_ungetwc ++@ stub _o_wcrtomb ++@ stub _o_wcrtomb_s ++@ stub _o_wcscat_s ++@ stub _o_wcscoll ++@ stub _o_wcscpy ++@ stub _o_wcscpy_s ++@ stub _o_wcsftime ++@ stub _o_wcsncat_s ++@ stub _o_wcsncpy_s ++@ stub _o_wcsrtombs ++@ stub _o_wcsrtombs_s ++@ stub _o_wcstod ++@ stub _o_wcstof ++@ stub _o_wcstok ++@ stub _o_wcstok_s ++@ stub _o_wcstol ++@ stub _o_wcstold ++@ stub _o_wcstoll ++@ stub _o_wcstombs ++@ stub _o_wcstombs_s ++@ stub _o_wcstoul ++@ stub _o_wcstoull ++@ stub _o_wctob ++@ stub _o_wctomb ++@ stub _o_wctomb_s ++@ stub _o_wmemcpy_s ++@ stub _o_wmemmove_s ++@ cdecl _purecall() ucrtbase._purecall ++@ stdcall -arch=i386 _seh_longjmp_unwind(ptr) ucrtbase._seh_longjmp_unwind ++@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) ucrtbase._seh_longjmp_unwind4 ++@ cdecl _set_purecall_handler(ptr) ucrtbase._set_purecall_handler ++@ stub _set_se_translator ++@ cdecl -arch=i386 -norelay _setjmp3(ptr long) ucrtbase._setjmp3 ++@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) ucrtbase.longjmp ++@ cdecl memchr(ptr long long) ucrtbase.memchr ++@ cdecl memcmp(ptr ptr long) ucrtbase.memcmp ++@ cdecl memcpy(ptr ptr long) ucrtbase.memcpy ++@ cdecl memmove(ptr ptr long) ucrtbase.memmove ++@ stub set_unexpected ++@ cdecl strchr(str long) ucrtbase.strchr ++@ cdecl strrchr(str long) ucrtbase.strrchr ++@ cdecl strstr(str str) ucrtbase.strstr ++@ stub unexpected ++@ cdecl wcschr(wstr long) ucrtbase.wcschr ++@ cdecl wcsrchr(wstr long) ucrtbase.wcsrchr ++@ cdecl wcsstr(wstr wstr) ucrtbase.wcsstr +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 1ec0908..785bce3 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -59,6 +59,7 @@ my @dll_groups = + "api-ms-win-crt-locale-l1-1-0", + "api-ms-win-crt-math-l1-1-0", + "api-ms-win-crt-multibyte-l1-1-0", ++ "api-ms-win-crt-private-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0017-api-ms-win-crt-process-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0017-api-ms-win-crt-process-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..12ceeca3 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0017-api-ms-win-crt-process-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,90 @@ +From f2f8aed4e38d19d33a63ce843b452fb88471a889 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:16 +0300 +Subject: api-ms-win-crt-process-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-process-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-process-l1-1-0.spec | 36 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 39 insertions(+) + create mode 100644 dlls/api-ms-win-crt-process-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-process-l1-1-0/api-ms-win-crt-process-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 9cf2158..f35ab71 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2764,6 +2764,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-locale-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-math-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-multibyte-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-private-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-process-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-process-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-process-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..bc8423f +--- /dev/null ++++ b/dlls/api-ms-win-crt-process-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-process-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-process-l1-1-0/api-ms-win-crt-process-l1-1-0.spec b/dlls/api-ms-win-crt-process-l1-1-0/api-ms-win-crt-process-l1-1-0.spec +new file mode 100644 +index 0000000..6be5694 +--- /dev/null ++++ b/dlls/api-ms-win-crt-process-l1-1-0/api-ms-win-crt-process-l1-1-0.spec +@@ -0,0 +1,36 @@ ++@ cdecl _beep(long long) ucrtbase._beep ++@ cdecl _cwait(ptr long long) ucrtbase._cwait ++@ varargs _execl(str str) ucrtbase._execl ++@ varargs _execle(str str) ucrtbase._execle ++@ varargs _execlp(str str) ucrtbase._execlp ++@ varargs _execlpe(str str) ucrtbase._execlpe ++@ cdecl _execv(str ptr) ucrtbase._execv ++@ cdecl _execve(str ptr ptr) ucrtbase._execve ++@ cdecl _execvp(str ptr) ucrtbase._execvp ++@ cdecl _execvpe(str ptr ptr) ucrtbase._execvpe ++@ cdecl _loaddll(str) ucrtbase._loaddll ++@ varargs _spawnl(long str str) ucrtbase._spawnl ++@ varargs _spawnle(long str str) ucrtbase._spawnle ++@ varargs _spawnlp(long str str) ucrtbase._spawnlp ++@ varargs _spawnlpe(long str str) ucrtbase._spawnlpe ++@ cdecl _spawnv(long str ptr) ucrtbase._spawnv ++@ cdecl _spawnve(long str ptr ptr) ucrtbase._spawnve ++@ cdecl _spawnvp(long str ptr) ucrtbase._spawnvp ++@ cdecl _spawnvpe(long str ptr ptr) ucrtbase._spawnvpe ++@ cdecl _unloaddll(long) ucrtbase._unloaddll ++@ varargs _wexecl(wstr wstr) ucrtbase._wexecl ++@ varargs _wexecle(wstr wstr) ucrtbase._wexecle ++@ varargs _wexeclp(wstr wstr) ucrtbase._wexeclp ++@ varargs _wexeclpe(wstr wstr) ucrtbase._wexeclpe ++@ cdecl _wexecv(wstr ptr) ucrtbase._wexecv ++@ cdecl _wexecve(wstr ptr ptr) ucrtbase._wexecve ++@ cdecl _wexecvp(wstr ptr) ucrtbase._wexecvp ++@ cdecl _wexecvpe(wstr ptr ptr) ucrtbase._wexecvpe ++@ varargs _wspawnl(long wstr wstr) ucrtbase._wspawnl ++@ varargs _wspawnle(long wstr wstr) ucrtbase._wspawnle ++@ varargs _wspawnlp(long wstr wstr) ucrtbase._wspawnlp ++@ varargs _wspawnlpe(long wstr wstr) ucrtbase._wspawnlpe ++@ cdecl _wspawnv(long wstr ptr) ucrtbase._wspawnv ++@ cdecl _wspawnve(long wstr ptr ptr) ucrtbase._wspawnve ++@ cdecl _wspawnvp(long wstr ptr) ucrtbase._wspawnvp ++@ cdecl _wspawnvpe(long wstr ptr ptr) ucrtbase._wspawnvpe +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 785bce3..666c73f 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -60,6 +60,7 @@ my @dll_groups = + "api-ms-win-crt-math-l1-1-0", + "api-ms-win-crt-multibyte-l1-1-0", + "api-ms-win-crt-private-l1-1-0", ++ "api-ms-win-crt-process-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0018-api-ms-win-crt-runtime-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0018-api-ms-win-crt-runtime-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..4f955592 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0018-api-ms-win-crt-runtime-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,161 @@ +From 20be096fcfa0ffaba988ab4eb6fad318c4a0f046 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:17 +0300 +Subject: api-ms-win-crt-runtime-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-runtime-l1-1-0.spec | 107 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 110 insertions(+) + create mode 100644 dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index f35ab71..0b2be08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2765,6 +2765,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-math-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-multibyte-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-private-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-process-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-runtime-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..f74b653 +--- /dev/null ++++ b/dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-runtime-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec +new file mode 100644 +index 0000000..2f0bb33 +--- /dev/null ++++ b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec +@@ -0,0 +1,107 @@ ++@ stub _Exit ++@ cdecl -arch=i386 __control87_2(long long ptr ptr) ucrtbase.__control87_2 ++@ cdecl __doserrno() ucrtbase.__doserrno ++@ stub __fpe_flt_rounds ++@ cdecl __fpecode() ucrtbase.__fpecode ++@ cdecl __p___argc() ucrtbase.__p___argc ++@ cdecl __p___argv() ucrtbase.__p___argv ++@ cdecl __p___wargv() ucrtbase.__p___wargv ++@ cdecl __p__acmdln() ucrtbase.__p__acmdln ++@ cdecl __p__pgmptr() ucrtbase.__p__pgmptr ++@ cdecl __p__wcmdln() ucrtbase.__p__wcmdln ++@ cdecl __p__wpgmptr() ucrtbase.__p__wpgmptr ++@ cdecl __pxcptinfoptrs() ucrtbase.__pxcptinfoptrs ++@ cdecl __sys_errlist() ucrtbase.__sys_errlist ++@ cdecl __sys_nerr() ucrtbase.__sys_nerr ++@ cdecl __threadhandle() ucrtbase.__threadhandle ++@ cdecl __threadid() ucrtbase.__threadid ++@ cdecl __wcserror(wstr) ucrtbase.__wcserror ++@ cdecl __wcserror_s(ptr long wstr) ucrtbase.__wcserror_s ++@ cdecl _assert(str str long) ucrtbase._assert ++@ cdecl _beginthread(ptr long ptr) ucrtbase._beginthread ++@ cdecl _beginthreadex(ptr long ptr ptr long ptr) ucrtbase._beginthreadex ++@ cdecl _c_exit() ucrtbase._c_exit ++@ cdecl _cexit() ucrtbase._cexit ++@ cdecl _clearfp() ucrtbase._clearfp ++@ cdecl _configure_narrow_argv(long) ucrtbase._configure_narrow_argv ++@ stub _configure_wide_argv ++@ cdecl _control87(long long) ucrtbase._control87 ++@ cdecl _controlfp(long long) ucrtbase._controlfp ++@ cdecl _controlfp_s(ptr long long) ucrtbase._controlfp_s ++@ stub _crt_at_quick_exit ++@ cdecl _crt_atexit(ptr) ucrtbase._crt_atexit ++@ stub _crt_debugger_hook ++@ cdecl _endthread() ucrtbase._endthread ++@ cdecl _endthreadex(long) ucrtbase._endthreadex ++@ cdecl _errno() ucrtbase._errno ++@ stub _execute_onexit_table ++@ cdecl _exit(long) ucrtbase._exit ++@ cdecl _fpieee_flt(long ptr ptr) ucrtbase._fpieee_flt ++@ cdecl _fpreset() ucrtbase._fpreset ++@ cdecl _get_doserrno(ptr) ucrtbase._get_doserrno ++@ cdecl _get_errno(ptr) ucrtbase._get_errno ++@ cdecl _get_initial_narrow_environment() ucrtbase._get_initial_narrow_environment ++@ stub _get_initial_wide_environment ++@ cdecl _get_invalid_parameter_handler() ucrtbase._get_invalid_parameter_handler ++@ stub _get_narrow_winmain_command_line ++@ cdecl _get_pgmptr(ptr) ucrtbase._get_pgmptr ++@ cdecl _get_terminate() ucrtbase._get_terminate ++@ stub _get_thread_local_invalid_parameter_handler ++@ stub _get_wide_winmain_command_line ++@ cdecl _get_wpgmptr(ptr) ucrtbase._get_wpgmptr ++@ cdecl _getdllprocaddr(long str long) ucrtbase._getdllprocaddr ++@ cdecl _getpid() ucrtbase._getpid ++@ cdecl _initialize_narrow_environment() ucrtbase._initialize_narrow_environment ++@ stub _initialize_onexit_table ++@ stub _initialize_wide_environment ++@ cdecl _initterm(ptr ptr) ucrtbase._initterm ++@ cdecl _initterm_e(ptr ptr) ucrtbase._initterm_e ++@ cdecl _invalid_parameter_noinfo() ucrtbase._invalid_parameter_noinfo ++@ stub _invalid_parameter_noinfo_noreturn ++@ stub _invoke_watson ++@ stub _query_app_type ++@ stub _register_onexit_function ++@ stub _register_thread_local_exe_atexit_callback ++@ cdecl _resetstkoflw() ucrtbase._resetstkoflw ++@ stub _seh_filter_dll ++@ stub _seh_filter_exe ++@ cdecl _set_abort_behavior(long long) ucrtbase._set_abort_behavior ++@ cdecl _set_app_type(long) ucrtbase._set_app_type ++@ cdecl _set_controlfp(long long) ucrtbase._set_controlfp ++@ cdecl _set_doserrno(long) ucrtbase._set_doserrno ++@ cdecl _set_errno(long) ucrtbase._set_errno ++@ cdecl _set_error_mode(long) ucrtbase._set_error_mode ++@ cdecl _set_invalid_parameter_handler(ptr) ucrtbase._set_invalid_parameter_handler ++@ cdecl _set_new_handler(ptr) ucrtbase._set_new_handler ++@ stub _set_thread_local_invalid_parameter_handler ++@ cdecl _seterrormode(long) ucrtbase._seterrormode ++@ cdecl _sleep(long) ucrtbase._sleep ++@ cdecl _statusfp() ucrtbase._statusfp ++@ cdecl -arch=i386 _statusfp2(ptr ptr) ucrtbase._statusfp2 ++@ cdecl _strerror(long) ucrtbase._strerror ++@ stub _strerror_s ++@ cdecl _wassert(wstr wstr long) ucrtbase._wassert ++@ cdecl _wcserror(long) ucrtbase._wcserror ++@ cdecl _wcserror_s(ptr long long) ucrtbase._wcserror_s ++@ cdecl _wperror(wstr) ucrtbase._wperror ++@ cdecl _wsystem(wstr) ucrtbase._wsystem ++@ cdecl abort() ucrtbase.abort ++@ cdecl exit(long) ucrtbase.exit ++@ stub feclearexcept ++@ stub fegetenv ++@ stub fegetexceptflag ++@ stub fegetround ++@ stub feholdexcept ++@ stub fesetenv ++@ stub fesetexceptflag ++@ stub fesetround ++@ stub fetestexcept ++@ cdecl perror(str) ucrtbase.perror ++@ stub quick_exit ++@ cdecl raise(long) ucrtbase.raise ++@ stub set_terminate ++@ cdecl signal(long long) ucrtbase.signal ++@ cdecl strerror(long) ucrtbase.strerror ++@ cdecl strerror_s(ptr long long) ucrtbase.strerror_s ++@ cdecl system(str) ucrtbase.system ++@ stub terminate +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 666c73f..bc6c48d 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -61,6 +61,7 @@ my @dll_groups = + "api-ms-win-crt-multibyte-l1-1-0", + "api-ms-win-crt-private-l1-1-0", + "api-ms-win-crt-process-l1-1-0", ++ "api-ms-win-crt-runtime-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0019-api-ms-win-crt-stdio-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0019-api-ms-win-crt-stdio-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..29284aee --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0019-api-ms-win-crt-stdio-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,213 @@ +From 9c9b81b04f69cb93f948ba6d7e6ad8dc85bc0604 Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:18 +0300 +Subject: api-ms-win-crt-stdio-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-stdio-l1-1-0.spec | 159 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 162 insertions(+) + create mode 100644 dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 0b2be08..f39153e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2766,6 +2766,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-multibyte-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-private-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-process-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-runtime-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-stdio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..19ca3c4 +--- /dev/null ++++ b/dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-stdio-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec +new file mode 100644 +index 0000000..5516364 +--- /dev/null ++++ b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec +@@ -0,0 +1,159 @@ ++@ stub __acrt_iob_func ++@ cdecl __p__commode() ucrtbase.__p__commode ++@ cdecl __p__fmode() ucrtbase.__p__fmode ++@ stub __stdio_common_vfprintf ++@ stub __stdio_common_vfprintf_p ++@ stub __stdio_common_vfprintf_s ++@ stub __stdio_common_vfscanf ++@ stub __stdio_common_vfwprintf ++@ stub __stdio_common_vfwprintf_p ++@ stub __stdio_common_vfwprintf_s ++@ stub __stdio_common_vfwscanf ++@ stub __stdio_common_vsnprintf_s ++@ stub __stdio_common_vsnwprintf_s ++@ stub __stdio_common_vsprintf ++@ stub __stdio_common_vsprintf_p ++@ stub __stdio_common_vsprintf_s ++@ stub __stdio_common_vsscanf ++@ stub __stdio_common_vswprintf ++@ stub __stdio_common_vswprintf_p ++@ stub __stdio_common_vswprintf_s ++@ stub __stdio_common_vswscanf ++@ cdecl _chsize(long long) ucrtbase._chsize ++@ cdecl _chsize_s(long int64) ucrtbase._chsize_s ++@ cdecl _close(long) ucrtbase._close ++@ cdecl _commit(long) ucrtbase._commit ++@ cdecl _creat(str long) ucrtbase._creat ++@ cdecl _dup(long) ucrtbase._dup ++@ cdecl _dup2(long long) ucrtbase._dup2 ++@ cdecl _eof(long) ucrtbase._eof ++@ cdecl _fclose_nolock(ptr) ucrtbase._fclose_nolock ++@ cdecl _fcloseall() ucrtbase._fcloseall ++@ cdecl _fflush_nolock(ptr) ucrtbase._fflush_nolock ++@ cdecl _fgetc_nolock(ptr) ucrtbase._fgetc_nolock ++@ cdecl _fgetchar() ucrtbase._fgetchar ++@ cdecl _fgetwc_nolock(ptr) ucrtbase._fgetwc_nolock ++@ cdecl _fgetwchar() ucrtbase._fgetwchar ++@ cdecl _filelength(long) ucrtbase._filelength ++@ cdecl -ret64 _filelengthi64(long) ucrtbase._filelengthi64 ++@ cdecl _fileno(ptr) ucrtbase._fileno ++@ cdecl _flushall() ucrtbase._flushall ++@ cdecl _fputc_nolock(long ptr) ucrtbase._fputc_nolock ++@ cdecl _fputchar(long) ucrtbase._fputchar ++@ cdecl _fputwc_nolock(long ptr) ucrtbase._fputwc_nolock ++@ cdecl _fputwchar(long) ucrtbase._fputwchar ++@ cdecl _fread_nolock(ptr long long ptr) ucrtbase._fread_nolock ++@ cdecl _fread_nolock_s(ptr long long long ptr) ucrtbase._fread_nolock_s ++@ cdecl _fseek_nolock(ptr long long) ucrtbase._fseek_nolock ++@ cdecl _fseeki64(ptr int64 long) ucrtbase._fseeki64 ++@ cdecl _fseeki64_nolock(ptr int64 long) ucrtbase._fseeki64_nolock ++@ cdecl _fsopen(str str long) ucrtbase._fsopen ++@ cdecl _ftell_nolock(ptr) ucrtbase._ftell_nolock ++@ cdecl -ret64 _ftelli64(ptr) ucrtbase._ftelli64 ++@ cdecl -ret64 _ftelli64_nolock(ptr) ucrtbase._ftelli64_nolock ++@ cdecl _fwrite_nolock(ptr long long ptr) ucrtbase._fwrite_nolock ++@ cdecl _get_fmode(ptr) ucrtbase._get_fmode ++@ cdecl _get_osfhandle(long) ucrtbase._get_osfhandle ++@ cdecl _get_printf_count_output() ucrtbase._get_printf_count_output ++@ stub _get_stream_buffer_pointers ++@ cdecl _getc_nolock(ptr) ucrtbase._getc_nolock ++@ cdecl _getcwd(str long) ucrtbase._getcwd ++@ cdecl _getdcwd(long str long) ucrtbase._getdcwd ++@ cdecl _getmaxstdio() ucrtbase._getmaxstdio ++@ cdecl _getw(ptr) ucrtbase._getw ++@ cdecl _getwc_nolock(ptr) ucrtbase._getwc_nolock ++@ cdecl _getws(ptr) ucrtbase._getws ++@ stub _getws_s ++@ cdecl _isatty(long) ucrtbase._isatty ++@ cdecl _kbhit() ucrtbase._kbhit ++@ cdecl _locking(long long long) ucrtbase._locking ++@ cdecl _lseek(long long long) ucrtbase._lseek ++@ cdecl -ret64 _lseeki64(long int64 long) ucrtbase._lseeki64 ++@ cdecl _mktemp(str) ucrtbase._mktemp ++@ cdecl _mktemp_s(str long) ucrtbase._mktemp_s ++@ varargs _open(str long) ucrtbase._open ++@ cdecl _open_osfhandle(long long) ucrtbase._open_osfhandle ++@ cdecl _pclose(ptr) ucrtbase._pclose ++@ cdecl _pipe(ptr long long) ucrtbase._pipe ++@ cdecl _popen(str str) ucrtbase._popen ++@ cdecl _putc_nolock(long ptr) ucrtbase._putc_nolock ++@ cdecl _putw(long ptr) ucrtbase._putw ++@ cdecl _putwc_nolock(long ptr) ucrtbase._putwc_nolock ++@ cdecl _putws(wstr) ucrtbase._putws ++@ cdecl _read(long ptr long) ucrtbase._read ++@ cdecl _rmtmp() ucrtbase._rmtmp ++@ cdecl _set_fmode(long) ucrtbase._set_fmode ++@ cdecl _set_printf_count_output(long) ucrtbase._set_printf_count_output ++@ cdecl _setmaxstdio(long) ucrtbase._setmaxstdio ++@ cdecl _setmode(long long) ucrtbase._setmode ++@ varargs _sopen(str long long) ucrtbase._sopen ++@ stub _sopen_dispatch ++@ cdecl _sopen_s(ptr str long long long) ucrtbase._sopen_s ++@ cdecl _tell(long) ucrtbase._tell ++@ cdecl -ret64 _telli64(long) ucrtbase._telli64 ++@ cdecl _tempnam(str str) ucrtbase._tempnam ++@ cdecl _ungetc_nolock(long ptr) ucrtbase._ungetc_nolock ++@ cdecl _ungetwc_nolock(long ptr) ucrtbase._ungetwc_nolock ++@ cdecl _wcreat(wstr long) ucrtbase._wcreat ++@ cdecl _wfdopen(long wstr) ucrtbase._wfdopen ++@ cdecl _wfopen(wstr wstr) ucrtbase._wfopen ++@ cdecl _wfopen_s(ptr wstr wstr) ucrtbase._wfopen_s ++@ cdecl _wfreopen(wstr wstr ptr) ucrtbase._wfreopen ++@ cdecl _wfreopen_s(ptr wstr wstr ptr) ucrtbase._wfreopen_s ++@ cdecl _wfsopen(wstr wstr long) ucrtbase._wfsopen ++@ cdecl _wmktemp(wstr) ucrtbase._wmktemp ++@ cdecl _wmktemp_s(wstr long) ucrtbase._wmktemp_s ++@ varargs _wopen(wstr long) ucrtbase._wopen ++@ cdecl _wpopen(wstr wstr) ucrtbase._wpopen ++@ cdecl _write(long ptr long) ucrtbase._write ++@ varargs _wsopen(wstr long long) ucrtbase._wsopen ++@ stub _wsopen_dispatch ++@ cdecl _wsopen_s(ptr wstr long long long) ucrtbase._wsopen_s ++@ cdecl _wtempnam(wstr wstr) ucrtbase._wtempnam ++@ cdecl _wtmpnam(ptr) ucrtbase._wtmpnam ++@ stub _wtmpnam_s ++@ cdecl clearerr(ptr) ucrtbase.clearerr ++@ stub clearerr_s ++@ cdecl fclose(ptr) ucrtbase.fclose ++@ cdecl feof(ptr) ucrtbase.feof ++@ cdecl ferror(ptr) ucrtbase.ferror ++@ cdecl fflush(ptr) ucrtbase.fflush ++@ cdecl fgetc(ptr) ucrtbase.fgetc ++@ cdecl fgetpos(ptr ptr) ucrtbase.fgetpos ++@ cdecl fgets(ptr long ptr) ucrtbase.fgets ++@ cdecl fgetwc(ptr) ucrtbase.fgetwc ++@ cdecl fgetws(ptr long ptr) ucrtbase.fgetws ++@ cdecl fopen(str str) ucrtbase.fopen ++@ cdecl fopen_s(ptr str str) ucrtbase.fopen_s ++@ cdecl fputc(long ptr) ucrtbase.fputc ++@ cdecl fputs(str ptr) ucrtbase.fputs ++@ cdecl fputwc(long ptr) ucrtbase.fputwc ++@ cdecl fputws(wstr ptr) ucrtbase.fputws ++@ cdecl fread(ptr long long ptr) ucrtbase.fread ++@ cdecl fread_s(ptr long long long ptr) ucrtbase.fread_s ++@ cdecl freopen(str str ptr) ucrtbase.freopen ++@ cdecl freopen_s(ptr str str ptr) ucrtbase.freopen_s ++@ cdecl fseek(ptr long long) ucrtbase.fseek ++@ cdecl fsetpos(ptr ptr) ucrtbase.fsetpos ++@ cdecl ftell(ptr) ucrtbase.ftell ++@ cdecl fwrite(ptr long long ptr) ucrtbase.fwrite ++@ cdecl getc(ptr) ucrtbase.getc ++@ cdecl getchar() ucrtbase.getchar ++@ cdecl gets(str) ucrtbase.gets ++@ stub gets_s ++@ cdecl getwc(ptr) ucrtbase.getwc ++@ cdecl getwchar() ucrtbase.getwchar ++@ cdecl putc(long ptr) ucrtbase.putc ++@ cdecl putchar(long) ucrtbase.putchar ++@ cdecl puts(str) ucrtbase.puts ++@ cdecl putwc(long ptr) ucrtbase.putwc ++@ cdecl putwchar(long) ucrtbase.putwchar ++@ cdecl rewind(ptr) ucrtbase.rewind ++@ cdecl setbuf(ptr ptr) ucrtbase.setbuf ++@ cdecl setvbuf(ptr str long long) ucrtbase.setvbuf ++@ cdecl tmpfile() ucrtbase.tmpfile ++@ cdecl tmpfile_s(ptr) ucrtbase.tmpfile_s ++@ cdecl tmpnam(ptr) ucrtbase.tmpnam ++@ stub tmpnam_s ++@ cdecl ungetc(long ptr) ucrtbase.ungetc ++@ cdecl ungetwc(long ptr) ucrtbase.ungetwc +diff --git a/tools/make_specfiles b/tools/make_specfiles +index bc6c48d..e1c5c7f 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -62,6 +62,7 @@ my @dll_groups = + "api-ms-win-crt-private-l1-1-0", + "api-ms-win-crt-process-l1-1-0", + "api-ms-win-crt-runtime-l1-1-0", ++ "api-ms-win-crt-stdio-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0020-api-ms-win-crt-string-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0020-api-ms-win-crt-string-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..398ce277 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0020-api-ms-win-crt-string-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,232 @@ +From fedde420b260fdbc99453d09474ce61db3be2acb Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:19 +0300 +Subject: api-ms-win-crt-string-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-string-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-string-l1-1-0.spec | 178 +++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 181 insertions(+) + create mode 100644 dlls/api-ms-win-crt-string-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index f39153e..5d52949 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2767,6 +2767,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-private-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-process-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-runtime-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-stdio-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-string-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-string-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-string-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..3e53400 +--- /dev/null ++++ b/dlls/api-ms-win-crt-string-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-string-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec +new file mode 100644 +index 0000000..0095feb +--- /dev/null ++++ b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec +@@ -0,0 +1,178 @@ ++@ cdecl __isascii(long) ucrtbase.__isascii ++@ cdecl __iscsym(long) ucrtbase.__iscsym ++@ cdecl __iscsymf(long) ucrtbase.__iscsymf ++@ stub __iswcsym ++@ stub __iswcsymf ++@ stub __strncnt ++@ stub __wcsncnt ++@ cdecl _isalnum_l(long ptr) ucrtbase._isalnum_l ++@ cdecl _isalpha_l(long ptr) ucrtbase._isalpha_l ++@ stub _isblank_l ++@ cdecl _iscntrl_l(long ptr) ucrtbase._iscntrl_l ++@ cdecl _isctype(long long) ucrtbase._isctype ++@ cdecl _isctype_l(long long ptr) ucrtbase._isctype_l ++@ cdecl _isdigit_l(long ptr) ucrtbase._isdigit_l ++@ cdecl _isgraph_l(long ptr) ucrtbase._isgraph_l ++@ cdecl _isleadbyte_l(long ptr) ucrtbase._isleadbyte_l ++@ cdecl _islower_l(long ptr) ucrtbase._islower_l ++@ cdecl _isprint_l(long ptr) ucrtbase._isprint_l ++@ stub _ispunct_l ++@ cdecl _isspace_l(long ptr) ucrtbase._isspace_l ++@ cdecl _isupper_l(long ptr) ucrtbase._isupper_l ++@ stub _iswalnum_l ++@ cdecl _iswalpha_l(long ptr) ucrtbase._iswalpha_l ++@ stub _iswblank_l ++@ stub _iswcntrl_l ++@ stub _iswcsym_l ++@ stub _iswcsymf_l ++@ stub _iswctype_l ++@ cdecl _iswdigit_l(long ptr) ucrtbase._iswdigit_l ++@ stub _iswgraph_l ++@ stub _iswlower_l ++@ stub _iswprint_l ++@ cdecl _iswpunct_l(long ptr) ucrtbase._iswpunct_l ++@ cdecl _iswspace_l(long ptr) ucrtbase._iswspace_l ++@ stub _iswupper_l ++@ stub _iswxdigit_l ++@ cdecl _isxdigit_l(long ptr) ucrtbase._isxdigit_l ++@ cdecl _memccpy(ptr ptr long long) ucrtbase._memccpy ++@ cdecl _memicmp(str str long) ucrtbase._memicmp ++@ stub _memicmp_l ++@ cdecl _strcoll_l(str str ptr) ucrtbase._strcoll_l ++@ cdecl _strdup(str) ucrtbase._strdup ++@ cdecl _stricmp(str str) ucrtbase._stricmp ++@ cdecl _stricmp_l(str str ptr) ucrtbase._stricmp_l ++@ cdecl _stricoll(str str) ucrtbase._stricoll ++@ cdecl _stricoll_l(str str ptr) ucrtbase._stricoll_l ++@ cdecl _strlwr(str) ucrtbase._strlwr ++@ cdecl _strlwr_l(str ptr) ucrtbase._strlwr_l ++@ cdecl _strlwr_s(ptr long) ucrtbase._strlwr_s ++@ cdecl _strlwr_s_l(ptr long ptr) ucrtbase._strlwr_s_l ++@ cdecl _strncoll(str str long) ucrtbase._strncoll ++@ cdecl _strncoll_l(str str long ptr) ucrtbase._strncoll_l ++@ cdecl _strnicmp(str str long) ucrtbase._strnicmp ++@ cdecl _strnicmp_l(str str long ptr) ucrtbase._strnicmp_l ++@ cdecl _strnicoll(str str long) ucrtbase._strnicoll ++@ cdecl _strnicoll_l(str str long ptr) ucrtbase._strnicoll_l ++@ cdecl _strnset(str long long) ucrtbase._strnset ++@ cdecl _strnset_s(str long long long) ucrtbase._strnset_s ++@ cdecl _strrev(str) ucrtbase._strrev ++@ cdecl _strset(str long) ucrtbase._strset ++@ stub _strset_s ++@ cdecl _strupr(str) ucrtbase._strupr ++@ cdecl _strupr_l(str ptr) ucrtbase._strupr_l ++@ cdecl _strupr_s(str long) ucrtbase._strupr_s ++@ cdecl _strupr_s_l(str long ptr) ucrtbase._strupr_s_l ++@ cdecl _strxfrm_l(ptr str long ptr) ucrtbase._strxfrm_l ++@ cdecl _tolower(long) ucrtbase._tolower ++@ cdecl _tolower_l(long ptr) ucrtbase._tolower_l ++@ cdecl _toupper(long) ucrtbase._toupper ++@ cdecl _toupper_l(long ptr) ucrtbase._toupper_l ++@ cdecl _towlower_l(long ptr) ucrtbase._towlower_l ++@ cdecl _towupper_l(long ptr) ucrtbase._towupper_l ++@ cdecl _wcscoll_l(wstr wstr ptr) ucrtbase._wcscoll_l ++@ cdecl _wcsdup(wstr) ucrtbase._wcsdup ++@ cdecl _wcsicmp(wstr wstr) ucrtbase._wcsicmp ++@ cdecl _wcsicmp_l(wstr wstr ptr) ucrtbase._wcsicmp_l ++@ cdecl _wcsicoll(wstr wstr) ucrtbase._wcsicoll ++@ cdecl _wcsicoll_l(wstr wstr ptr) ucrtbase._wcsicoll_l ++@ cdecl _wcslwr(wstr) ucrtbase._wcslwr ++@ cdecl _wcslwr_l(wstr ptr) ucrtbase._wcslwr_l ++@ cdecl _wcslwr_s(wstr long) ucrtbase._wcslwr_s ++@ cdecl _wcslwr_s_l(wstr long ptr) ucrtbase._wcslwr_s_l ++@ cdecl _wcsncoll(wstr wstr long) ucrtbase._wcsncoll ++@ cdecl _wcsncoll_l(wstr wstr long ptr) ucrtbase._wcsncoll_l ++@ cdecl _wcsnicmp(wstr wstr long) ucrtbase._wcsnicmp ++@ cdecl _wcsnicmp_l(wstr wstr long ptr) ucrtbase._wcsnicmp_l ++@ cdecl _wcsnicoll(wstr wstr long) ucrtbase._wcsnicoll ++@ cdecl _wcsnicoll_l(wstr wstr long ptr) ucrtbase._wcsnicoll_l ++@ cdecl _wcsnset(wstr long long) ucrtbase._wcsnset ++@ stub _wcsnset_s ++@ cdecl _wcsrev(wstr) ucrtbase._wcsrev ++@ cdecl _wcsset(wstr long) ucrtbase._wcsset ++@ cdecl _wcsset_s(wstr long long) ucrtbase._wcsset_s ++@ cdecl _wcsupr(wstr) ucrtbase._wcsupr ++@ cdecl _wcsupr_l(wstr ptr) ucrtbase._wcsupr_l ++@ cdecl _wcsupr_s(wstr long) ucrtbase._wcsupr_s ++@ cdecl _wcsupr_s_l(wstr long ptr) ucrtbase._wcsupr_s_l ++@ cdecl _wcsxfrm_l(ptr wstr long ptr) ucrtbase._wcsxfrm_l ++@ stub _wctype ++@ cdecl is_wctype(long long) ucrtbase.is_wctype ++@ cdecl isalnum(long) ucrtbase.isalnum ++@ cdecl isalpha(long) ucrtbase.isalpha ++@ stub isblank ++@ cdecl iscntrl(long) ucrtbase.iscntrl ++@ cdecl isdigit(long) ucrtbase.isdigit ++@ cdecl isgraph(long) ucrtbase.isgraph ++@ cdecl isleadbyte(long) ucrtbase.isleadbyte ++@ cdecl islower(long) ucrtbase.islower ++@ cdecl isprint(long) ucrtbase.isprint ++@ cdecl ispunct(long) ucrtbase.ispunct ++@ cdecl isspace(long) ucrtbase.isspace ++@ cdecl isupper(long) ucrtbase.isupper ++@ cdecl iswalnum(long) ucrtbase.iswalnum ++@ cdecl iswalpha(long) ucrtbase.iswalpha ++@ cdecl iswascii(long) ucrtbase.iswascii ++@ stub iswblank ++@ cdecl iswcntrl(long) ucrtbase.iswcntrl ++@ cdecl iswctype(long long) ucrtbase.iswctype ++@ cdecl iswdigit(long) ucrtbase.iswdigit ++@ cdecl iswgraph(long) ucrtbase.iswgraph ++@ cdecl iswlower(long) ucrtbase.iswlower ++@ cdecl iswprint(long) ucrtbase.iswprint ++@ cdecl iswpunct(long) ucrtbase.iswpunct ++@ cdecl iswspace(long) ucrtbase.iswspace ++@ cdecl iswupper(long) ucrtbase.iswupper ++@ cdecl iswxdigit(long) ucrtbase.iswxdigit ++@ cdecl isxdigit(long) ucrtbase.isxdigit ++@ cdecl mblen(ptr long) ucrtbase.mblen ++@ cdecl mbrlen(ptr long ptr) ucrtbase.mbrlen ++@ cdecl memcpy_s(ptr long ptr long) ucrtbase.memcpy_s ++@ cdecl memmove_s(ptr long ptr long) ucrtbase.memmove_s ++@ cdecl memset(ptr long long) ucrtbase.memset ++@ cdecl strcat(str str) ucrtbase.strcat ++@ cdecl strcat_s(str long str) ucrtbase.strcat_s ++@ cdecl strcmp(str str) ucrtbase.strcmp ++@ cdecl strcoll(str str) ucrtbase.strcoll ++@ cdecl strcpy(ptr str) ucrtbase.strcpy ++@ cdecl strcpy_s(ptr long str) ucrtbase.strcpy_s ++@ cdecl strcspn(str str) ucrtbase.strcspn ++@ cdecl strlen(str) ucrtbase.strlen ++@ cdecl strncat(str str long) ucrtbase.strncat ++@ cdecl strncat_s(str long str long) ucrtbase.strncat_s ++@ cdecl strncmp(str str long) ucrtbase.strncmp ++@ cdecl strncpy(ptr str long) ucrtbase.strncpy ++@ cdecl strncpy_s(ptr long str long) ucrtbase.strncpy_s ++@ cdecl strnlen(str long) ucrtbase.strnlen ++@ cdecl strpbrk(str str) ucrtbase.strpbrk ++@ cdecl strspn(str str) ucrtbase.strspn ++@ cdecl strtok(str str) ucrtbase.strtok ++@ cdecl strtok_s(ptr str ptr) ucrtbase.strtok_s ++@ cdecl strxfrm(ptr str long) ucrtbase.strxfrm ++@ cdecl tolower(long) ucrtbase.tolower ++@ cdecl toupper(long) ucrtbase.toupper ++@ stub towctrans ++@ cdecl towlower(long) ucrtbase.towlower ++@ cdecl towupper(long) ucrtbase.towupper ++@ cdecl wcscat(wstr wstr) ucrtbase.wcscat ++@ cdecl wcscat_s(wstr long wstr) ucrtbase.wcscat_s ++@ cdecl wcscmp(wstr wstr) ucrtbase.wcscmp ++@ cdecl wcscoll(wstr wstr) ucrtbase.wcscoll ++@ cdecl wcscpy(ptr wstr) ucrtbase.wcscpy ++@ cdecl wcscpy_s(ptr long wstr) ucrtbase.wcscpy_s ++@ cdecl wcscspn(wstr wstr) ucrtbase.wcscspn ++@ cdecl wcslen(wstr) ucrtbase.wcslen ++@ cdecl wcsncat(wstr wstr long) ucrtbase.wcsncat ++@ cdecl wcsncat_s(wstr long wstr long) ucrtbase.wcsncat_s ++@ cdecl wcsncmp(wstr wstr long) ucrtbase.wcsncmp ++@ cdecl wcsncpy(ptr wstr long) ucrtbase.wcsncpy ++@ cdecl wcsncpy_s(ptr long wstr long) ucrtbase.wcsncpy_s ++@ cdecl wcsnlen(wstr long) ucrtbase.wcsnlen ++@ cdecl wcspbrk(wstr wstr) ucrtbase.wcspbrk ++@ cdecl wcsspn(wstr wstr) ucrtbase.wcsspn ++@ cdecl wcstok(wstr wstr) ucrtbase.wcstok ++@ cdecl wcstok_s(ptr wstr ptr) ucrtbase.wcstok_s ++@ cdecl wcsxfrm(ptr wstr long) ucrtbase.wcsxfrm ++@ stub wctype ++@ cdecl wmemcpy_s(ptr long ptr long) ucrtbase.wmemcpy_s ++@ cdecl wmemmove_s(ptr long ptr long) ucrtbase.wmemmove_s +diff --git a/tools/make_specfiles b/tools/make_specfiles +index e1c5c7f..bab4f4c 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -63,6 +63,7 @@ my @dll_groups = + "api-ms-win-crt-process-l1-1-0", + "api-ms-win-crt-runtime-l1-1-0", + "api-ms-win-crt-stdio-l1-1-0", ++ "api-ms-win-crt-string-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0021-api-ms-win-crt-time-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0021-api-ms-win-crt-time-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..1ea094b2 --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0021-api-ms-win-crt-time-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,126 @@ +From 140404f0112b83949a5665e989388cd2403f558c Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:20 +0300 +Subject: api-ms-win-crt-time-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-time-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-time-l1-1-0.spec | 72 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 75 insertions(+) + create mode 100644 dlls/api-ms-win-crt-time-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index 5d52949..b826d63 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2768,6 +2768,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-process-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-runtime-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-stdio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-string-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-time-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-time-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-time-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..1887a90 +--- /dev/null ++++ b/dlls/api-ms-win-crt-time-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-time-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec b/dlls/api-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec +new file mode 100644 +index 0000000..b619703 +--- /dev/null ++++ b/dlls/api-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec +@@ -0,0 +1,72 @@ ++@ cdecl _Getdays() ucrtbase._Getdays ++@ cdecl _Getmonths() ucrtbase._Getmonths ++@ cdecl _Gettnames() ucrtbase._Gettnames ++@ cdecl _Strftime(str long str ptr ptr) ucrtbase._Strftime ++@ cdecl _W_Getdays() ucrtbase._W_Getdays ++@ cdecl _W_Getmonths() ucrtbase._W_Getmonths ++@ stub _W_Gettnames ++@ stub _Wcsftime ++@ cdecl __daylight() ucrtbase.__daylight ++@ cdecl __dstbias() ucrtbase.__dstbias ++@ cdecl __timezone() ucrtbase.__timezone ++@ cdecl __tzname() ucrtbase.__tzname ++@ cdecl _ctime32(ptr) ucrtbase._ctime32 ++@ cdecl _ctime32_s(str long ptr) ucrtbase._ctime32_s ++@ cdecl _ctime64(ptr) ucrtbase._ctime64 ++@ cdecl _ctime64_s(str long ptr) ucrtbase._ctime64_s ++@ cdecl _difftime32(long long) ucrtbase._difftime32 ++@ cdecl _difftime64(long long) ucrtbase._difftime64 ++@ cdecl _ftime32(ptr) ucrtbase._ftime32 ++@ cdecl _ftime32_s(ptr) ucrtbase._ftime32_s ++@ cdecl _ftime64(ptr) ucrtbase._ftime64 ++@ cdecl _ftime64_s(ptr) ucrtbase._ftime64_s ++@ cdecl _futime32(long ptr) ucrtbase._futime32 ++@ cdecl _futime64(long ptr) ucrtbase._futime64 ++@ cdecl _get_daylight(ptr) ucrtbase._get_daylight ++@ stub _get_dstbias ++@ cdecl _get_timezone(ptr) ucrtbase._get_timezone ++@ cdecl _get_tzname(ptr str long long) ucrtbase._get_tzname ++@ cdecl _getsystime(ptr) ucrtbase._getsystime ++@ cdecl _gmtime32(ptr) ucrtbase._gmtime32 ++@ cdecl _gmtime32_s(ptr ptr) ucrtbase._gmtime32_s ++@ cdecl _gmtime64(ptr) ucrtbase._gmtime64 ++@ cdecl _gmtime64_s(ptr ptr) ucrtbase._gmtime64_s ++@ cdecl _localtime32(ptr) ucrtbase._localtime32 ++@ cdecl _localtime32_s(ptr ptr) ucrtbase._localtime32_s ++@ cdecl _localtime64(ptr) ucrtbase._localtime64 ++@ cdecl _localtime64_s(ptr ptr) ucrtbase._localtime64_s ++@ cdecl _mkgmtime32(ptr) ucrtbase._mkgmtime32 ++@ cdecl _mkgmtime64(ptr) ucrtbase._mkgmtime64 ++@ cdecl _mktime32(ptr) ucrtbase._mktime32 ++@ cdecl _mktime64(ptr) ucrtbase._mktime64 ++@ cdecl _setsystime(ptr long) ucrtbase._setsystime ++@ cdecl _strdate(ptr) ucrtbase._strdate ++@ cdecl _strdate_s(ptr long) ucrtbase._strdate_s ++@ stub _strftime_l ++@ cdecl _strtime(ptr) ucrtbase._strtime ++@ cdecl _strtime_s(ptr long) ucrtbase._strtime_s ++@ cdecl _time32(ptr) ucrtbase._time32 ++@ cdecl _time64(ptr) ucrtbase._time64 ++@ stub _timespec32_get ++@ stub _timespec64_get ++@ cdecl _tzset() ucrtbase._tzset ++@ cdecl _utime32(str ptr) ucrtbase._utime32 ++@ cdecl _utime64(str ptr) ucrtbase._utime64 ++@ cdecl _wasctime(ptr) ucrtbase._wasctime ++@ cdecl _wasctime_s(ptr long ptr) ucrtbase._wasctime_s ++@ stub _wcsftime_l ++@ cdecl _wctime32(ptr) ucrtbase._wctime32 ++@ stub _wctime32_s ++@ cdecl _wctime64(ptr) ucrtbase._wctime64 ++@ stub _wctime64_s ++@ cdecl _wstrdate(ptr) ucrtbase._wstrdate ++@ cdecl _wstrdate_s(ptr long) ucrtbase._wstrdate_s ++@ cdecl _wstrtime(ptr) ucrtbase._wstrtime ++@ cdecl _wstrtime_s(ptr long) ucrtbase._wstrtime_s ++@ cdecl _wutime32(wstr ptr) ucrtbase._wutime32 ++@ cdecl _wutime64(wstr ptr) ucrtbase._wutime64 ++@ cdecl asctime(ptr) ucrtbase.asctime ++@ cdecl asctime_s(ptr long ptr) ucrtbase.asctime_s ++@ cdecl clock() ucrtbase.clock ++@ cdecl strftime(str long str ptr) ucrtbase.strftime ++@ cdecl wcsftime(ptr long wstr ptr) ucrtbase.wcsftime +diff --git a/tools/make_specfiles b/tools/make_specfiles +index bab4f4c..f62be3c 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -64,6 +64,7 @@ my @dll_groups = + "api-ms-win-crt-runtime-l1-1-0", + "api-ms-win-crt-stdio-l1-1-0", + "api-ms-win-crt-string-l1-1-0", ++ "api-ms-win-crt-time-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/0022-api-ms-win-crt-utility-l1-1-0-Add-stub-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0022-api-ms-win-crt-utility-l1-1-0-Add-stub-dll.patch new file mode 100644 index 00000000..3a4e5a9c --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0022-api-ms-win-crt-utility-l1-1-0-Add-stub-dll.patch @@ -0,0 +1,84 @@ +From aa62f276c14b80649d60d9c25f84d1a242758f4a Mon Sep 17 00:00:00 2001 +From: Martin Storsjo +Date: Mon, 3 Aug 2015 22:26:21 +0300 +Subject: api-ms-win-crt-utility-l1-1-0: Add stub dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in | 1 + + .../api-ms-win-crt-utility-l1-1-0.spec | 30 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 33 insertions(+) + create mode 100644 dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in + create mode 100644 dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec + +diff --git a/configure.ac b/configure.ac +index b826d63..9bb0a22 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2769,6 +2769,7 @@ WINE_CONFIG_DLL(api-ms-win-crt-runtime-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-stdio-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-string-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-crt-time-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-crt-utility-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0) + WINE_CONFIG_DLL(api-ms-win-downlevel-normaliz-l1-1-0) +diff --git a/dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in b/dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in +new file mode 100644 +index 0000000..cf2b940 +--- /dev/null ++++ b/dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-crt-utility-l1-1-0.dll +diff --git a/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec b/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec +new file mode 100644 +index 0000000..b335cf8 +--- /dev/null ++++ b/dlls/api-ms-win-crt-utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec +@@ -0,0 +1,30 @@ ++@ cdecl -ret64 _abs64(int64) ucrtbase._abs64 ++@ cdecl _byteswap_uint64(int64) ucrtbase._byteswap_uint64 ++@ cdecl _byteswap_ulong(long) ucrtbase._byteswap_ulong ++@ cdecl _byteswap_ushort(long) ucrtbase._byteswap_ushort ++@ cdecl _lfind(ptr ptr ptr long ptr) ucrtbase._lfind ++@ stub _lfind_s ++@ cdecl _lrotl(long long) ucrtbase._lrotl ++@ cdecl _lrotr(long long) ucrtbase._lrotr ++@ cdecl _lsearch(ptr ptr ptr long ptr) ucrtbase._lsearch ++@ stub _lsearch_s ++@ cdecl _rotl(long long) ucrtbase._rotl ++@ cdecl -ret64 _rotl64(int64 long) ucrtbase._rotl64 ++@ cdecl _rotr(long long) ucrtbase._rotr ++@ cdecl -ret64 _rotr64(int64 long) ucrtbase._rotr64 ++@ cdecl _swab(str str long) ucrtbase._swab ++@ cdecl abs(long) ucrtbase.abs ++@ cdecl bsearch(ptr ptr long long ptr) ucrtbase.bsearch ++@ cdecl bsearch_s(ptr ptr long long ptr ptr) ucrtbase.bsearch_s ++@ cdecl -ret64 div(long long) ucrtbase.div ++@ stub imaxabs ++@ stub imaxdiv ++@ cdecl labs(long) ucrtbase.labs ++@ cdecl ldiv(long long) ucrtbase.ldiv ++@ cdecl -ret64 llabs(int64) ucrtbase.llabs ++@ stub lldiv ++@ cdecl qsort(ptr long long ptr) ucrtbase.qsort ++@ cdecl qsort_s(ptr long long ptr ptr) ucrtbase.qsort_s ++@ cdecl rand() ucrtbase.rand ++@ cdecl rand_s(ptr) ucrtbase.rand_s ++@ cdecl srand(long) ucrtbase.srand +diff --git a/tools/make_specfiles b/tools/make_specfiles +index f62be3c..5d31939 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -65,6 +65,7 @@ my @dll_groups = + "api-ms-win-crt-stdio-l1-1-0", + "api-ms-win-crt-string-l1-1-0", + "api-ms-win-crt-time-l1-1-0", ++ "api-ms-win-crt-utility-l1-1-0", + ], + [ + "msvcp120", +-- +2.5.0 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/definition b/patches/api-ms-win-crt-Stub_DLLs/definition new file mode 100644 index 00000000..a2dca98b --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/definition @@ -0,0 +1 @@ +Fixes: Add stub dlls required for MSVC 2015 runtime library (Windows 10) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 3bb5605f..f140e089 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -81,6 +81,7 @@ patch_enable_all () enable_Staging="$1" enable_advapi32_LsaLookupSids="$1" enable_amstream_GetMultiMediaStream="$1" + enable_api_ms_win_crt_Stub_DLLs="$1" enable_browseui_Progress_Dialog="$1" enable_combase_String="$1" enable_comctl32_LoadIconMetric="$1" @@ -314,6 +315,9 @@ patch_enable () amstream-GetMultiMediaStream) enable_amstream_GetMultiMediaStream="$2" ;; + api-ms-win-crt-Stub_DLLs) + enable_api_ms_win_crt_Stub_DLLs="$2" + ;; browseui-Progress_Dialog) enable_browseui_Progress_Dialog="$2" ;; @@ -2041,6 +2045,76 @@ if test "$enable_amstream_GetMultiMediaStream" -eq 1; then ) >> "$patchlist" fi +# Patchset api-ms-win-crt-Stub_DLLs +# | +# | Modified files: +# | * configure.ac, dlls/api-ms-win-crt-conio-l1-1-0/Makefile.in, dlls/api-ms-win-crt-conio-l1-1-0/api-ms-win-crt- +# | conio-l1-1-0.spec, dlls/api-ms-win-crt-convert-l1-1-0/Makefile.in, dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt- +# | convert-l1-1-0.spec, dlls/api-ms-win-crt-environment-l1-1-0/Makefile.in, dlls/api-ms-win-crt-environment-l1-1-0/api-ms- +# | win-crt-environment-l1-1-0.spec, dlls/api-ms-win-crt-filesystem-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec, dlls/api-ms-win-crt-heap-l1-1-0/Makefile.in, dlls/api-ms-win- +# | crt-heap-l1-1-0/api-ms-win-crt-heap-l1-1-0.spec, dlls/api-ms-win-crt-locale-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | locale-l1-1-0/api-ms-win-crt-locale-l1-1-0.spec, dlls/api-ms-win-crt-math-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec, dlls/api-ms-win-crt-multibyte-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec, dlls/api-ms-win-crt-private-l1-1-0/Makefile.in, dlls/api-ms-win- +# | crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec, dlls/api-ms-win-crt-process-l1-1-0/Makefile.in, dlls/api-ms-win- +# | crt-process-l1-1-0/api-ms-win-crt-process-l1-1-0.spec, dlls/api-ms-win-crt-runtime-l1-1-0/Makefile.in, dlls/api-ms-win- +# | crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec, dlls/api-ms-win-crt-stdio-l1-1-0/Makefile.in, dlls/api-ms-win- +# | crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec, dlls/api-ms-win-crt-string-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec, dlls/api-ms-win-crt-time-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec, dlls/api-ms-win-crt-utility-l1-1-0/Makefile.in, dlls/api-ms-win-crt- +# | utility-l1-1-0/api-ms-win-crt-utility-l1-1-0.spec, dlls/msvcrt/data.c, dlls/msvcrt/misc.c, dlls/ucrtbase/Makefile.in, +# | dlls/ucrtbase/ucrtbase.spec, dlls/vcruntime140/Makefile.in, dlls/vcruntime140/vcruntime140.spec, tools/make_specfiles +# | +if test "$enable_api_ms_win_crt_Stub_DLLs" -eq 1; then + patch_apply api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Add-the-new-universal-CRT-DLL.patch + patch_apply api-ms-win-crt-Stub_DLLs/0002-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch + patch_apply api-ms-win-crt-Stub_DLLs/0003-vcruntime140-Add-the-new-MSVC-2015-compiler-specific.patch + patch_apply api-ms-win-crt-Stub_DLLs/0004-vcruntime140-Hook-up-a-function-with-a-new-name-to-t.patch + patch_apply api-ms-win-crt-Stub_DLLs/0005-ucrtbase-Add-stub-functions-for-narrow-environment.patch + patch_apply api-ms-win-crt-Stub_DLLs/0006-vcruntime140-Add-stubs-for-telemetry-functions.patch + patch_apply api-ms-win-crt-Stub_DLLs/0007-make_specfiles-Use-cdecl-for-stub-redirects-to-ucrtb.patch + patch_apply api-ms-win-crt-Stub_DLLs/0008-api-ms-win-crt-conio-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0009-api-ms-win-crt-convert-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0010-api-ms-win-crt-environment-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0011-api-ms-win-crt-filesystem-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0012-api-ms-win-crt-heap-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0013-api-ms-win-crt-locale-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0014-api-ms-win-crt-math-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0015-api-ms-win-crt-multibyte-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0016-api-ms-win-crt-private-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0017-api-ms-win-crt-process-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0018-api-ms-win-crt-runtime-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0019-api-ms-win-crt-stdio-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0020-api-ms-win-crt-string-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0021-api-ms-win-crt-time-l1-1-0-Add-stub-dll.patch + patch_apply api-ms-win-crt-Stub_DLLs/0022-api-ms-win-crt-utility-l1-1-0-Add-stub-dll.patch + ( + echo '+ { "Martin Storsjo", "ucrtbase: Add the new universal CRT DLL.", 1 },'; + echo '+ { "Martin Storsjo", "ucrtbase: Hook up some functions with new names to existing implementations.", 1 },'; + echo '+ { "Martin Storsjo", "vcruntime140: Add the new MSVC 2015 compiler specific DLL.", 1 },'; + echo '+ { "Martin Storsjo", "vcruntime140: Hook up a function with a new name to the existing implementation.", 1 },'; + echo '+ { "Martin Storsjo", "ucrtbase: Add stub functions for narrow environment.", 1 },'; + echo '+ { "Martin Storsjo", "vcruntime140: Add stubs for telemetry functions.", 1 },'; + echo '+ { "Martin Storsjo", "make_specfiles: Use cdecl for stub redirects to ucrtbase, just like to msvcr*.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-conio-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-convert-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-environment-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-filesystem-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-heap-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-locale-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-math-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-multibyte-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-private-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-process-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-runtime-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-stdio-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-string-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-time-l1-1-0: Add stub dll.", 1 },'; + echo '+ { "Martin Storsjo", "api-ms-win-crt-utility-l1-1-0: Add stub dll.", 1 },'; + ) >> "$patchlist" +fi + # Patchset browseui-Progress_Dialog # | # | Modified files: @@ -4823,6 +4897,18 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then ) >> "$patchlist" fi +# Patchset wined3d-wined3d_swapchain_present +# | +# | Modified files: +# | * dlls/wined3d/swapchain.c +# | +if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then + patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch + ( + echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },'; + ) >> "$patchlist" +fi + # Patchset wined3d-Geforce_425M # | # | This patchset fixes the following Wine bugs: @@ -4922,18 +5008,6 @@ if test "$enable_wined3d_resource_check_usage" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-wined3d_swapchain_present -# | -# | Modified files: -# | * dlls/wined3d/swapchain.c -# | -if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then - patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch - ( - echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-CSMT_Main # | # | This patchset fixes the following Wine bugs: