mirror of
https://github.com/frida/tinycc
synced 2025-01-17 08:49:18 +03:00
Finalizing math.h fixes:
- Updated msvcrt.def with symbols from 64bit version of dll - it contains the float math functions missing in the 32bit dll. - Made sure this patch only apply to to WIN32 and WIN64. For WIN32 float functions calls the double variants, on 64bit they are called natively.
This commit is contained in:
parent
df67d8617b
commit
024214af2d
@ -205,8 +205,21 @@ extern "C" {
|
||||
__CRT_INLINE float frexpf(float _X,int *_Y) { return ((float)frexp((double)_X,_Y)); }
|
||||
|
||||
#if !defined (__ia64__)
|
||||
__CRT_INLINE float fabsf(float x) { return (float) fabs(x); }
|
||||
__CRT_INLINE float ldexpf(float x, int expn) { return (float) ldexp(x, expn); }
|
||||
__CRT_INLINE float __cdecl fabsf (float x)
|
||||
{
|
||||
#ifdef _WIN64
|
||||
*((int *) &x) &= 0x7fffffff;
|
||||
return x;
|
||||
#else
|
||||
float res;
|
||||
__asm__ ("fabs;" : "=t" (res) : "0" (x));
|
||||
return res;
|
||||
#endif
|
||||
}
|
||||
|
||||
__CRT_INLINE float __cdecl ldexpf (float x, int expn) { return (float) ldexp (x, expn); }
|
||||
#endif
|
||||
#if defined (_WIN32) && !defined(_WIN64)
|
||||
__CRT_INLINE float acosf(float x) { return (float) acos(x); }
|
||||
__CRT_INLINE float asinf(float x) { return (float) asin(x); }
|
||||
__CRT_INLINE float atanf(float x) { return (float) atan(x); }
|
||||
@ -377,6 +390,32 @@ extern "C" {
|
||||
extern double __cdecl logb (double);
|
||||
extern float __cdecl logbf (float);
|
||||
extern long double __cdecl logbl (long double);
|
||||
#ifndef _WIN32
|
||||
__CRT_INLINE double __cdecl logb (double x)
|
||||
{
|
||||
double res;
|
||||
__asm__ ("fxtract\n\t"
|
||||
"fstp %%st" : "=t" (res) : "0" (x));
|
||||
return res;
|
||||
}
|
||||
|
||||
__CRT_INLINE float __cdecl logbf (float x)
|
||||
{
|
||||
float res;
|
||||
__asm__ ("fxtract\n\t"
|
||||
"fstp %%st" : "=t" (res) : "0" (x));
|
||||
return res;
|
||||
}
|
||||
|
||||
__CRT_INLINE long double __cdecl logbl (long double x)
|
||||
{
|
||||
long double res;
|
||||
__asm__ ("fxtract\n\t"
|
||||
"fstp %%st" : "=t" (res) : "0" (x));
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern long double __cdecl modfl (long double, long double*);
|
||||
|
||||
/* 7.12.6.13 */
|
||||
|
@ -1,80 +1,57 @@
|
||||
LIBRARY msvcrt.dll
|
||||
|
||||
EXPORTS
|
||||
$I10_OUTPUT
|
||||
??0__non_rtti_object@@QAE@ABV0@@Z
|
||||
??0__non_rtti_object@@QAE@PBD@Z
|
||||
??0__non_rtti_object@@QEAA@AEBV0@@Z
|
||||
??0__non_rtti_object@@QEAA@PEBD@Z
|
||||
??0bad_cast@@AAE@PBQBD@Z
|
||||
??0bad_cast@@AEAA@PEBQEBD@Z
|
||||
??0bad_cast@@QAE@ABQBD@Z
|
||||
??0bad_cast@@QAE@ABV0@@Z
|
||||
??0bad_cast@@QAE@PBD@Z
|
||||
??0bad_typeid@@QAE@ABV0@@Z
|
||||
??0bad_typeid@@QAE@PBD@Z
|
||||
??0exception@@QAE@ABQBD@Z
|
||||
??0exception@@QAE@ABQBDH@Z
|
||||
??0exception@@QAE@ABV0@@Z
|
||||
??0exception@@QAE@XZ
|
||||
??1__non_rtti_object@@UAE@XZ
|
||||
??1bad_cast@@UAE@XZ
|
||||
??1bad_typeid@@UAE@XZ
|
||||
??1exception@@UAE@XZ
|
||||
??1type_info@@UAE@XZ
|
||||
??2@YAPAXI@Z
|
||||
??2@YAPAXIHPBDH@Z
|
||||
??3@YAXPAX@Z
|
||||
??4__non_rtti_object@@QAEAAV0@ABV0@@Z
|
||||
??4bad_cast@@QAEAAV0@ABV0@@Z
|
||||
??4bad_typeid@@QAEAAV0@ABV0@@Z
|
||||
??4exception@@QAEAAV0@ABV0@@Z
|
||||
??8type_info@@QBEHABV0@@Z
|
||||
??9type_info@@QBEHABV0@@Z
|
||||
??0bad_cast@@QEAA@AEBQEBD@Z
|
||||
??0bad_cast@@QEAA@AEBV0@@Z
|
||||
??0bad_cast@@QEAA@PEBD@Z
|
||||
??0bad_typeid@@QEAA@AEBV0@@Z
|
||||
??0bad_typeid@@QEAA@PEBD@Z
|
||||
??0exception@@QEAA@AEBQEBD@Z
|
||||
??0exception@@QEAA@AEBQEBDH@Z
|
||||
??0exception@@QEAA@AEBV0@@Z
|
||||
??0exception@@QEAA@XZ
|
||||
??1__non_rtti_object@@UEAA@XZ
|
||||
??1bad_cast@@UEAA@XZ
|
||||
??1bad_typeid@@UEAA@XZ
|
||||
??1exception@@UEAA@XZ
|
||||
??1type_info@@UEAA@XZ
|
||||
??2@YAPEAX_K@Z
|
||||
??2@YAPEAX_KHPEBDH@Z
|
||||
??3@YAXPEAX@Z
|
||||
??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z
|
||||
??4bad_cast@@QEAAAEAV0@AEBV0@@Z
|
||||
??4bad_typeid@@QEAAAEAV0@AEBV0@@Z
|
||||
??4exception@@QEAAAEAV0@AEBV0@@Z
|
||||
??8type_info@@QEBAHAEBV0@@Z
|
||||
??9type_info@@QEBAHAEBV0@@Z
|
||||
??_7__non_rtti_object@@6B@
|
||||
??_7bad_cast@@6B@
|
||||
??_7bad_typeid@@6B@
|
||||
??_7exception@@6B@
|
||||
??_E__non_rtti_object@@UAEPAXI@Z
|
||||
??_Ebad_cast@@UAEPAXI@Z
|
||||
??_Ebad_typeid@@UAEPAXI@Z
|
||||
??_Eexception@@UAEPAXI@Z
|
||||
??_Fbad_cast@@QAEXXZ
|
||||
??_Fbad_typeid@@QAEXXZ
|
||||
??_G__non_rtti_object@@UAEPAXI@Z
|
||||
??_Gbad_cast@@UAEPAXI@Z
|
||||
??_Gbad_typeid@@UAEPAXI@Z
|
||||
??_Gexception@@UAEPAXI@Z
|
||||
??_U@YAPAXI@Z
|
||||
??_U@YAPAXIHPBDH@Z
|
||||
??_V@YAXPAX@Z
|
||||
?_query_new_handler@@YAP6AHI@ZXZ
|
||||
??_Fbad_cast@@QEAAXXZ
|
||||
??_Fbad_typeid@@QEAAXXZ
|
||||
??_U@YAPEAX_K@Z
|
||||
??_U@YAPEAX_KHPEBDH@Z
|
||||
??_V@YAXPEAX@Z
|
||||
?_query_new_handler@@YAP6AH_K@ZXZ
|
||||
?_query_new_mode@@YAHXZ
|
||||
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
|
||||
?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z
|
||||
?_set_new_mode@@YAHH@Z
|
||||
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
|
||||
?before@type_info@@QBEHABV1@@Z
|
||||
?name@type_info@@QBEPBDXZ
|
||||
?raw_name@type_info@@QBEPBDXZ
|
||||
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
|
||||
?before@type_info@@QEBAHAEBV1@@Z
|
||||
?name@type_info@@QEBAPEBDXZ
|
||||
?raw_name@type_info@@QEBAPEBDXZ
|
||||
?set_new_handler@@YAP6AXXZP6AXXZ@Z
|
||||
?set_terminate@@YAP6AXXZP6AXXZ@Z
|
||||
?set_unexpected@@YAP6AXXZP6AXXZ@Z
|
||||
?terminate@@YAXXZ
|
||||
?unexpected@@YAXXZ
|
||||
?what@exception@@UBEPBDXZ
|
||||
_CIacos
|
||||
_CIasin
|
||||
_CIatan
|
||||
_CIatan2
|
||||
_CIcos
|
||||
_CIcosh
|
||||
_CIexp
|
||||
_CIfmod
|
||||
_CIlog
|
||||
_CIlog10
|
||||
_CIpow
|
||||
_CIsin
|
||||
_CIsinh
|
||||
_CIsqrt
|
||||
_CItan
|
||||
_CItanh
|
||||
?what@exception@@UEBAPEBDXZ
|
||||
_CrtCheckMemory
|
||||
_CrtDbgBreak
|
||||
_CrtDbgReport
|
||||
@ -101,27 +78,33 @@ _CrtSetReportHook
|
||||
_CrtSetReportHook2
|
||||
_CrtSetReportMode
|
||||
_CxxThrowException
|
||||
_EH_prolog
|
||||
_Getdays
|
||||
_Getmonths
|
||||
_Gettnames
|
||||
_HUGE
|
||||
_Strftime
|
||||
_W_Getdays
|
||||
_W_Getmonths
|
||||
_W_Gettnames
|
||||
_Wcsftime
|
||||
_XcptFilter
|
||||
__AdjustPointer
|
||||
__C_specific_handler
|
||||
__CppXcptFilter
|
||||
__CxxCallUnwindDelDtor
|
||||
__CxxCallUnwindDtor
|
||||
__CxxCallUnwindVecDtor
|
||||
__CxxDetectRethrow
|
||||
__CxxExceptionFilter
|
||||
__CxxFrameHandler
|
||||
__CxxFrameHandler2
|
||||
__CxxFrameHandler3
|
||||
__CxxLongjmpUnwind
|
||||
__CxxQueryExceptionSize
|
||||
__CxxRegisterExceptionObject
|
||||
__CxxUnregisterExceptionObject
|
||||
__DestructExceptionObject
|
||||
__ExceptionPtrAssign
|
||||
__ExceptionPtrCompare
|
||||
__ExceptionPtrCopy
|
||||
__ExceptionPtrCopyException
|
||||
__ExceptionPtrCreate
|
||||
__ExceptionPtrCurrentException
|
||||
__ExceptionPtrDestroy
|
||||
__ExceptionPtrRethrow
|
||||
__ExceptionPtrSwap
|
||||
__ExceptionPtrToBool
|
||||
__RTCastToVoid
|
||||
__RTDynamicCast
|
||||
__RTtypeid
|
||||
@ -156,57 +139,7 @@ __lc_codepage
|
||||
__lc_collate_cp
|
||||
__lc_handle
|
||||
__lconv_init
|
||||
__libm_sse2_acos
|
||||
__libm_sse2_acosf
|
||||
__libm_sse2_asin
|
||||
__libm_sse2_asinf
|
||||
__libm_sse2_atan
|
||||
__libm_sse2_atan2
|
||||
__libm_sse2_atanf
|
||||
__libm_sse2_cos
|
||||
__libm_sse2_cosf
|
||||
__libm_sse2_exp
|
||||
__libm_sse2_expf
|
||||
__libm_sse2_log
|
||||
__libm_sse2_log10
|
||||
__libm_sse2_log10f
|
||||
__libm_sse2_logf
|
||||
__libm_sse2_pow
|
||||
__libm_sse2_powf
|
||||
__libm_sse2_sin
|
||||
__libm_sse2_sinf
|
||||
__libm_sse2_tan
|
||||
__libm_sse2_tanf
|
||||
__mb_cur_max
|
||||
__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
|
||||
__pwctype_func
|
||||
@ -228,25 +161,10 @@ __wcserror_s
|
||||
__wcsncnt
|
||||
__wgetmainargs
|
||||
__winitenv
|
||||
_abnormal_termination
|
||||
_abs64
|
||||
_access
|
||||
_access_s
|
||||
_acmdln
|
||||
_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
|
||||
_aexit_rtn
|
||||
_aligned_free
|
||||
_aligned_free_dbg
|
||||
@ -285,7 +203,7 @@ _cgetws_s
|
||||
_chdir
|
||||
_chdrive
|
||||
_chgsign
|
||||
_chkesp
|
||||
_chgsignf
|
||||
_chmod
|
||||
_chsize
|
||||
_chsize_s
|
||||
@ -299,6 +217,7 @@ _control87
|
||||
_controlfp
|
||||
_controlfp_s
|
||||
_copysign
|
||||
_copysignf
|
||||
_cprintf
|
||||
_cprintf_l
|
||||
_cprintf_p
|
||||
@ -308,6 +227,7 @@ _cprintf_s_l
|
||||
_cputs
|
||||
_cputws
|
||||
_creat
|
||||
_create_locale
|
||||
_crtAssertBusy
|
||||
_crtBreakAlloc
|
||||
_crtDbgFlag
|
||||
@ -344,9 +264,6 @@ _endthreadex
|
||||
_environ
|
||||
_eof
|
||||
_errno
|
||||
_except_handler2
|
||||
_except_handler3
|
||||
_except_handler4_common
|
||||
_execl
|
||||
_execle
|
||||
_execlp
|
||||
@ -377,11 +294,12 @@ _findnext
|
||||
_findnext64
|
||||
_findnexti64
|
||||
_finite
|
||||
_finitef
|
||||
_flsbuf
|
||||
_flushall
|
||||
_fmode
|
||||
_fpclass
|
||||
_fpieee_flt
|
||||
_fpclassf
|
||||
_fpreset
|
||||
_fprintf_l
|
||||
_fprintf_p
|
||||
@ -390,6 +308,7 @@ _fprintf_s_l
|
||||
_fputchar
|
||||
_fputwchar
|
||||
_free_dbg
|
||||
_free_locale
|
||||
_freea
|
||||
_freea_s
|
||||
_fscanf_l
|
||||
@ -404,10 +323,6 @@ _ftime32
|
||||
_ftime32_s
|
||||
_ftime64
|
||||
_ftime64_s
|
||||
_ftol
|
||||
_ftol2
|
||||
_ftol2_sse
|
||||
_ftol2_sse_excpt
|
||||
_fullpath
|
||||
_fullpath_dbg
|
||||
_futime
|
||||
@ -421,6 +336,7 @@ _fwscanf_l
|
||||
_fwscanf_s_l
|
||||
_gcvt
|
||||
_gcvt_s
|
||||
_get_current_locale
|
||||
_get_doserrno
|
||||
_get_environ
|
||||
_get_errno
|
||||
@ -443,7 +359,6 @@ _getche
|
||||
_getcwd
|
||||
_getdcwd
|
||||
_getdiskfree
|
||||
_getdllprocaddr
|
||||
_getdrive
|
||||
_getdrives
|
||||
_getmaxstdio
|
||||
@ -454,27 +369,22 @@ _getw
|
||||
_getwch
|
||||
_getwche
|
||||
_getws
|
||||
_global_unwind2
|
||||
_gmtime32
|
||||
_gmtime32_s
|
||||
_gmtime64
|
||||
_gmtime64_s
|
||||
_heapadd
|
||||
_heapchk
|
||||
_heapmin
|
||||
_heapset
|
||||
_heapused
|
||||
_heapwalk
|
||||
_hypot
|
||||
_hypotf
|
||||
_i64toa
|
||||
_i64toa_s
|
||||
_i64tow
|
||||
_i64tow_s
|
||||
_initterm
|
||||
_initterm_e
|
||||
_inp
|
||||
_inpd
|
||||
_inpw
|
||||
_invalid_parameter
|
||||
_iob
|
||||
_isalnum_l
|
||||
@ -546,6 +456,7 @@ _ismbslead_l
|
||||
_ismbstrail
|
||||
_ismbstrail_l
|
||||
_isnan
|
||||
_isnanf
|
||||
_isprint_l
|
||||
_isspace_l
|
||||
_isupper_l
|
||||
@ -572,9 +483,7 @@ _jn
|
||||
_kbhit
|
||||
_lfind
|
||||
_lfind_s
|
||||
_loaddll
|
||||
_local_unwind2
|
||||
_local_unwind4
|
||||
_local_unwind
|
||||
_localtime32
|
||||
_localtime32_s
|
||||
_localtime64
|
||||
@ -582,7 +491,7 @@ _localtime64_s
|
||||
_lock
|
||||
_locking
|
||||
_logb
|
||||
_longjmpex
|
||||
_logbf
|
||||
_lrotl
|
||||
_lrotr
|
||||
_lsearch
|
||||
@ -746,16 +655,14 @@ _mktemp_s
|
||||
_mktime32
|
||||
_mktime64
|
||||
_msize
|
||||
_msize_debug
|
||||
_msize_dbg
|
||||
_nextafter
|
||||
_nextafterf
|
||||
_onexit
|
||||
_open
|
||||
_open_osfhandle
|
||||
_osplatform
|
||||
_osver
|
||||
_outp
|
||||
_outpd
|
||||
_outpw
|
||||
_pclose
|
||||
_pctype
|
||||
_pgmptr
|
||||
@ -782,11 +689,8 @@ _rotl
|
||||
_rotl64
|
||||
_rotr
|
||||
_rotr64
|
||||
_safe_fdiv
|
||||
_safe_fdivr
|
||||
_safe_fprem
|
||||
_safe_fprem1
|
||||
_scalb
|
||||
_scalbf
|
||||
_scanf_l
|
||||
_scanf_s_l
|
||||
_scprintf
|
||||
@ -797,9 +701,6 @@ _scwprintf_l
|
||||
_scwprintf_p_l
|
||||
_searchenv
|
||||
_searchenv_s
|
||||
_seh_longjmp_unwind
|
||||
_seh_longjmp_unwind4
|
||||
_set_SSE2_enable
|
||||
_set_controlfp
|
||||
_set_doserrno
|
||||
_set_errno
|
||||
@ -810,7 +711,7 @@ _set_output_format
|
||||
_set_sbh_threshold
|
||||
_seterrormode
|
||||
_setjmp
|
||||
_setjmp3
|
||||
_setjmpex
|
||||
_setmaxstdio
|
||||
_setmbcp
|
||||
_setmode
|
||||
@ -934,7 +835,6 @@ _umask_s
|
||||
_ungetch
|
||||
_ungetwch
|
||||
_unlink
|
||||
_unloaddll
|
||||
_unlock
|
||||
_utime
|
||||
_utime32
|
||||
@ -1027,6 +927,7 @@ _wcsnset_s
|
||||
_wcsrev
|
||||
_wcsset
|
||||
_wcsset_s
|
||||
_wcstod_l
|
||||
_wcstoi64
|
||||
_wcstoi64_l
|
||||
_wcstol_l
|
||||
@ -1146,11 +1047,15 @@ _yn
|
||||
abort
|
||||
abs
|
||||
acos
|
||||
acosf
|
||||
asctime
|
||||
asctime_s
|
||||
asin
|
||||
asinf
|
||||
atan
|
||||
atan2
|
||||
atan2f
|
||||
atanf
|
||||
atexit
|
||||
atof
|
||||
atoi
|
||||
@ -1160,16 +1065,20 @@ bsearch_s
|
||||
btowc
|
||||
calloc
|
||||
ceil
|
||||
ceilf
|
||||
clearerr
|
||||
clearerr_s
|
||||
clock
|
||||
cos
|
||||
cosf
|
||||
cosh
|
||||
coshf
|
||||
ctime
|
||||
difftime
|
||||
div
|
||||
exit
|
||||
exp
|
||||
expf
|
||||
fabs
|
||||
fclose
|
||||
feof
|
||||
@ -1181,7 +1090,9 @@ fgets
|
||||
fgetwc
|
||||
fgetws
|
||||
floor
|
||||
floorf
|
||||
fmod
|
||||
fmodf
|
||||
fopen
|
||||
fopen_s
|
||||
fprintf
|
||||
@ -1246,6 +1157,8 @@ localeconv
|
||||
localtime
|
||||
log
|
||||
log10
|
||||
log10f
|
||||
logf
|
||||
longjmp
|
||||
malloc
|
||||
mblen
|
||||
@ -1266,8 +1179,10 @@ memmove_s
|
||||
memset
|
||||
mktime
|
||||
modf
|
||||
modff
|
||||
perror
|
||||
pow
|
||||
powf
|
||||
printf
|
||||
printf_s
|
||||
putc
|
||||
@ -1287,14 +1202,18 @@ rewind
|
||||
scanf
|
||||
scanf_s
|
||||
setbuf
|
||||
setjmp
|
||||
setlocale
|
||||
setvbuf
|
||||
signal
|
||||
sin
|
||||
sinf
|
||||
sinh
|
||||
sinhf
|
||||
sprintf
|
||||
sprintf_s
|
||||
sqrt
|
||||
sqrtf
|
||||
srand
|
||||
sscanf
|
||||
sscanf_s
|
||||
@ -1332,7 +1251,9 @@ swscanf
|
||||
swscanf_s
|
||||
system
|
||||
tan
|
||||
tanf
|
||||
tanh
|
||||
tanhf
|
||||
time
|
||||
tmpfile
|
||||
tmpfile_s
|
||||
|
Loading…
Reference in New Issue
Block a user