[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r21852 - in /fsf/trunk/libc: ./ localedata/ localedata/locales/ math/ ports/ ports/sysdeps/aarch64/ ports/sysdeps/unix/sysv/...



Author: eglibc
Date: Fri Nov 23 00:02:24 2012
New Revision: 21852

Log:
Import glibc-mainline for 2012-11-23

Added:
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/locales/niu_NU
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/ports/ChangeLog.aarch64
    fsf/trunk/libc/ports/ChangeLog.mips
    fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps
    fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
    fsf/trunk/libc/sysdeps/generic/unwind-dw2-fde-glibc.c
    fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_atanl.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
    fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_fmal.c
    fsf/trunk/libc/sysdeps/x86_64/multiarch/test-multiarch.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Nov 23 00:02:24 2012
@@ -1,3 +1,56 @@
+2012-11-22  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* math/libm-test.inc (fma_test_towardzero) [TEST_LDOUBLE &&
+	LDBL_MANT_DIG == 106]: Disable some tests.
+	(fma_test_downward) [TEST_LDOUBLE && LDBL_MANT_DIG == 106]:
+	Likewise.
+	(fma_test_upward) [TEST_LDOUBLE && LDBL_MANT_DIG == 106]:
+	Likewise.
+
+	[BZ #14871]
+	* sysdeps/ieee754/ldbl-128ibm/s_atanl.c (__atanl): Return the
+	input for small inputs.  Return +/- pi/2 for large inputs.
+	* math/libm-test.inc (atan_test): Add more tests.
+
+	* sysdeps/generic/unwind-dw2-fde-glibc.c
+	(_Unwind_IteratePhdrCallback): Declare P_DYNAMIC with
+	__attribute__ ((unused)).
+
+	[BZ #14645]
+	* sysdeps/ieee754/ldbl-128ibm/s_fmal.c (__fmal): Compute result as
+	x * y if x and y are nonzero and z is zero.
+
+	[BZ #14811]
+	* sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Saturate
+	nonzero exponents with absolute value below 0x1p-117 to +/-
+	0x1p-117.
+
+	[BZ #14869]
+	* sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Scale
+	up arguments below 2**-450, not just those below 2**-500.
+	* math/libm-test.inc (hypot_test): Add another test.
+
+	[BZ #14868]
+	* sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl):
+	Return a+b for ratio over 2**120, not 2**60.
+	* math/libm-test.inc (hypot_test): Add another test.
+
+	* math/libm-test.inc (clog_test): Use
+	UNDERFLOW_EXCEPTION_LDOUBLE_IBM on two tests.
+	(clog10_test): Likewise.
+
+	[BZ #6778]
+	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (big): Change to 1e290L.
+
+2012-11-22  Andreas Schwab  <schwab@xxxxxxx>
+
+	* sysdeps/i386/fpu/libm-test-ulps: Update.
+
+2012-11-22  Pino Toscano  <toscano.pino@xxxxxxxxxx>
+
+	* sysdeps/x86_64/multiarch/test-multiarch.c (get_cpuinfo): Terminate
+	printf output with newline.
+
 2012-11-21  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
 	[BZ #14865]

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Nov 23 00:02:24 2012
@@ -20,8 +20,8 @@
   14562, 14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621,
   14638, 14645, 14648, 14652, 14660, 14661, 14669, 14672, 14683, 14694,
   14716, 14719, 14743, 14767, 14783, 14784, 14785, 14793, 14796, 14797,
-  14801, 14805, 14807, 14809, 14811, 14815, 14821, 14824, 14828, 14831,
-  14835, 14838, 14856, 14863, 14865, 14866.
+  14801, 14805, 14807, 14809, 14811, 14815, 14821, 14822, 14824, 14828,
+  14831, 14835, 14838, 14856, 14863, 14865, 14866, 14868, 14869, 14871.
 
 * Port to ARM AArch64 contributed by Linaro.
 

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Fri Nov 23 00:02:24 2012
@@ -1,3 +1,7 @@
+2012-11-22  Andreas Jaeger  <aj@xxxxxxx>
+
+	* locales/niu_NU: Fix comment.
+
 2012-11-21  Andreas Jaeger  <aj@xxxxxxx>
 
 	* locales/szl_PL (LC_COLLATE): Fix syntax error.

Modified: fsf/trunk/libc/localedata/locales/niu_NU
==============================================================================
--- fsf/trunk/libc/localedata/locales/niu_NU (original)
+++ fsf/trunk/libc/localedata/locales/niu_NU Fri Nov 23 00:02:24 2012
@@ -14,7 +14,7 @@
 revision     "1.0"
 date         "2012-07-18"
 %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%localedef  -i locales/niu_NU -c -f charmaps/UTF-8 ./NIU_NU.UTF-8
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 % Niuean, Vagahau Niue language locale for Niue
 %

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Fri Nov 23 00:02:24 2012
@@ -1195,6 +1195,14 @@
 
   TEST_f_f (atan, 0.75L, 0.643501108793284386802809228717322638L);
 
+  TEST_f_f (atan, 0x1p-100L, 0x1p-100L);
+#ifndef TEST_FLOAT
+  TEST_f_f (atan, 0x1p-600L, 0x1p-600L);
+#endif
+#if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
+  TEST_f_f (atan, 0x1p-10000L, 0x1p-10000L);
+#endif
+
   END (atan);
 }
 
@@ -2518,12 +2526,12 @@
 #endif
 #if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
   TEST_c_c (clog, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-60L, 9.868649107778739757272772275265050767867e-19L, 9.868649106423871142816660980898339912137e-19L);
-  TEST_c_c (clog, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-1000L, 9.868649107778739752403260515979017248596e-19L, 1.061846605795612822522063052130030717368e-301L);
+  TEST_c_c (clog, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-1000L, 9.868649107778739752403260515979017248596e-19L, 1.061846605795612822522063052130030717368e-301L, UNDERFLOW_EXCEPTION_LDOUBLE_IBM);
 #endif
 
   TEST_c_c (clog, 0x0.ffffffp0L, 0x0.ffffffp-100L, -5.960464655174753498633255797994360530379e-8L, 7.888609052210118054117285652827862296732e-31L);
 #ifndef TEST_FLOAT
-  TEST_c_c (clog, 0x0.fffffffffffff8p0L, 0x0.fffffffffffff8p-1000L, -1.110223024625156602053389888482372171810e-16L, 9.332636185032188789900895447238171696171e-302L);
+  TEST_c_c (clog, 0x0.fffffffffffff8p0L, 0x0.fffffffffffff8p-1000L, -1.110223024625156602053389888482372171810e-16L, 9.332636185032188789900895447238171696171e-302L, UNDERFLOW_EXCEPTION_LDOUBLE_IBM);
 #endif
 #if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
   TEST_c_c (clog, 0x0.ffffffffffffffffp0L, 0x0.ffffffffffffffffp-15000L, -5.421010862427522170184200798202494495630e-20L, 3.548665303440282824232502561095699343814e-4516L);
@@ -2738,12 +2746,12 @@
 #endif
 #if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
   TEST_c_c (clog10, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-60L, 4.285899851347756188767674032946882584784e-19L, 4.285899850759344225805480528847018395861e-19L);
-  TEST_c_c (clog10, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-1000L, 4.285899851347756186652871946325962330640e-19L, 4.611541215247321502041995872887317363241e-302L);
+  TEST_c_c (clog10, 0x1.00000000000000123456789abcp0L, 0x1.23456789p-1000L, 4.285899851347756186652871946325962330640e-19L, 4.611541215247321502041995872887317363241e-302L, UNDERFLOW_EXCEPTION_LDOUBLE_IBM);
 #endif
 
   TEST_c_c (clog10, 0x0.ffffffp0L, 0x0.ffffffp-100L, -2.588596909321764128428416045209904492216e-8L, 3.425979381266895667295625489912064603415e-31L);
 #ifndef TEST_FLOAT
-  TEST_c_c (clog10, 0x0.fffffffffffff8p0L, 0x0.fffffffffffff8p-1000L, -4.821637332766435821255375046554377090472e-17L, 4.053112396770095089737411317782466262176e-302L);
+  TEST_c_c (clog10, 0x0.fffffffffffff8p0L, 0x0.fffffffffffff8p-1000L, -4.821637332766435821255375046554377090472e-17L, 4.053112396770095089737411317782466262176e-302L, UNDERFLOW_EXCEPTION_LDOUBLE_IBM);
 #endif
 #if defined TEST_LDOUBLE && LDBL_MIN_EXP <= -16381
   TEST_c_c (clog10, 0x0.ffffffffffffffffp0L, 0x0.ffffffffffffffffp-15000L, -2.354315103889861110220423157644627849164e-20L, 1.541165759405643564697852372112893034397e-4516L);
@@ -4889,6 +4897,7 @@
       TEST_fff_f (fma, -min_value, -min_value, plus_zero, plus_zero, UNDERFLOW_EXCEPTION);
       TEST_fff_f (fma, -min_value, -min_value, minus_zero, plus_zero, UNDERFLOW_EXCEPTION);
 
+#if !(defined TEST_LDOUBLE && LDBL_MANT_DIG == 106) /* Bug 13304.  */
       TEST_fff_f (fma, max_value, max_value, min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, max_value, -min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, -max_value, min_value, -max_value, OVERFLOW_EXCEPTION);
@@ -4897,6 +4906,7 @@
       TEST_fff_f (fma, -max_value, max_value, -min_value, -max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, -min_value, max_value, OVERFLOW_EXCEPTION);
+#endif
 
 #if defined (TEST_FLOAT) && FLT_MANT_DIG == 24
       TEST_fff_f (fma, 0x1.4p-126, 0x1.000004p-1, 0x1p-128, 0x1.c00004p-127, UNDERFLOW_EXCEPTION);
@@ -5107,6 +5117,7 @@
       TEST_fff_f (fma, -min_value, -min_value, plus_zero, plus_zero, UNDERFLOW_EXCEPTION);
       TEST_fff_f (fma, -min_value, -min_value, minus_zero, plus_zero, UNDERFLOW_EXCEPTION);
 
+#if !(defined TEST_LDOUBLE && LDBL_MANT_DIG == 106) /* Bug 13304.  */
       TEST_fff_f (fma, max_value, max_value, min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, max_value, -min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, -max_value, min_value, minus_infty, OVERFLOW_EXCEPTION);
@@ -5115,6 +5126,7 @@
       TEST_fff_f (fma, -max_value, max_value, -min_value, minus_infty, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, min_value, max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, -min_value, max_value, OVERFLOW_EXCEPTION);
+#endif
 
 #if defined (TEST_FLOAT) && FLT_MANT_DIG == 24
       TEST_fff_f (fma, 0x1.4p-126, 0x1.000004p-1, 0x1p-128, 0x1.c00004p-127, UNDERFLOW_EXCEPTION);
@@ -5325,6 +5337,7 @@
       TEST_fff_f (fma, -min_value, -min_value, plus_zero, min_subnorm_value, UNDERFLOW_EXCEPTION);
       TEST_fff_f (fma, -min_value, -min_value, minus_zero, min_subnorm_value, UNDERFLOW_EXCEPTION);
 
+#if !(defined TEST_LDOUBLE && LDBL_MANT_DIG == 106) /* Bug 13304.  */
       TEST_fff_f (fma, max_value, max_value, min_value, plus_infty, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, max_value, -min_value, plus_infty, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, max_value, -max_value, min_value, -max_value, OVERFLOW_EXCEPTION);
@@ -5333,6 +5346,7 @@
       TEST_fff_f (fma, -max_value, max_value, -min_value, -max_value, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, min_value, plus_infty, OVERFLOW_EXCEPTION);
       TEST_fff_f (fma, -max_value, -max_value, -min_value, plus_infty, OVERFLOW_EXCEPTION);
+#endif
 
 #if defined (TEST_FLOAT) && FLT_MANT_DIG == 24
       TEST_fff_f (fma, 0x1.4p-126, 0x1.000004p-1, 0x1p-128, 0x1.c00008p-127, UNDERFLOW_EXCEPTION);
@@ -5730,6 +5744,11 @@
 
   TEST_ff_f (hypot, 0.75L, 1.25L, 1.45773797371132511771853821938639577L);
 
+  TEST_ff_f (hypot, 1.0L, 0x1p-61L, 1.0L);
+#if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
+  TEST_ff_f (hypot, 0x1.23456789abcdef0123456789ab8p-500L, 0x1.23456789abcdef0123456789ab8p-500L, 4.9155782399407039128612180934736799735113e-151L);
+#endif
+
 #if !(defined TEST_FLOAT && defined TEST_INLINE)
   TEST_ff_f (hypot, 0x3p125L, 0x4p125L, 0x5p125L);
   TEST_ff_f (hypot, 0x1.234566p-126L, 0x1.234566p-126L, 1.891441686191081936598531534017449451173e-38L);

Modified: fsf/trunk/libc/ports/ChangeLog.aarch64
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.aarch64 (original)
+++ fsf/trunk/libc/ports/ChangeLog.aarch64 Fri Nov 23 00:02:24 2012
@@ -1,3 +1,7 @@
+2012-11-22  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
+
+	* sysdeps/aarch64/libm-test-ulps: Regenerate.
+
 2012-11-21  Marcus Shawcroft  <marcus.shawcroft@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/aarch64/nptl/lowlevellock.h

Modified: fsf/trunk/libc/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/libc/ports/ChangeLog.mips (original)
+++ fsf/trunk/libc/ports/ChangeLog.mips Fri Nov 23 00:02:24 2012
@@ -1,3 +1,11 @@
+2012-11-22  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14822]
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
+	(sendfile): New syscall entry.
+	* sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c: New file.
+	Copy of ../sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c.
+
 2012-11-21  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/jmpbuf-unwind.h (_jmpbuf_sp): Cast regs[0].__sp to

Modified: fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps (original)
+++ fsf/trunk/libc/ports/sysdeps/aarch64/libm-test-ulps Fri Nov 23 00:02:24 2012
@@ -102,6 +102,9 @@
 ifloat: 1
 ildouble: 1
 ldouble: 1
+Test "atan2 (-max_value, -min_value) == -pi/2":
+float: 1
+ifloat: 1
 Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
 float: 1
 ifloat: 1
@@ -2796,6 +2799,40 @@
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "y0 (0x1p-10) == -4.4865150767109739412411806297168793661098":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-110) == -4.861363632869203777249475899390797503250e+1":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-20) == -8.8992283012125827603076426611387876938160":
+double: 1
+idouble: 1
+Test "y0 (0x1p-30) == -1.3311940304267782826037118027401817264906e+1":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "y0 (0x1p-40) == -1.7724652307320814696990854700366226762563e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-60) == -2.6550076313426878432849115782108205929120e+1":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-70) == -3.0962788316479910300778244424468159753887e+1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0x1p-80) == -3.5375500319532942168707373066828113573541e+1":
+double: 1
+idouble: 1
 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
 double: 2
 float: 1
@@ -2837,6 +2874,14 @@
 Test "y1 (0x1.27e204p+99) == -8.881610148467797208469612080785210013461e-16":
 double: 1
 idouble: 1
+Test "y1 (0x1p-10) == -6.5190099301063115047395187618929589514382e+02":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-30) == -6.8356527557643159612937462812258975438856e+08":
+ildouble: 1
+ldouble: 1
 Test "y1 (1.5) == -0.412308626973911295952829820633445323":
 float: 1
 ifloat: 1

Added: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c (added)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/sendfile64.c Fri Nov 23 00:02:24 2012
@@ -1,0 +1,1 @@
+/* sendfile64 is alias of sendfile syscall.  */

Modified: fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list
==============================================================================
--- fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list (original)
+++ fsf/trunk/libc/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/syscalls.list Fri Nov 23 00:02:24 2012
@@ -8,3 +8,5 @@
 
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
 statfs		-	statfs		i:sp	__statfs	statfs statfs64 __statfs64
+
+sendfile	-	sendfile	i:iipi	sendfile	sendfile64

Modified: fsf/trunk/libc/sysdeps/generic/unwind-dw2-fde-glibc.c
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/unwind-dw2-fde-glibc.c (original)
+++ fsf/trunk/libc/sysdeps/generic/unwind-dw2-fde-glibc.c Fri Nov 23 00:02:24 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
 
    This file is part of the GNU C Library.
@@ -85,7 +85,8 @@
 _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
 {
   struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr;
-  const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic;
+  const ElfW(Phdr) *phdr, *p_eh_frame_hdr;
+  const ElfW(Phdr) *p_dynamic __attribute__ ((unused));
   long n, match;
   _Unwind_Ptr load_base;
   const unsigned char *p;

Modified: fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps Fri Nov 23 00:02:24 2012
@@ -1339,6 +1339,9 @@
 ifloat: 1
 
 # cos
+Test "cos (0x1p+50) == 8.68095904660550604334592502063501320395739e-01":
+float: 1
+ifloat: 1
 Test "cos (M_PI_6l * 2.0) == 0.5":
 double: 1
 float: 1
@@ -1817,10 +1820,10 @@
 
 # ctan
 Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-float: 1
-ifloat: 1
-double: 1
-idouble: 1
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
@@ -2683,6 +2686,9 @@
 float: 1
 Test "sincos (0x1p+127, &sin_res, &cos_res) puts 6.23385512955870240370428801097126489001833e-01 in sin_res":
 float: 1
+Test "sincos (0x1p+50, &sin_res, &cos_res) puts 8.68095904660550604334592502063501320395739e-01 in cos_res":
+float: 1
+ifloat: 1
 Test "sincos (0x1p65, &sin_res, &cos_res) puts -0.047183876212354673805106149805700013943218 in sin_res":
 float: 1
 ifloat: 1
@@ -3587,10 +3593,10 @@
 ldouble: 1
 
 Function: Real part of "ctan_towardzero":
-float: 1
-ifloat: 1
-double: 1
-idouble: 1
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -3661,10 +3667,10 @@
 ldouble: 4
 
 Function: Imaginary part of "ctanh_towardzero":
-float: 1
-ifloat: 1
-double: 1
-idouble: 1
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c Fri Nov 23 00:02:24 2012
@@ -61,7 +61,7 @@
 	if(hb > ha) {a=y;b=x;j=ha; ha=hb;hb=j;} else {a=x;b=y;}
 	a = fabsl(a);	/* a <- |a| */
 	b = fabsl(b);	/* b <- |b| */
-	if((ha-hb)>0x3c0000000000000LL) {return a+b;} /* x/y > 2**60 */
+	if((ha-hb)>0x780000000000000LL) {return a+b;} /* x/y > 2**120 */
 	k=0;
 	kld = 1.0L;
 	if(ha > 0x5f30000000000000LL) {	/* a>2**500 */
@@ -83,7 +83,7 @@
 	   k += 600;
 	   kld = two600;
 	}
-	if(hb < 0x20b0000000000000LL) {	/* b < 2**-500 */
+	if(hb < 0x23d0000000000000LL) {	/* b < 2**-450 */
 	    if(hb <= 0x000fffffffffffffLL) {	/* subnormal b or 0 */
 		u_int64_t low;
 		GET_LDOUBLE_LSW64(low,b);

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/e_powl.c Fri Nov 23 00:02:24 2012
@@ -149,7 +149,7 @@
 {
   long double z, ax, z_h, z_l, p_h, p_l;
   long double y1, t1, t2, r, s, t, u, v, w;
-  long double s2, s_h, s_l, t_h, t_l;
+  long double s2, s_h, s_l, t_h, t_l, ay;
   int32_t i, j, k, yisint, n;
   u_int32_t ix, iy;
   int32_t hx, hy;
@@ -283,6 +283,10 @@
       if (ix > 0x3ff00000)
 	return (hy > 0) ? huge * huge : tiny * tiny;
     }
+
+  ay = y > 0 ? y : -y;
+  if (ay < 0x1p-117)
+    y = y < 0 ? -0x1p-117 : 0x1p-117;
 
   n = 0;
   /* take care subnormal number */

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_atanl.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_atanl.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_atanl.c Fri Nov 23 00:02:24 2012
@@ -199,6 +199,22 @@
 	return atantbl[83];
     }
 
+  if (k <= 0x3c800000) /* |x| <= 2**-55.  */
+    {
+      /* Raise inexact.  */
+      if (1e300L + x > 0.0)
+	return x;
+    }
+
+  if (k >= 0x46c00000) /* |x| >= 2**109.  */
+    {
+      /* Saturate result to {-,+}pi/2.  */
+      if (sign)
+	return -atantbl[83];
+      else
+	return atantbl[83];
+    }
+
   if (sign)
       x = -x;
 

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c Fri Nov 23 00:02:24 2012
@@ -85,7 +85,7 @@
 /* ln (2^16384 * (1 - 2^-113)) */
   maxlog = 1.1356523406294143949491931077970764891253E4L,
 /* ln 2^-114 */
-  minarg = -7.9018778583833765273564461846232128760607E1L, big = 2e307L;
+  minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e290L;
 
 
 long double

Modified: fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_fmal.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_fmal.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/ldbl-128ibm/s_fmal.c Fri Nov 23 00:02:24 2012
@@ -1,5 +1,5 @@
 /* Compute x * y + z as ternary operation.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Flaherty <flaherty@xxxxxxxxxxxxxxxxxx>.
 
@@ -29,6 +29,12 @@
        if ((finite ((double)x) && finite ((double)y)) && isinf ((double)z))
                return (z);
 
+       /* If z is zero and x are y are nonzero, compute the result
+	  as x * y to avoid the wrong sign of a zero result if x * y
+	  underflows to 0.  */
+       if (z == 0 && x != 0 && y != 0)
+	 return x * y;
+
        return (x * y) + z;
 }
 #ifdef IS_IN_libm

Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/test-multiarch.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/test-multiarch.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/test-multiarch.c Fri Nov 23 00:02:24 2012
@@ -36,7 +36,7 @@
   f = fopen ("/proc/cpuinfo", "r");
   if (f == NULL)
     {
-      printf ("cannot open /proc/cpuinfo");
+      printf ("cannot open /proc/cpuinfo\n");
       exit (1);
     }
 

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits