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 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sys
a64l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
abort.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
abs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
add_n.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
addmul_1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
alloca.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
at_quick_exit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atexit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atof.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atoi.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atol.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
atoll.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsearch.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bug-fmtmsg1.c Fix locking problem in fmtmsg 2012-01-16 09:03:20 -05:00
bug-getcontext.c Fix bug-getcontext test 2012-07-16 18:46:40 +02:00
bug-strtod2.c
bug-strtod.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
canonicalize.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
cmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
cxa_at_quick_exit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
cxa_atexit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
cxa_finalize.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
cxa_thread_atexit_impl.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dbl2mpn.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Depend
div.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
divmod_1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
divrem.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
drand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
drand48-iter.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
drand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
erand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
erand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
errno.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
exit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
exit.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fmtmsg.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fmtmsg.h Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
fpioconst.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fpioconst.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gen-fpioconst.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gen-tst-strtod-round.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getcontext.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
getsubopt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gmp-impl.h stdlib/gmp-impl.h: Silence -Wundef warning for USE_STACK_ALLOC 2014-05-14 14:11:48 +01:00
gmp.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
grouping.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
grouping.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
groupingwc.c
inlines.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
isomac.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
jrand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
jrand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
l64a.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
labs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lcong48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lcong48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ldbl2mpn.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
ldiv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
llabs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lldiv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
longlong.h 2014-05-01 Steve Ellcey <sellcey@mips.com> 2014-05-01 10:09:04 -07:00
lrand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lrand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
lshift.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
makecontext.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Makefile Use existing makefile variables for dependencies on glibc libraries. 2014-05-16 21:38:08 +00:00
mblen.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mbstowcs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mbtowc.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mod_1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
monetary.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mp_clz_tab.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mpn2dbl.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mpn2flt.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mpn2ldbl.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
mrand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mrand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
msort.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mul_1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mul_n.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mul.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nrand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nrand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
old_atexit.c
on_exit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
putenv.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
qsort.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
quick_exit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rand_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rand.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
random_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
random.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rpmatch.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rshift.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
secure-getenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
seed48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
seed48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setcontext.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setenv.c Remove unused variable from stdlib/setenv.c 2014-02-11 12:43:49 +01:00
srand48_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
srand48.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stdlib.h Complete _BSD_SOURCE / _SVID_source followup cleanup. 2014-02-21 21:45:26 +00:00
strfmon_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strfmon.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtod_l.c Fix strtold on 32-bit sparc (and probably others) (BZ #16965) 2014-05-20 18:44:28 +02:00
strtod.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtof_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtof.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoimax.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
strtol_l.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
strtol.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtold_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtold.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoll_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoll.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoul_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoul.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoull_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoull.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtoumax.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
sub_n.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
submul_1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
swapcontext.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
system.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tens_in_limb.c * stdlib/Makefile (aux): Add tens_in_limb. 2008-03-08 04:18:31 +00:00
test-a64l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-canon2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-canon.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testdiv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testdiv.input
testmb2.c
testmb.c
testrand.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testsort.c
tst-atof1.c * stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand 2006-12-11 21:43:56 +00:00
tst-atof2.c [BZ #3673] 2006-12-10 01:11:45 +00:00
tst-bsearch.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-environ.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-fmtmsg.c
tst-fmtmsg.sh Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-limits.c
tst-makecontext2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-makecontext3.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-makecontext.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-putenv.c
tst-putenvmod.c
tst-qsort2.c 2007-10-04 Jakub Jelinek 2007-10-05 06:50:35 +00:00
tst-qsort.c
tst-rand48-2.c [BZ #3747] 2006-12-19 08:18:18 +00:00
tst-rand48.c [BZ #3747] 2006-12-19 08:18:18 +00:00
tst-random2.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-random.c
tst-secure-getenv.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-setcontext.c stdlib/tst-setcontext.c: Check for clobbering of signal stack 2014-04-17 11:39:50 +01:00
tst-strtod2.c * stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t 2007-08-01 03:44:35 +00:00
tst-strtod3.c * stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand 2006-12-11 21:43:56 +00:00
tst-strtod4.c Include errno.h. Change main() to do_test(). Define TEST_FUNCTION. Include test-skeleton.c. (do_test): Check errno and exit(0) if ENOSYS. 2007-01-11 21:51:00 +00:00
tst-strtod5.c * stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0. 2007-08-03 16:45:47 +00:00
tst-strtod6.c [BZ #15522] strtod ("nan(N)") returning a sNaN in some cases 2013-08-29 12:22:10 +02:00
tst-strtod-overflow.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-strtod-round-data Fix strtod rounding of half the least subnormal (bug 16151). 2013-11-13 12:59:54 +00:00
tst-strtod-round.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-strtod-underflow.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-strtod.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-strtol.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
tst-strtoll.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
tst-system.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-tininess.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-tls-atexit-lib.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-tls-atexit.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-unsetenv1.c * stdlib/Makefile (tests): Add tst-unsetenv1. 2008-12-02 02:27:43 +00:00
tst-xpg-basename.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ucontext.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
udiv_qrnnd.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
Versions C++11 thread_local destructors support 2013-02-18 19:08:21 +05:30
wcstoimax.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
wcstombs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcstoumax.c Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
wctomb.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
xpg_basename.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00