From eae188745b05192276ce9ce8cb5234eb26b75f2e Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Tue, 26 Aug 2008 17:21:02 +0000 Subject: [PATCH] - Move fdiv pentium bug function stubs to another file. - Exclude platform-independent CI math function stubs when compiling x86 target. Should finally fix bug 1255. See issue #1255 for more details. svn path=/trunk/; revision=35677 --- reactos/lib/sdk/crt/crt.rbuild | 3 +- reactos/lib/sdk/crt/math/fdivbug.c | 89 ++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 reactos/lib/sdk/crt/math/fdivbug.c diff --git a/reactos/lib/sdk/crt/crt.rbuild b/reactos/lib/sdk/crt/crt.rbuild index 56c2e9491ef..771ca4b4d0c 100644 --- a/reactos/lib/sdk/crt/crt.rbuild +++ b/reactos/lib/sdk/crt/crt.rbuild @@ -86,6 +86,7 @@ cabs.c cosh.c div.c + fdivbug.c frexp.c huge_val.c hypot.c @@ -97,7 +98,6 @@ rand.c s_modf.c sinh.c - stubs.c tanh.c pow_asm.c @@ -114,6 +114,7 @@ + stubs.c diff --git a/reactos/lib/sdk/crt/math/fdivbug.c b/reactos/lib/sdk/crt/math/fdivbug.c new file mode 100644 index 00000000000..d790eefc9a4 --- /dev/null +++ b/reactos/lib/sdk/crt/math/fdivbug.c @@ -0,0 +1,89 @@ +#include +#include + +/* The following functions are likely workarounds for the pentium fdiv bug */ +void __stdcall _adj_fdiv_m32( unsigned int arg ) +{ + FIXME("_adj_fdiv_m32 stub\n"); +} +void __stdcall _adj_fdiv_m32i( int arg ) +{ + FIXME("_adj_fdiv_m32i stub\n"); +} + +void __stdcall _adj_fdiv_m64( unsigned __int64 arg ) +{ + FIXME("_adj_fdiv_m64 stub\n"); +} + +void _adj_fdiv_r(void) +{ + FIXME("_adj_fdiv_r stub\n"); +} + +void __stdcall _adj_fdivr_m32( unsigned int arg ) +{ + FIXME("_adj_fdivr_m32i stub\n"); +} + +void __stdcall _adj_fdivr_m32i( int arg ) +{ + FIXME("_adj_fdivr_m32i stub\n"); +} + +void __stdcall _adj_fdivr_m64( unsigned __int64 arg ) +{ + FIXME("_adj_fdivr_m64 stub\n"); +} + +void _adj_fpatan(void) +{ + FIXME("_adj_fpatan stub\n"); +} + +void __stdcall _adj_fdiv_m16i( short arg ) +{ + FIXME("_adj_fdiv_m16i stub\n"); +} + +void __stdcall _adj_fdivr_m16i( short arg ) +{ + FIXME("_adj_fdivr_m16i stub\n"); +} + +void _adj_fprem(void) +{ + FIXME("_adj_fprem stub\n"); +} + +void _adj_fprem1(void) +{ + FIXME("_adj_fprem1 stub\n"); +} + +void _adj_fptan(void) +{ + FIXME("_adj_fptan stub\n"); +} + +void _safe_fdiv(void) +{ + FIXME("_safe_fdiv stub\n"); +} + +void _safe_fdivr(void) +{ + FIXME("_safe_fdivr stub\n"); +} + +void _safe_fprem(void) +{ + FIXME("_safe_fprem stub\n"); +} + +void _safe_fprem1(void) +{ + FIXME("_safe_fprem1 stub\n"); +} + +