diff options
author | Liu Hao <lh_mouse@126.com> | 2020-08-30 13:56:31 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2020-08-30 14:27:43 +0200 |
commit | 0e6690a92ccda8b2d6a759bc1649c6160137d170 (patch) | |
tree | 8dda4fef3bb19e67c0188131ae198e79efae7c7a /winsup | |
parent | ec9734dbb5f7be24d9ea9cc5873d98d2b29087d4 (diff) | |
download | newlib-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.c | 4 |
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 |