mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
FIx ldbl-128ibm frexpl for 32-bit systems (bug 16619, bug 16740).
This patch fixes bugs in ldbl-128ibm frexpl for 32-bit systems shown up by warnings: ../sysdeps/ieee754/ldbl-128ibm/s_frexpl.c:82:4: warning: left shift count >= width of type ../sysdeps/ieee754/ldbl-128ibm/s_frexpl.c:129:5: warning: left shift count >= width of type This did in fact show up in test-ldouble.out (alongside all the other problems there ... maybe we should again consider running the libm tests at finer granularity from the makefiles) as already covered by the testsuite after the previous patch that fixed these bugs for 64-bit systems. The fix is simply using 1LL instead of 1L when shifting by 52. Tested for powerpc32 (soft float). [BZ #16619] [BZ #16740] * sysdeps/ieee754/ldbl-128ibm/s_frexpl.c (__frexpl): Use 1LL << 52 instead of 1L << 52.
This commit is contained in:
parent
12da14a591
commit
706688aaef
@ -1,5 +1,10 @@
|
||||
2014-11-26 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #16619]
|
||||
[BZ #16740]
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_frexpl.c (__frexpl): Use 1LL << 52
|
||||
instead of 1L << 52.
|
||||
|
||||
* libio/bug-rewind.c (do_test): Check fwscanf return values.
|
||||
* libio/bug-rewind2.c (do_test): Likewise.
|
||||
|
||||
|
8
NEWS
8
NEWS
@ -9,10 +9,10 @@ Version 2.21
|
||||
|
||||
* The following bugs are resolved with this release:
|
||||
|
||||
6652, 12926, 14132, 14138, 14171, 14498, 15215, 15884, 16469, 17266,
|
||||
17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506,
|
||||
17508, 17522, 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583,
|
||||
17584, 17585, 17589, 17594, 17608, 17616, 17625, 17633.
|
||||
6652, 12926, 14132, 14138, 14171, 14498, 15215, 15884, 16469, 16619,
|
||||
16740, 17266, 17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485,
|
||||
17501, 17506, 17508, 17522, 17555, 17570, 17571, 17572, 17573, 17574,
|
||||
17582, 17583, 17584, 17585, 17589, 17594, 17608, 17616, 17625, 17633.
|
||||
|
||||
* CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
|
||||
under certain input conditions resulting in the execution of a shell for
|
||||
|
@ -79,7 +79,7 @@ long double __frexpl(long double x, int *eptr)
|
||||
if (ix == 0
|
||||
&& (int64_t) (hx ^ lx) < 0)
|
||||
{
|
||||
hx += 1L << 52;
|
||||
hx += 1LL << 52;
|
||||
expon -= 1;
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ long double __frexpl(long double x, int *eptr)
|
||||
be wrong since the returned low double will be
|
||||
zero. This can happen if the input was
|
||||
something weird like 0x1p1000 - 0x1p-1000. */
|
||||
hx -= 1L << 52;
|
||||
hx -= 1LL << 52;
|
||||
expon += 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user