aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorLiu Hao <lh_mouse@126.com>2020-08-30 13:56:31 +0200
committerCorinna Vinschen <corinna@vinschen.de>2020-08-30 14:27:43 +0200
commit0e6690a92ccda8b2d6a759bc1649c6160137d170 (patch)
tree8dda4fef3bb19e67c0188131ae198e79efae7c7a /winsup
parentec9734dbb5f7be24d9ea9cc5873d98d2b29087d4 (diff)
downloadnewlib-0e6690a92ccda8b2d6a759bc1649c6160137d170.zip
newlib-0e6690a92ccda8b2d6a759bc1649c6160137d170.tar.gz
newlib-0e6690a92ccda8b2d6a759bc1649c6160137d170.tar.bz2
Cygwin: math/modfl.c: Fix segment faults in modfl().
Reference: https://sourceforge.net/p/mingw-w64/bugs/478/ Signed-off-by: Liu Hao <lh_mouse@126.com>
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/math/modfl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/math/modfl.c b/winsup/cygwin/math/modfl.c
index af75a8b..ef1ab16 100644
--- a/winsup/cygwin/math/modfl.c
+++ b/winsup/cygwin/math/modfl.c
@@ -21,7 +21,7 @@ modfl (long double value, long double* iptr)
"fldcw (%%rsp)\n"
"frndint\n"
"fldcw 4(%%rsp)\n"
- "addq $8, %%rsp\n" : "=t" (int_part) : "0" (value)); /* round */
+ "addq $8, %%rsp\n" : "=t" (int_part) : "0" (value) : "eax"); /* round */
#elif defined(_X86_) || defined(__i386__)
asm ("push %%eax\n\tsubl $8, %%esp\n"
"fnstcw 4(%%esp)\n"
@@ -31,7 +31,7 @@ modfl (long double value, long double* iptr)
"fldcw (%%esp)\n"
"frndint\n"
"fldcw 4(%%esp)\n"
- "addl $8, %%esp\n\tpop %%eax\n" : "=t" (int_part) : "0" (value)); /* round */
+ "addl $8, %%esp\n\tpop %%eax\n" : "=t" (int_part) : "0" (value) : "eax"); /* round */
#else
int_part = truncl(value);
#endif