[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r18251 - in /fsf/trunk/libc: ./ math/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r18251 - in /fsf/trunk/libc: ./ math/
- From: eglibc@xxxxxxxxxx
- Date: Sat, 28 Apr 2012 00:01:38 -0000
Author: eglibc
Date: Sat Apr 28 00:01:36 2012
New Revision: 18251
Log:
Import glibc-mainline for 2012-04-28
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/README
fsf/trunk/libc/config.h.in
fsf/trunk/libc/math/fclrexcpt.c
fsf/trunk/libc/math/fraiseexcpt.c
fsf/trunk/libc/math/fsetexcptflg.c
fsf/trunk/libc/math/libm-test.inc
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Apr 28 00:01:36 2012
@@ -1,3 +1,27 @@
+2012-04-27 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * README: Cut down references to pre-2.6 Linux kernels and
+ Linuxthreads. Update lists of configurations in libc and ports
+ and sort alphabetically. Say "or newer" with Linux kernel version
+ requirements.
+
+ * config.h.in [IS_IN_build]: Allow compiling without optimization.
+
+2012-04-27 Ryan S. Arnold <rsa@xxxxxxxxxxxxxxxxxx>
+
+ [BZ #887]
+ * math/libm-test.inc (logb_test_downward): New test to expose
+ erroneous negative sign on -0.0 result of logb[l](1) in FE_DOWNWARD
+ rounding mode.
+
+2012-04-27 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #14027]
+ * math/fclrexcpt.c (__feclearexcept): Return zero if nothing needs
+ to be done.
+ * math/fraiseexcpt.c (__feraiseexcept): Likewise.
+ * math/fsetexcptflg.c (__fesetexceptflag): Likewise.
+
2012-04-26 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/i386/brk.S: Remove file.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Apr 28 00:01:36 2012
@@ -9,20 +9,20 @@
* The following bugs are resolved with this release:
- 174, 350, 369, 411, 706, 2074, 2541, 2547, 2548, 2551, 2552, 2553, 2554,
- 2562, 2563, 2565, 2566, 2576, 2636, 2678, 3335, 3768, 3866, 3868, 3976,
- 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578,
- 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907, 6911, 7064, 9739,
- 9902, 10110, 10135, 10140, 10153, 10210, 10254, 10346, 10545, 10716,
- 11174, 11322, 11365, 11451, 11494, 11521, 11959, 12047, 12340, 13058,
- 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547,
- 13551, 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637,
- 13656, 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738,
- 13739, 13760, 13761, 13786, 13792, 13806, 13824, 13840, 13841, 13844,
- 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13886,
- 13892, 13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916, 13917,
- 13918, 13919, 13920, 13921, 13926, 13927, 13928, 13938, 13963, 13967,
- 13970, 13973
+ 174, 350, 369, 411, 706, 887, 2074, 2541, 2547, 2548, 2551, 2552, 2553,
+ 2554, 2562, 2563, 2565, 2566, 2576, 2636, 2678, 3335, 3768, 3866, 3868,
+ 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6471, 6486,
+ 6578, 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907, 6911, 7064,
+ 9739, 9902, 10110, 10135, 10140, 10153, 10210, 10254, 10346, 10545,
+ 10716, 11174, 11322, 11365, 11451, 11494, 11521, 11959, 12047, 12340,
+ 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533,
+ 13547, 13551, 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618,
+ 13637, 13656, 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726,
+ 13738, 13739, 13760, 13761, 13786, 13792, 13806, 13824, 13840, 13841,
+ 13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883,
+ 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913, 13915, 13916,
+ 13917, 13918, 13919, 13920, 13921, 13926, 13927, 13928, 13938, 13963,
+ 13967, 13970, 13973, 14027
* ISO C11 support:
Modified: fsf/trunk/libc/README
==============================================================================
--- fsf/trunk/libc/README (original)
+++ fsf/trunk/libc/README Sat Apr 28 00:01:36 2012
@@ -17,11 +17,11 @@
When working with Linux kernels, the GNU C Library version from
version 2.4 on is intended primarily for use with Linux kernel version
2.6.0 and later. We only support using the NPTL implementation of
-pthreads, which is now the default configuration. Most of the C
-library will continue to work on older Linux kernels and many programs
-will not require a 2.6 kernel to run correctly. However, pthreads and
-related functionality will not work at all on old kernels and we do
-not recommend using glibc 2.4 with any Linux kernel prior to 2.6.
+pthreads, which is now the default configuration. The library is
+unlikely to build without NPTL, or to work on Linux kernels prior to
+2.6. The old LinuxThreads add-on implementation of pthreads for older
+Linux kernels is no longer supported, and we are not distributing it
+with this release.
All Linux kernel versions prior to 2.6.16 are known to have some bugs that
may cause some of the tests related to pthreads in "make check" to fail.
@@ -31,45 +31,39 @@
Also note that the shared version of the libgcc_s library must be
installed for the pthread library to work correctly.
-The old LinuxThreads add-on implementation of pthreads for older Linux
-kernels is no longer supported, and we are not distributing it with this
-release. Someone has volunteered to revive its maintenance unofficially
-for at least a short time for the benefit of those using Linux kernels
-older than 2.6, but a working version is not presently available. When
-it is in working condition, we will make it available alongside future
-glibc releases. LinuxThreads will not be supported.
-
The GNU C Library supports these configurations for using Linux kernels:
- i[34567]86-*-linux-gnu
+ i[4567]86-*-linux-gnu
x86_64-*-linux-gnu
- powerpc-*-linux-gnu
+ powerpc-*-linux-gnu Hardware floating point required
powerpc64-*-linux-gnu
s390-*-linux-gnu
s390x-*-linux-gnu
- ia64-*-linux-gnu
+ sh[34]-*-linux-gnu Requires Linux 2.6.11 or newer
sparc*-*-linux-gnu
sparc64*-*-linux-gnu
-
- sh[34]-*-linux-gnu Requires Linux 2.6.11
The code for other CPU configurations supported by volunteers outside of
the core glibc maintenance effort is contained in the separate `ports'
add-on. You can find glibc-ports-VERSION distributed separately in the
same place where you got the main glibc distribution files.
-Currently these configurations are known to work using the `ports' add-on:
+Currently these configurations have code in the `ports' add-on:
- alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
- arm-*-linux-gnu Requires Linux 2.6.15 for NPTL, no SMP support
- arm-*-linux-gnueabi Requires Linux 2.6.16-rc1 for NPTL, no SMP
- mips-*-linux-gnu Requires Linux 2.6.12 for NPTL
- mips64-*-linux-gnu Requires Linux 2.6.12 for NPTL
+ alpha*-*-linux-gnu Requires Linux 2.6.9 or newer for NPTL
+ am33*-*-linux-gnu Not currently functional
+ arm-*-linux-gnueabi Requires Linux 2.6.16-rc1 or newer for NPTL
+ hppa-*-linux-gnu Requires Linux 2.6.9 or newer for NPTL
+ ia64-*-linux-gnu
+ m68k-*-linux-gnu
+ mips-*-linux-gnu Requires Linux 2.6.12 or newer for NPTL
+ mips64-*-linux-gnu Requires Linux 2.6.12 or newer for NPTL
+ powerpc-*-linux-gnu Software floating point (--without-fp)
+ tilegx-*-linux-gnu
+ tilepro-*-linux-gnu
-The ports distribution also contains code for other configurations that
-do not work or have not been maintained recently, but will be of use to
-anyone trying to make a new configuration work. If you are interested
-in doing a port, please contact the glibc maintainers; see
-http://www.gnu.org/software/libc/ for more information.
+If you are interested in doing a port, please contact the glibc
+maintainers; see http://www.gnu.org/software/libc/ for more
+information.
See the file INSTALL to find out how to configure, build, and install
the GNU C Library. You might also consider reading the WWW pages for
Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Sat Apr 28 00:01:36 2012
@@ -1,4 +1,5 @@
-#if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
+#if !defined IS_IN_build && !defined __ASSEMBLER__ && !defined _ISOMAC \
+ && !defined __OPTIMIZE__
# error "glibc cannot be compiled without optimization"
#endif
Modified: fsf/trunk/libc/math/fclrexcpt.c
==============================================================================
--- fsf/trunk/libc/math/fclrexcpt.c (original)
+++ fsf/trunk/libc/math/fclrexcpt.c Sat Apr 28 00:01:36 2012
@@ -1,5 +1,5 @@
/* Clear given exceptions in current floating-point environment.
- Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -23,8 +23,8 @@
int
__feclearexcept (int excepts)
{
- /* This always fails. */
- return 1;
+ /* This always fails unless nothing needs to be done. */
+ return (excepts != 0);
}
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
strong_alias (__feclearexcept, __old_feclearexcept)
Modified: fsf/trunk/libc/math/fraiseexcpt.c
==============================================================================
--- fsf/trunk/libc/math/fraiseexcpt.c (original)
+++ fsf/trunk/libc/math/fraiseexcpt.c Sat Apr 28 00:01:36 2012
@@ -1,5 +1,5 @@
/* Raise given exceptions.
- Copyright (C) 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -23,8 +23,8 @@
int
__feraiseexcept (int excepts)
{
- /* This always fails. */
- return 1;
+ /* This always fails unless nothing needs to be done. */
+ return (excepts != 0);
}
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
strong_alias (__feraiseexcept, __old_feraiseexcept)
Modified: fsf/trunk/libc/math/fsetexcptflg.c
==============================================================================
--- fsf/trunk/libc/math/fsetexcptflg.c (original)
+++ fsf/trunk/libc/math/fsetexcptflg.c Sat Apr 28 00:01:36 2012
@@ -1,5 +1,5 @@
/* Set floating-point environment exception handling.
- Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -23,8 +23,8 @@
int
__fesetexceptflag (const fexcept_t *flagp, int excepts)
{
- /* This always fails. */
- return 1;
+ /* This always fails unless nothing needs to be done. */
+ return (excepts != 0);
}
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
strong_alias (__fesetexceptflag, __old_fesetexceptflag)
Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Sat Apr 28 00:01:36 2012
@@ -5101,6 +5101,40 @@
END (logb);
}
+static void
+logb_test_downward (void)
+{
+ int save_round_mode;
+ errno = 0;
+
+ FUNC(logb) (0);
+ if (errno == ENOSYS)
+ /* Function not implemented. */
+ return;
+
+ START (logb_downward);
+
+ save_round_mode = fegetround ();
+
+ if (!fesetround (FE_DOWNWARD))
+ {
+
+ /* IEEE 754-2008 says (section 5.3.3) that "logB(1) is +0.". Libm
+ should not return -0 from logb in any rounding mode. PowerPC32 has
+ failed with this test for power4 logb (and logbl on all PowerPC
+ platforms) in the past due to instruction selection. GCC PR 52775
+ provides the availability of the fcfid insn in 32-bit mode which
+ eliminates the use of fsub in this instance and prevents the negative
+ signed 0.0. */
+
+ /* BZ #887 */
+ TEST_f_f (logb, 1.000e+0, plus_zero);
+ }
+
+ fesetround (save_round_mode);
+
+ END (logb_downward);
+}
static void
lround_test (void)
@@ -8210,6 +8244,7 @@
log1p_test ();
log2_test ();
logb_test ();
+ logb_test_downward ();
modf_test ();
ilogb_test ();
scalb_test ();
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits