Some math functions were marked DATA (to avoid linking to them, when libmingwex provides a replacement) in lib64. Keep that annotation only while targeting x86 platforms, for the math functions that we don't provide for arm (where we intend to link to msvcrt for them).
Signed-off-by: Martin Storsjö <mar...@martin.st> --- mingw-w64-crt/Makefile.am | 4 +- mingw-w64-crt/{lib64 => lib-common}/msvcrt.def.in | 235 +++- mingw-w64-crt/libarm32/msvcrt.def.in | 1283 --------------------- 3 files changed, 203 insertions(+), 1319 deletions(-) rename mingw-w64-crt/{lib64 => lib-common}/msvcrt.def.in (83%) delete mode 100644 mingw-w64-crt/libarm32/msvcrt.def.in diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index ef98c3f..0f091ca 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -744,7 +744,7 @@ EXTRA_lib64_libkernel32_a_DEPENDENCIES=lib64/kernel32.def if !W32API lib64_LIBRARIES += lib64/libmsvcrt.a -lib64_libmsvcrt_a_SOURCES = $(src_msvcrt) lib64/msvcrt.def.in +lib64_libmsvcrt_a_SOURCES = $(src_msvcrt) lib-common/msvcrt.def.in lib64_libmsvcrt_a_AR = $(DTDEF64) lib64/msvcrt.def && $(AR) $(ARFLAGS) lib64_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS64) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) EXTRA_lib64_libmsvcrt_a_DEPENDENCIES=lib64/msvcrt.def @@ -1057,7 +1057,7 @@ EXTRA_libarm32_libkernel32_a_DEPENDENCIES=libarm32/kernel32.def if !W32API libarm32_LIBRARIES += libarm32/libmsvcrt.a -libarm32_libmsvcrt_a_SOURCES = $(src_msvcrt32) libarm32/msvcrt.def.in +libarm32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib-common/msvcrt.def.in libarm32_libmsvcrt_a_AR = $(DTDEFARM32) libarm32/msvcrt.def && $(AR) $(ARFLAGS) libarm32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGSARM32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) EXTRA_libarm32_libmsvcrt_a_DEPENDENCIES=libarm32/msvcrt.def diff --git a/mingw-w64-crt/lib64/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in similarity index 83% rename from mingw-w64-crt/lib64/msvcrt.def.in rename to mingw-w64-crt/lib-common/msvcrt.def.in index bcf41ac..732cb86 100644 --- a/mingw-w64-crt/lib64/msvcrt.def.in +++ b/mingw-w64-crt/lib-common/msvcrt.def.in @@ -1,13 +1,10 @@ -; Exports of file msvcrt.dll -; -; Autogenerated by gen_exportdef -; Written by Kai Tietz, 2007 -; LIBRARY "msvcrt.dll" EXPORTS +#include "func.def.in" #include "msvcrt-common.def.in" +#ifdef DEF_X64 $I10_OUTPUT ; public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object const & __ptr64) __ptr64 ; GCC = __ZN17__non_rtti_objectC2ERKS_ @@ -120,16 +117,112 @@ __uncaught_exception ?unexpected@@YAXXZ ; public: virtual char const * __ptr64 __cdecl exception::what(void)const __ptr64 ?what@exception@@UEBAPEBDXZ +#endif + +#ifdef DEF_ARM32 +??0__non_rtti_object@@QAA@ABV0@@Z +??0__non_rtti_object@@QAA@PBD@Z +??0bad_cast@@AAA@PBQBD@Z +??0bad_cast@@QAA@ABV0@@Z +??0bad_cast@@QAA@PBD@Z +??0bad_typeid@@QAA@ABV0@@Z +??0bad_typeid@@QAA@PBD@Z +??0exception@@QAA@ABQBD@Z +??0exception@@QAA@ABQBDH@Z +??0exception@@QAA@ABV0@@Z +??0exception@@QAA@XZ +??1__non_rtti_object@@UAA@XZ +??1bad_cast@@UAA@XZ +??1bad_typeid@@UAA@XZ +??1exception@@UAA@XZ +??1type_info@@UAA@XZ +??2@YAPAXI@Z +??2@YAPAXIHPBDH@Z +??3@YAXPAX@Z +??4__non_rtti_object@@QAAAAV0@ABV0@@Z +??4bad_cast@@QAAAAV0@ABV0@@Z +??4bad_typeid@@QAAAAV0@ABV0@@Z +??4exception@@QAAAAV0@ABV0@@Z +??8type_info@@QBAHABV0@@Z +??9type_info@@QBAHABV0@@Z +??_7__non_rtti_object@@6B@ DATA +??_7bad_cast@@6B@ DATA +??_7bad_typeid@@6B@ DATA +??_7exception@@6B@ DATA +??_Fbad_cast@@QAAXXZ +??_Fbad_typeid@@QAAXXZ +??_U@YAPAXI@Z +??_U@YAPAXIHPBDH@Z +??_V@YAXPAX@Z +_CallMemberFunction0 +_CallMemberFunction1 +_CallMemberFunction2 +__ExceptionPtrAssign +__ExceptionPtrCompare +__ExceptionPtrCopy +__ExceptionPtrCopyException +__ExceptionPtrCreate +__ExceptionPtrCurrentException +__ExceptionPtrDestroy +__ExceptionPtrRethrow +__ExceptionPtrSwap +__ExceptionPtrToBool +__uncaught_exception +?_query_new_handler@@YAP6AHI@ZXZ +?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z +?_set_new_mode@@YAHH@Z +?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z +?before@type_info@@QBAHABV1@@Z +?name@type_info@@QBAPBDXZ +?raw_name@type_info@@QBAPBDXZ +?set_terminate@@YAP6AXXZP6AXXZ@Z +?set_unexpected@@YAP6AXXZP6AXXZ@Z +?terminate@@YAXXZ +?unexpected@@YAXXZ +?what@exception@@UBAPBDXZ +#endif + +_CrtCheckMemory +_CrtDbgBreak +_CrtDbgReport +_CrtDbgReportV +_CrtDbgReportW +_CrtDbgReportWV +_CrtDoForAllClientObjects +_CrtDumpMemoryLeaks +_CrtIsMemoryBlock +_CrtIsValidHeapPointer +_CrtIsValidPointer +_CrtMemCheckpoint +_CrtMemDifference +_CrtMemDumpAllObjectsSince +_CrtMemDumpStatistics +_CrtReportBlockType +_CrtSetAllocHook +_CrtSetBreakAlloc +_CrtSetDbgBlockType +_CrtSetDbgFlag +_CrtSetDumpClient +_CrtSetReportFile +_CrtSetReportHook +_CrtSetReportHook2 +_CrtSetReportMode _CxxThrowException _Getdays _Getmonths _Gettnames _HUGE DATA _Strftime +_W_Getdays +_W_Getmonths +_W_Gettnames +_Wcsftime _XcptFilter +__AdjustPointer __C_specific_handler __CppXcptFilter __CxxFrameHandler +__CxxFrameHandler3 __DestructExceptionObject __RTCastToVoid __RTDynamicCast @@ -150,17 +243,20 @@ __crtGetLocaleInfoW __crtGetStringTypeW __crtLCMapStringA __crtLCMapStringW +__daylight __dllonexit __doserrno +__dstbias __fpecode __getmainargs -__initenv DATA +F_X86_ANY(__initenv DATA) __iob_func __isascii __iscsym __iscsymf __lc_codepage DATA __lc_collate_cp DATA +__jump_unwind __lc_handle DATA __lconv_init __mb_cur_max DATA @@ -171,6 +267,7 @@ __pxcptinfoptrs __set_app_type __setlc_active DATA __setusermatherr +__strncnt __threadhandle __threadid __toascii @@ -180,18 +277,24 @@ __unguarded_readlc_active DATA __wargv DATA __wcserror __wcserror_s +__wcsncnt __wgetmainargs -__winitenv DATA +F_X86_ANY(__winitenv DATA) _abs64 _access ; _access_s Replaced by emu _acmdln DATA _aexit_rtn DATA _aligned_free +_aligned_free_dbg _aligned_malloc +_aligned_malloc_dbg _aligned_offset_malloc +_aligned_offset_malloc_dbg _aligned_offset_realloc +_aligned_offset_realloc_dbg _aligned_realloc +_aligned_realloc_dbg _amsg_exit _assert DATA _atodbl @@ -210,6 +313,7 @@ _beginthreadex _c_exit _cabs DATA _callnewh +_calloc_dbg _cexit _cgets ; _cgets_s replaced by emu @@ -222,6 +326,8 @@ _chgsignf _chmod _chsize ; _chsize_s replaced by emu +_chvalidator +_chvalidator_l _clearfp _close _commit @@ -241,10 +347,14 @@ _cputs _cputws _creat _create_locale +_crtAssertBusy +_crtBreakAlloc +_crtDbgFlag _cscanf _cscanf_l _cscanf_s _cscanf_s_l +_ctime32 ; _ctime32_s replaced by emu _ctime64 ; _ctime64_s replaced by emu @@ -261,13 +371,16 @@ _cwscanf_l _cwscanf_s _cwscanf_s_l _dstbias DATA +_daylight DATA +_difftime32 +_difftime64 _dup _dup2 _ecvt _ecvt_s _endthread _endthreadex -_environ DATA +F_X86_ANY(_environ DATA) _eof _errno _execl @@ -280,6 +393,7 @@ _execvp _execvpe _exit _expand +_expand_dbg _fcloseall _fcvt _fcvt_s @@ -287,7 +401,7 @@ _fdopen _fgetchar _fgetwchar _filbuf -_fileinfo DATA +F_X86_ANY(_fileinfo DATA) _filelength _filelengthi64 _fileno @@ -307,6 +421,7 @@ _flushall _fmode DATA _fpclass _fpclassf +_fpieee_flt _fpreset DATA _fprintf_l _fprintf_p @@ -314,21 +429,28 @@ _fprintf_p_l _fprintf_s_l _fputchar _fputwchar +_free_dbg +_free_locale +_freea _fscanf_l _fscanf_s_l _free_locale +_fseeki64 _fsopen _fstat _fstat64 _fstati64 _fstat64i32 == _fstat _ftime +_ftime32 _ftime32_s _ftime64 _ftime64_s _ftime_s == _ftime64_s _fullpath +_fullpath_dbg _futime +_futime32 _futime64 _fwprintf_l _fwprintf_p @@ -338,10 +460,17 @@ _fwscanf_l _fwscanf_s_l _gcvt _gcvt_s +_get_current_locale +_get_doserrno +_get_environ +_get_errno +_get_fileinfo +_get_fmode _get_heap_handle _get_osfhandle ;_get_output_format provided by emu _get_sbh_threshold +_get_wenviron _getch _getche _getcwd @@ -375,6 +504,8 @@ _i64toa_s _i64tow _i64tow_s _initterm +_initterm_e +_invalid_parameter _iob DATA _isalnum_l _isalpha_l @@ -445,7 +576,7 @@ _ismbslead_l _ismbstrail _ismbstrail_l _isnan -_isnanf +F_X64(_isnanf) _isprint_l _isspace_l _isupper_l @@ -473,7 +604,7 @@ _kbhit _lfind _loaddll _lfind_s -_local_unwind +F_X64(_local_unwind) _localtime32 ; _localtime32_s replaced by emu _localtime64 @@ -494,6 +625,7 @@ _ltow _ltow_s _makepath _makepath_s +_malloc_dbg _mbbtombc _mbbtombc_l _mbbtype @@ -633,17 +765,21 @@ _mbsupr_s _mbsupr_s_l _mbtowc_l _memccpy +_memcpy_strict_align _memicmp _memicmp_l _mkdir _mkgmtime +_mkgmtime32 _mkgmtime64 _mktemp ; _mktemp_s replaced by emu +_mktime32 _mktime64 _msize +_msize_dbg _nextafter -_nextafterf +F_X64(_nextafterf) _onexit _open _open_osfhandle @@ -667,6 +803,7 @@ _putwch _putws _pwctype DATA _read +_realloc_dbg _resetstkoflw _rmdir _rmtmp @@ -675,7 +812,7 @@ _rotl64 _rotr _rotr64 _scalb -_scalbf +F_X64(_scalbf) _scanf_l _scanf_s_l _scprintf @@ -686,7 +823,12 @@ _scwprintf_l _scwprintf_p_l _searchenv _searchenv_s +_set_controlfp +_set_doserrno +_set_errno _set_error_mode +_set_fileinfo +_set_fmode _set_sbh_threshold ; _set_output_format provided by emu _seterrormode @@ -743,6 +885,7 @@ _strcoll_l _strdate ; _strdate_s replaced by emu _strdup +_strdup_dbg _strerror _strerror_s _stricmp @@ -791,13 +934,17 @@ _sys_nerr DATA _tell _telli64 _tempnam +_tempnam_dbg +_time32 _time64 +_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l +_tzname DATA _tzset _ui64toa _ui64toa_s @@ -815,6 +962,7 @@ _unlink _unloaddll _unlock _utime +_utime32 _utime64 _vcprintf _vcprintf_l @@ -875,12 +1023,14 @@ _waccess ; _waccess_s Replaced by emu _wasctime ; _wasctime_s Replaced by emu +_wassert _wchdir _wchmod _wcmdln DATA _wcreat _wcscoll_l _wcsdup +_wcsdup_dbg _wcserror _wcserror_s _wcsftime_l @@ -903,6 +1053,7 @@ _wcsnset_s _wcsrev _wcsset _wcsset_s +_wcstod_l _wcstoi64 _wcstoi64_l _wcstol_l @@ -917,13 +1068,14 @@ _wcsupr_s _wcsupr_s_l _wcsxfrm_l _wctime +_wctime32 ; _wctime32_s replaced by emu _wctime64 ; _wctime64_s replaced by emu _wctomb_l _wctomb_s_l _wctype -_wenviron DATA +F_X86_ANY(_wenviron DATA) _wexecl _wexecle _wexeclp @@ -947,6 +1099,7 @@ _wfreopen _wfreopen_s _wfsopen _wfullpath +_wfullpath_dbg _wgetcwd _wgetdcwd _wgetenv @@ -1002,6 +1155,7 @@ _wstrtime ; _wstrtime_s replaced by emu _wsystem _wtempnam +_wtempnam_dbg _wtmpnam _wtmpnam_s _wtof @@ -1014,6 +1168,7 @@ _wtol _wtol_l _wunlink _wutime +_wutime32 _wutime64 _y0 _y1 @@ -1021,38 +1176,40 @@ _yn abort abs acos -acosf DATA +acosf F_X86_ANY(DATA) asctime ; asctime_s replaced by emu asin -asinf DATA +asinf F_X86_ANY(DATA) atan -atan2 DATA -atan2f DATA -atanf DATA +atan2 F_X86_ANY(DATA) +atan2f F_X86_ANY(DATA) +atanf F_X86_ANY(DATA) atexit DATA atof atoi atol bsearch bsearch_s +btowc calloc ceil DATA ceilf DATA clearerr clearerr_s clock -cos DATA -cosf DATA +cos F_X86_ANY(DATA) +cosf F_X86_ANY(DATA) cosh coshf DATA ctime difftime div exit -exp DATA -expf DATA +exp F_X86_ANY(DATA) +expf F_X86_ANY(DATA) fabs DATA +fabsf fclose feof ferror @@ -1064,8 +1221,8 @@ fgetwc fgetws floor DATA floorf DATA -fmod DATA -fmodf DATA +fmod F_X86_ANY(DATA) +fmodf F_X86_ANY(DATA) fopen fopen_s fprintf @@ -1126,16 +1283,21 @@ iswupper iswxdigit isxdigit labs -ldexp DATA +ldexp F_X86_ANY(DATA) ldiv localeconv localtime -log DATA +log F_X86_ANY(DATA) log10 -log10f DATA -logf DATA +log10f F_X86_ANY(DATA) +logf F_X86_ANY(DATA) +longjmp malloc mblen +mbrlen +mbrtowc +mbsdup_dbg +mbsrtowcs mbsrtowcs_s mbstowcs mbstowcs_s @@ -1151,8 +1313,8 @@ mktime modf DATA modff DATA perror -pow DATA -powf DATA +pow F_X86_ANY(DATA) +powf F_X86_ANY(DATA) printf printf_s putc @@ -1176,8 +1338,8 @@ setjmp setlocale setvbuf signal -sin DATA -sinf DATA +sin F_X86_ANY(DATA) +sinf F_X86_ANY(DATA) ; if we implement sinh, we can set it DATA only. sinh sinhf DATA @@ -1222,9 +1384,10 @@ swscanf swscanf_s system tan -tanf DATA +tanf F_X86_ANY(DATA) ; if we implement tanh, we can set it to DATA only. tanh +tanhf time == _time64 tmpfile tmpfile_s @@ -1236,6 +1399,7 @@ towlower towupper ungetc ungetwc +utime vfprintf vfprintf_s vfwprintf @@ -1250,6 +1414,7 @@ vswprintf vswprintf_s vwprintf vwprintf_s +wcrtomb wcrtomb_s wcscat wcscat_s @@ -1270,6 +1435,7 @@ wcsncpy_s wcsnlen DATA wcspbrk wcsrchr +wcsrtombs wcsrtombs_s wcsspn wcsstr @@ -1281,6 +1447,7 @@ wcstombs wcstombs_s wcstoul wcsxfrm +wctob wctomb wctomb_s wprintf diff --git a/mingw-w64-crt/libarm32/msvcrt.def.in b/mingw-w64-crt/libarm32/msvcrt.def.in deleted file mode 100644 index 5a3aa74..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