From 4406c41c1d6088abf01c216e49700cd3f8f01fcc Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 20 May 2014 14:41:44 +0200 Subject: 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. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index d9ce8f9af8..8aaf2f4cb5 100644 --- a/NEWS +++ b/NEWS @@ -18,7 +18,7 @@ Version 2.20 16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16849, 16854, 16876, 16877, 16885, 16888, 16890, 16912, 16915, 16916, 16917, 16922, 16927, 16928, 16932, 16943, 16958, 16966, - 16967. + 16967, 16965. * The minimum Linux kernel version that this version of the GNU C Library can be used with is 2.6.32. -- cgit v1.2.3