21 up to 27 are ok. Please go ahead and apply to master. Thanks, Kai
2017-08-17 14:14 GMT+02:00 Martin Storsjö <mar...@martin.st>: > Where in doubt, where there were non-obvious differences between > the lib32 and lib64 versions, I've kept the definitions separate > instead of trying to unify them too much. (This goes mostly > for the *findfirst/*findnext functions.) > > Some math functions with a -f suffixed float version are available > on all other platforms than i386, so they are marked with > F_NON_I386(). For those functions that are marked DATA on x86 > (where libmingwex provides a replacement on x86), we end up with > markings like "F_NON_I386(cosf F_X86_ANY(DATA))". > > Signed-off-by: Martin Storsjö <mar...@martin.st> > --- > mingw-w64-crt/Makefile.am | 2 +- > mingw-w64-crt/lib-common/msvcrt.def.in | 180 ++++- > mingw-w64-crt/lib32/msvcrt.def.in | 1248 > -------------------------------- > 3 files changed, 151 insertions(+), 1279 deletions(-) > delete mode 100644 mingw-w64-crt/lib32/msvcrt.def.in > > diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am > index 0f091ca..7ce3c0e 100644 > --- a/mingw-w64-crt/Makefile.am > +++ b/mingw-w64-crt/Makefile.am > @@ -443,7 +443,7 @@ lib32_libkernel32_a_CPPFLAGS=$(CPPFLAGS32) > $(extra_include) $(AM_CPPFLAGS) > > if !W32API > lib32_LIBRARIES += lib32/libmsvcrt.a > -lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib32/msvcrt.def.in > +lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib-common/msvcrt.def.in > lib32_libmsvcrt_a_AR = $(DTDEF32) lib32/msvcrt.def && $(AR) $(ARFLAGS) > lib32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) > $(sysincludes) > EXTRA_lib32_libmsvcrt_a_DEPENDENCIES=lib32/msvcrt.def > diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in > b/mingw-w64-crt/lib-common/msvcrt.def.in > index 732cb86..c63edd2 100644 > --- a/mingw-w64-crt/lib-common/msvcrt.def.in > +++ b/mingw-w64-crt/lib-common/msvcrt.def.in > @@ -4,6 +4,25 @@ EXPORTS > #include "func.def.in" > #include "msvcrt-common.def.in" > > +#ifdef DEF_I386 > +_CIacos > +_CIasin > +_CIatan > +_CIatan2 > +_CIcos > +_CIcosh > +_CIexp > +_CIfmod > +_CIlog > +_CIlog10 > +_CIpow > +_CIsin > +_CIsinh > +_CIsqrt > +_CItan > +_CItanh > +#endif > + > #ifdef DEF_X64 > $I10_OUTPUT > ; public: __cdecl __non_rtti_object::__non_rtti_object(class > __non_rtti_object const & __ptr64) __ptr64 > @@ -208,6 +227,7 @@ _CrtSetReportHook > _CrtSetReportHook2 > _CrtSetReportMode > _CxxThrowException > +F_I386(_EH_prolog) > _Getdays > _Getmonths > _Gettnames > @@ -221,8 +241,16 @@ _XcptFilter > __AdjustPointer > __C_specific_handler > __CppXcptFilter > +__CxxCallUnwindDtor > +__CxxCallUnwindVecDtor > +__CxxDetectRethrow > +__CxxExceptionFilter > __CxxFrameHandler > __CxxFrameHandler3 > +F_I386(__CxxLongjmpUnwind) > +__CxxQueryExceptionSize > +__CxxRegisterExceptionObject > +__CxxUnregisterExceptionObject > __DestructExceptionObject > __RTCastToVoid > __RTDynamicCast > @@ -237,6 +265,7 @@ ___unguarded_readlc_active_add_func > __argc DATA > __argv DATA > __badioinfo DATA > +F_I386(__buffer_overrun) > __crtCompareStringA > __crtCompareStringW > __crtGetLocaleInfoW > @@ -254,23 +283,56 @@ __iob_func > __isascii > __iscsym > __iscsymf > +__lc_clike > __lc_codepage DATA > __lc_collate_cp DATA > __jump_unwind > __lc_handle DATA > __lconv_init > __mb_cur_max DATA > +__p___argc > +__p___argv > +__p___initenv > +__p___mb_cur_max > +__p___wargv > +__p___winitenv > +__p__acmdln > +__p__amblksiz > +__p__commode > +__p__daylight > +__p__dstbias > +__p__environ > +__p__fileinfo > +__p__fmode > +__p__iob > +__p__mbcasemap > +__p__mbctype > +__p__osver > +__p__pctype > +__p__pgmptr > +__p__pwctype > +__p__timezone > +__p__tzname > +__p__wcmdln > +__p__wenviron > +__p__winmajor > +__p__winminor > +__p__winver > +__p__wpgmptr > __pctype_func > __pioinfo DATA > __pwctype_func > __pxcptinfoptrs > +__security_error_handler > __set_app_type > +__set_buffer_overrun_handler > __setlc_active DATA > __setusermatherr > __strncnt > __threadhandle > __threadid > __toascii > +__uncaught_exception > __unDName > __unDNameEx > __unguarded_readlc_active DATA > @@ -280,10 +342,27 @@ __wcserror_s > __wcsncnt > __wgetmainargs > F_X86_ANY(__winitenv DATA) > +_abnormal_termination > _abs64 > _access > ; _access_s Replaced by emu > _acmdln DATA > +#ifdef DEF_I386 > +_adj_fdiv_m16i > +_adj_fdiv_m32 > +_adj_fdiv_m32i > +_adj_fdiv_m64 > +_adj_fdiv_r > +_adj_fdivr_m16i > +_adj_fdivr_m32 > +_adj_fdivr_m32i > +_adj_fdivr_m64 > +_adj_fpatan > +_adj_fprem > +_adj_fprem1 > +_adj_fptan > +_adjust_fdiv DATA > +#endif > _aexit_rtn DATA > _aligned_free > _aligned_free_dbg > @@ -324,6 +403,7 @@ _chdrive > _chgsign > _chgsignf > _chmod > +_chkesp > _chsize > ; _chsize_s replaced by emu > _chvalidator > @@ -345,6 +425,7 @@ _cprintf_p_l > ; _cprintf_s_l likewise. > _cputs > _cputws > +_CRT_RTC_INIT > _creat > _create_locale > _crtAssertBusy > @@ -358,7 +439,7 @@ _ctime32 > ; _ctime32_s replaced by emu > _ctime64 > ; _ctime64_s replaced by emu > -_ctype > +_ctypea DATA > _cwait > _cwprintf > _cwprintf_l > @@ -383,6 +464,8 @@ _endthreadex > F_X86_ANY(_environ DATA) > _eof > _errno > +F_I386(_except_handler2) > +F_I386(_except_handler3) > _execl > _execle > _execlp > @@ -407,20 +490,24 @@ _filelengthi64 > _fileno > _findclose > _findfirst > +F_I386(_findfirst32 == _findfirst) > _findfirst64 > _findfirsti64 > -_findfirst64i32 == _findfirst > +F_I386(_findfirst32i64 == _findfirsti64) > +F_X64(_findfirst64i32 == _findfirst) > _findnext > +F_I386(_findnext32 == _findnext) > _findnext64 > _findnexti64 > -_findnext64i32 == _findnext > +F_I386(_findnext32i64 == _findnexti64) > +F_X64(_findnext64i32 == _findnext) > _finite > -_finitef > +F_NON_I386(_finitef) > _flsbuf > _flushall > _fmode DATA > _fpclass > -_fpclassf > +F_NON_I386(_fpclassf) > _fpieee_flt > _fpreset DATA > _fprintf_l > @@ -438,6 +525,7 @@ _free_locale > _fseeki64 > _fsopen > _fstat > +_fstat32 == _fstat > _fstat64 > _fstati64 > _fstat64i32 == _fstat > @@ -446,7 +534,8 @@ _ftime32 > _ftime32_s > _ftime64 > _ftime64_s > -_ftime_s == _ftime64_s > +F_I386(_ftime_s == _ftime32_s) > +F_X64(_ftime_s == _ftime64_s) > _fullpath > _fullpath_dbg > _futime > @@ -487,6 +576,7 @@ _getw > _getwch > _getwche > _getws > +F_I386(_global_unwind2) > _gmtime32 > ; _gmtime32_s replaced by emu > _gmtime64 > @@ -505,6 +595,9 @@ _i64tow > _i64tow_s > _initterm > _initterm_e > +F_I386(_inp) > +F_I386(_inpd) > +F_I386(_inpw) > _invalid_parameter > _iob DATA > _isalnum_l > @@ -605,6 +698,7 @@ _lfind > _loaddll > _lfind_s > F_X64(_local_unwind) > +F_I386(_local_unwind2) > _localtime32 > ; _localtime32_s replaced by emu > _localtime64 > @@ -612,7 +706,8 @@ _localtime64 > _lock > _locking > _logb > -_logbf > +F_NON_I386(_logbf) > +F_I386(_longjmpex) > _lrotl > _lrotr > _lsearch > @@ -785,6 +880,9 @@ _open > _open_osfhandle > _osplatform DATA > _osver DATA > +F_I386(_outp) > +F_I386(_outpd) > +F_I386(_outpw) > _pclose > _pctype DATA > _pgmptr DATA > @@ -811,6 +909,12 @@ _rotl > _rotl64 > _rotr > _rotr64 > +#ifdef DEF_I386 > +_safe_fdiv > +_safe_fdivr > +_safe_fprem > +_safe_fprem1 > +#endif > _scalb > F_X64(_scalbf) > _scanf_l > @@ -823,16 +927,22 @@ _scwprintf_l > _scwprintf_p_l > _searchenv > _searchenv_s > +F_I386(_seh_longjmp_unwind) > _set_controlfp > _set_doserrno > _set_errno > _set_error_mode > _set_fileinfo > _set_fmode > +; Does not seem to present even on Win7 msvcrt > +;_set_purecall_handler > _set_sbh_threshold > ; _set_output_format provided by emu > +_set_SSE2_enable > +_set_security_error_handler > _seterrormode > _setjmp > +F_I386(_setjmp3) > _setjmpex > _setmaxstdio > _setmbcp > @@ -878,6 +988,7 @@ _sscanf_s_l > _stat > _stat64 > _stati64 > +_stat32 == _stat > _stat64i32 == _stat > _statusfp > _strcmpi > @@ -1068,7 +1179,7 @@ _wcsupr_s > _wcsupr_s_l > _wcsxfrm_l > _wctime > -_wctime32 > +_wctime32 F_I386(== _wctime) > ; _wctime32_s replaced by emu > _wctime64 > ; _wctime64_s replaced by emu > @@ -1086,13 +1197,17 @@ _wexecvp > _wexecvpe > _wfdopen > _wfindfirst > +F_I386(_wfindfirst32 == _wfindfirst) > _wfindfirst64 > _wfindfirsti64 > -_wfindfirst64i32 == _wfindfirst > +F_I386(_wfindfirst32i64 == _wfindfirsti64) > +F_X64(_wfindfirst64i32 == _wfindfirst) > _wfindnext > +F_I386(_wfindnext32 == _wfindnext) > _wfindnext64 > _wfindnexti64 > -_wfindnext64i32 == _wfindnext > +F_I386(_wfindnext32i64 == _wfindnexti64) > +F_X64(_wfindnext64i32 == _wfindnext) > _wfopen > _wfopen_s > _wfreopen > @@ -1148,6 +1263,7 @@ _wsplitpath_s > _wstat > _wstat64 > _wstati64 > +_wstat32 == _wstat > _wstat64i32 == _wstat > _wstrdate > ; _wstrdate_s replaced by emu > @@ -1176,15 +1292,15 @@ _yn > abort > abs > acos > -acosf F_X86_ANY(DATA) > +F_NON_I386(acosf F_X86_ANY(DATA)) > asctime > ; asctime_s replaced by emu > asin > -asinf F_X86_ANY(DATA) > +F_NON_I386(asinf F_X86_ANY(DATA)) > atan > atan2 F_X86_ANY(DATA) > -atan2f F_X86_ANY(DATA) > -atanf F_X86_ANY(DATA) > +F_NON_I386(atan2f F_X86_ANY(DATA)) > +F_NON_I386(atanf F_X86_ANY(DATA)) > atexit DATA > atof > atoi > @@ -1199,17 +1315,18 @@ clearerr > clearerr_s > clock > cos F_X86_ANY(DATA) > -cosf F_X86_ANY(DATA) > +F_NON_I386(cosf F_X86_ANY(DATA)) > cosh > -coshf DATA > +F_NON_I386(coshf DATA) > ctime > +_ctime32 == ctime > difftime > div > exit > exp F_X86_ANY(DATA) > -expf F_X86_ANY(DATA) > +F_NON_I386(expf F_X86_ANY(DATA)) > fabs DATA > -fabsf > +F_NON_I386(fabsf) > fclose > feof > ferror > @@ -1220,9 +1337,9 @@ fgets > fgetwc > fgetws > floor DATA > -floorf DATA > +F_NON_I386(floorf DATA) > fmod F_X86_ANY(DATA) > -fmodf F_X86_ANY(DATA) > +F_NON_I386(fmodf F_X86_ANY(DATA)) > fopen > fopen_s > fprintf > @@ -1256,6 +1373,7 @@ gets > getwc > getwchar > gmtime > +_gmtime32 == gmtime > is_wctype > isalnum > isalpha > @@ -1287,10 +1405,11 @@ ldexp F_X86_ANY(DATA) > ldiv > localeconv > localtime > +_localtime32 == localtime > log F_X86_ANY(DATA) > log10 > -log10f F_X86_ANY(DATA) > -logf F_X86_ANY(DATA) > +F_NON_I386(log10f F_X86_ANY(DATA)) > +F_NON_I386(logf F_X86_ANY(DATA)) > longjmp > malloc > mblen > @@ -1310,11 +1429,12 @@ memmove > ; memmove_s replaced by emu > memset > mktime > +_mktime32 == mktime > modf DATA > -modff DATA > +F_NON_I386(modff DATA) > perror > pow F_X86_ANY(DATA) > -powf F_X86_ANY(DATA) > +F_NON_I386(powf F_X86_ANY(DATA)) > printf > printf_s > putc > @@ -1339,14 +1459,14 @@ setlocale > setvbuf > signal > sin F_X86_ANY(DATA) > -sinf F_X86_ANY(DATA) > +F_NON_I386(sinf F_X86_ANY(DATA)) > ; if we implement sinh, we can set it DATA only. > sinh > -sinhf DATA > +F_NON_I386(sinhf DATA) > sprintf > ; sprintf_s replaced by emu > sqrt DATA > -sqrtf DATA > +F_NON_I386(sqrtf DATA) > srand > sscanf > sscanf_s > @@ -1384,11 +1504,11 @@ swscanf > swscanf_s > system > tan > -tanf F_X86_ANY(DATA) > +F_NON_I386(tanf F_X86_ANY(DATA)) > ; if we implement tanh, we can set it to DATA only. > tanh > -tanhf > -time == _time64 > +F_NON_I386(tanhf) > +time F_NON_I386(== _time64) > tmpfile > tmpfile_s > tmpnam > diff --git a/mingw-w64-crt/lib32/msvcrt.def.in > b/mingw-w64-crt/lib32/msvcrt.def.in > deleted file mode 100644 > index 51f62cb..0000000 > -- > 2.7.4 > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public