glibc/stdlib
Aurelien Jarno 4406c41c1d Fix strtold on 32-bit sparc (and probably others) (BZ #16965)
This patch fixes an issue observed running the tst-strtod-round test on
32 bit sparc. In some conditions, strtold calls round_and_return, which in
turn calls __mpn_rshift with cnt = 0, while stdlib/rshift.c explicitly says
that cnts should satisfy 0 < CNT < BITS_PER_MP_LIMB. In this case, the code
end up doing a logical shift right of the same amount than the register,
which is undefined in the C standard.

Due to this bug, 32-bit sparc does not correctly convert the value
"0x1p-16446", but it is likely that other architectures are also
affected for other input values.
2014-05-20 18:44:28 +02:00
..
bits
sys
Depend
Makefile Use existing makefile variables for dependencies on glibc libraries. 2014-05-16 21:38:08 +00:00
Versions
a64l.c
abort.c
abs.c
add_n.c
addmul_1.c
alloca.h
at_quick_exit.c
atexit.c
atof.c
atoi.c
atol.c
atoll.c
bsearch.c
bug-fmtmsg1.c
bug-getcontext.c
bug-strtod.c
bug-strtod2.c
canonicalize.c
cmp.c
cxa_at_quick_exit.c
cxa_atexit.c
cxa_finalize.c
cxa_thread_atexit_impl.c
dbl2mpn.c
div.c
divmod_1.c
divrem.c
drand48-iter.c
drand48.c
drand48_r.c
erand48.c
erand48_r.c
errno.h
exit.c
exit.h
fmtmsg.c
fmtmsg.h
fpioconst.c
fpioconst.h
gen-fpioconst.c
gen-tst-strtod-round.c
getcontext.c
getenv.c
getsubopt.c
gmp-impl.h stdlib/gmp-impl.h: Silence -Wundef warning for USE_STACK_ALLOC 2014-05-14 14:11:48 +01:00
gmp.h
grouping.c
grouping.h
groupingwc.c
inlines.c
isomac.c
jrand48.c
jrand48_r.c
l64a.c
labs.c
lcong48.c
lcong48_r.c
ldbl2mpn.c
ldiv.c
llabs.c
lldiv.c
longlong.h 2014-05-01 Steve Ellcey <sellcey@mips.com> 2014-05-01 10:09:04 -07:00
lrand48.c
lrand48_r.c
lshift.c
makecontext.c
mblen.c
mbstowcs.c
mbtowc.c
mod_1.c
monetary.h
mp_clz_tab.c
mpn2dbl.c
mpn2flt.c
mpn2ldbl.c
mrand48.c
mrand48_r.c
msort.c
mul.c
mul_1.c
mul_n.c
nrand48.c
nrand48_r.c
old_atexit.c
on_exit.c
putenv.c
qsort.c
quick_exit.c
rand.c
rand_r.c
random.c
random_r.c
rpmatch.c
rshift.c
secure-getenv.c
seed48.c
seed48_r.c
setcontext.c
setenv.c
srand48.c
srand48_r.c
stdlib.h
strfmon.c
strfmon_l.c
strtod.c
strtod_l.c Fix strtold on 32-bit sparc (and probably others) (BZ #16965) 2014-05-20 18:44:28 +02:00
strtof.c
strtof_l.c
strtoimax.c
strtol.c
strtol_l.c
strtold.c
strtold_l.c
strtoll.c
strtoll_l.c
strtoul.c
strtoul_l.c
strtoull.c
strtoull_l.c
strtoumax.c
sub_n.c
submul_1.c
swapcontext.c
system.c
tens_in_limb.c
test-a64l.c
test-canon.c
test-canon2.c
testdiv.c
testdiv.input
testmb.c
testmb2.c
testrand.c
testsort.c
tst-atof1.c
tst-atof2.c
tst-bsearch.c
tst-environ.c
tst-fmtmsg.c
tst-fmtmsg.sh
tst-limits.c
tst-makecontext.c
tst-makecontext2.c
tst-makecontext3.c
tst-putenv.c
tst-putenvmod.c
tst-qsort.c
tst-qsort2.c
tst-rand48-2.c
tst-rand48.c
tst-random.c
tst-random2.c
tst-secure-getenv.c
tst-setcontext.c stdlib/tst-setcontext.c: Check for clobbering of signal stack 2014-04-17 11:39:50 +01:00
tst-strtod-overflow.c
tst-strtod-round-data
tst-strtod-round.c
tst-strtod-underflow.c
tst-strtod.c
tst-strtod2.c
tst-strtod3.c
tst-strtod4.c
tst-strtod5.c
tst-strtod6.c
tst-strtol.c
tst-strtoll.c
tst-system.c
tst-tininess.c
tst-tls-atexit-lib.c
tst-tls-atexit.c
tst-unsetenv1.c
tst-xpg-basename.c
ucontext.h
udiv_qrnnd.c
wcstoimax.c
wcstombs.c
wcstoumax.c
wctomb.c
xpg_basename.c