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

Reply via email to