aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-03-08 01:57:38 -0500
committerUlrich Drepper <drepper@gmail.com>2012-03-08 01:57:38 -0500
commit67c6a3d919b492c68664c4b95e84efd2174309e7 (patch)
treeacf9d76b0bd219e0b4c941254478dd15efbcf78f
parenteac8c307c32367c7712dd73a28677024686b6ab7 (diff)
parent6291c00386e7bddf7e2db428174b2aca26ef717b (diff)
downloadglibc-67c6a3d919b492c68664c4b95e84efd2174309e7.tar.xz
glibc-67c6a3d919b492c68664c4b95e84efd2174309e7.zip
Merge branch 'master' of ssh://sourceware.org/git/glibc
-rw-r--r--ChangeLog70
-rw-r--r--INSTALL13
-rw-r--r--NEWS10
-rw-r--r--aclocal.m414
-rwxr-xr-xconfigure41
-rw-r--r--configure.in25
-rw-r--r--manual/charset.texi8
-rw-r--r--manual/conf.texi4
-rw-r--r--manual/errno.texi35
-rw-r--r--manual/filesys.texi29
-rw-r--r--manual/install.texi13
-rw-r--r--manual/intro.texi2
-rw-r--r--manual/io.texi18
-rw-r--r--manual/job.texi2
-rw-r--r--manual/llio.texi42
-rw-r--r--manual/macros.texi30
-rw-r--r--manual/maint.texi2
-rw-r--r--manual/memory.texi6
-rw-r--r--manual/pattern.texi2
-rw-r--r--manual/pipe.texi4
-rw-r--r--manual/process.texi8
-rw-r--r--manual/resource.texi3
-rw-r--r--manual/setjmp.texi2
-rw-r--r--manual/signal.texi20
-rw-r--r--manual/startup.texi4
-rw-r--r--manual/stdio.texi18
-rw-r--r--manual/terminal.texi51
-rw-r--r--manual/time.texi12
-rw-r--r--manual/users.texi26
-rw-r--r--math/libm-test.inc104
-rw-r--r--math/s_cacosh.c12
-rw-r--r--math/s_cacoshf.c14
-rw-r--r--math/s_cacoshl.c14
-rw-r--r--math/s_casinh.c7
-rw-r--r--math/s_casinhf.c7
-rw-r--r--math/s_casinhl.c7
-rw-r--r--nptl/ChangeLog9
-rw-r--r--nptl/sysdeps/pthread/configure40
-rw-r--r--nptl/sysdeps/pthread/configure.in8
-rw-r--r--sysdeps/gnu/errlist.c20
-rw-r--r--sysdeps/i386/configure480
-rw-r--r--sysdeps/i386/configure.in5
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps286
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps298
44 files changed, 1091 insertions, 734 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f00552a4d..43f23dd316 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,73 @@
+2012-03-08 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #6911]
+ * manual/macros.texi (gnusystems): New macro.
+ (nongnusystems): Likewise.
+ (gnulinuxhurdsystems): Likewise.
+ (gnuhurdsystems): Likewise..
+ (gnulinuxsystems): Likewise.
+ * manual/charset.texi: Use new macros or @theglibc{} to refer to
+ variants of the GNU system, not "GNU system".
+ * manual/conf.texi: Likewise.
+ * manual/errno.texi: Likewise. Update example of errno macro
+ expansion.
+ * manual/filesys.texi: Likewise.
+ (getumask): Document as specific to GNU/Hurd.
+ * manual/install.texi: Likewise. Reword some references to
+ GNU/Linux.
+ * manual/intro.texi: Likewise.
+ * manual/io.texi: Likewise.
+ (File Name Portability): Detail which constraints are inapplicable
+ to all GNU systems and which are only inapplicable to GNU/Hurd.
+ * manual/job.texi: Likewise.
+ * manual/llio.texi: Likewise.
+ (O_NOCTTY): Document as present on GNU/Linux.
+ * manual/maint.texi: Likewise.
+ * manual/memory.texi: Likewise.
+ * manual/pattern.texi: Likewise.
+ * manual/pipe.texi: Likewise.
+ * manual/process.texi: Likewise.
+ * manual/resource.texi: Likewise.
+ (RUSAGE_CHILDREN): Remove statement about specifying a particular
+ child on GNU/Hurd.
+ * manual/setjmp.texi: Likewise.
+ * manual/signal.texi: Likewise.
+ * manual/startup.texi: Likewise.
+ * manual/stdio.texi: Likewise.
+ * manual/terminal.texi: Likewise.
+ (ONLCR): Document as POSIX.
+ (OXTABS): Document availability on GNU/Linux as XTABS.
+ (ONOEOT): Document availability separately from other bits.
+ (VLNEXT, VDISCARD, VSTATUS): Document availability individually.
+ * manual/time.texi: Likewise.
+ * manual/users.texi: Likewise.
+ * INSTALL: Regenerated.
+ * sysdeps/gnu/errlist.c: Regenerated.
+
+ * aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro.
+ * configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC.
+ (libc_cv_ctors_header): Likewise. Use asm ("") instead of calling
+ puts.
+ * configure: Regenerated.
+
+2012-03-07 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no
+ default includes instead of AC_HEADER_CHECK.
+ * sysdeps/i386/configure: Regenerated.
+
+ [BZ #10716]
+ * math/s_cacosh.c (__cacosh): Convert negative log results to 0.
+ * math/s_cacoshf.c (__cacoshf): Likewise.
+ * math/s_cacoshl.c (__cacoshl): Likewise.
+ * math/s_casinh.c (__casinh): Set signs of result from argument.
+ * math/s_casinhf.c (__casinhf): Likewise.
+ * math/s_casinhl.c (__casinhl): Likewise.
+ * math/libm-test.inc (cacos_test, cacosh_test, casin_test)
+ (casinh_test): Add more tests.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
2012-03-07 Ulrich Drepper <drepper@gmail.com>
* po/zh_TW.po: Update from translation team.
diff --git a/INSTALL b/INSTALL
index 737a44d462..e0433d459b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -339,7 +339,7 @@ patches, although we try to avoid this.
Specific advice for GNU/Linux systems
=====================================
-If you are installing the GNU C Library on a GNU/Linux system, you need
+If you are installing the GNU C Library on GNU/Linux systems, you need
to have the header files from a 2.6.19.1 or newer kernel around for
reference. These headers must be installed using `make
headers_install'; the headers present in the kernel source directory
@@ -370,11 +370,12 @@ required if not compiling programs using those interfaces. You do not
need to copy kernel headers if you did not specify an alternate kernel
header source using `--with-headers'.
- GNU/Linux expects some components of the GNU C Library installation
-to be in `/lib' and some in `/usr/lib'. This is handled automatically
-if you configure the GNU C Library with `--prefix=/usr'. If you set
-some other prefix or allow it to default to `/usr/local', then all the
-components are installed there.
+ The Filesystem Hierarchy Standard for GNU/Linux systems expects some
+components of the GNU C Library installation to be in `/lib' and some
+in `/usr/lib'. This is handled automatically if you configure the GNU
+C Library with `--prefix=/usr'. If you set some other prefix or allow
+it to default to `/usr/local', then all the components are installed
+there.
You cannot use `nscd' with 2.0 kernels, due to bugs in the
kernel-side thread support. `nscd' happens to hit these bugs
diff --git a/NEWS b/NEWS
index 61cc1dca1e..5021304441 100644
--- a/NEWS
+++ b/NEWS
@@ -10,11 +10,11 @@ Version 2.16
* The following bugs are resolved with this release:
174, 350, 411, 2541, 2547, 2548, 3335, 3976, 3992, 4026, 4108, 4596, 4822,
- 5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140,
- 10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527,
- 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
- 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726,
- 13738, 13786, 13792
+ 5077, 5461, 5805, 5993, 6884, 6907, 6911, 9739, 9902, 10110, 10135, 10140,
+ 10210, 10545, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525,
+ 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551,
+ 13552, 13553, 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704,
+ 13706, 13726, 13738, 13786, 13792
* ISO C11 support:
diff --git a/aclocal.m4 b/aclocal.m4
index dafa97244d..02ff9bc359 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -113,3 +113,17 @@ AC_CACHE_CHECK(whether $LD is GNU ld, libc_cv_prog_ld_gnu,
[LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
gnu_ld=$libc_cv_prog_ld_gnu
])
+
+dnl Run a static link test with -nostdlib -nostartfiles.
+dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
+AC_DEFUN([LIBC_TRY_LINK_STATIC],
+[cat > conftest.c <<EOF
+int _start (void) { return 0; }
+int __start (void) { return 0; }
+$1
+EOF
+AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
+ conftest.c -static -nostartfiles -nostdlib
+ 1>&AS_MESSAGE_LOG_FD])],
+ [$2], [$3])
+rm -f conftest*])
diff --git a/configure b/configure
index 7c5acce6bc..f415389a34 100755
--- a/configure
+++ b/configure
@@ -5999,17 +5999,19 @@ else
cat > conftest.c <<EOF
int _start (void) { return 0; }
int __start (void) { return 0; }
+
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
+
EOF
-if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
- -static -nostartfiles -nostdlib 1>&5'
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
+ conftest.c -static -nostartfiles -nostdlib
+ 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
-then
+ test $ac_status = 0; }; }; then :
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes
else
@@ -6019,6 +6021,7 @@ else
libc_cv_initfini_array=no
fi
rm -f conftest*
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
$as_echo "$libc_cv_initfini_array" >&6; }
@@ -6032,21 +6035,22 @@ if ${libc_cv_ctors_header+:} false; then :
$as_echo_n "(cached) " >&6
else
libc_cv_ctors_header=yes
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
+ cat > conftest.c <<EOF
+int _start (void) { return 0; }
+int __start (void) { return 0; }
-__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
-__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
+__attribute__ ((constructor)) void ctor (void) { asm (""); }
+__attribute__ ((destructor)) void dtor (void) { asm (""); }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+EOF
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
+ conftest.c -static -nostartfiles -nostdlib
+ 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
if $READELF -WS conftest$ac_exeext | $AWK '
{ gsub(/\[ */, "[") }
$2 == ".ctors" || $2 == ".dtors" {
@@ -6068,8 +6072,7 @@ else
as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f conftest*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5
diff --git a/configure.in b/configure.in
index 7ebeba4df8..ee9e3d8eb4 100644
--- a/configure.in
+++ b/configure.in
@@ -1349,24 +1349,17 @@ fi
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
libc_cv_initfini_array, [dnl
-cat > conftest.c <<EOF
-int _start (void) { return 0; }
-int __start (void) { return 0; }
+LIBC_TRY_LINK_STATIC([
int foo (void) { return 1; }
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
-EOF
-if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
- -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
-then
- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
+],
+ [if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
libc_cv_initfini_array=yes
else
libc_cv_initfini_array=no
- fi
-else
- libc_cv_initfini_array=no
-fi
-rm -f conftest*])
+ fi],
+ [libc_cv_initfini_array=no])
+])
if test $libc_cv_initfini_array != yes; then
AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
fi
@@ -1374,9 +1367,9 @@ fi
AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
libc_cv_ctors_header, [dnl
libc_cv_ctors_header=yes
- AC_TRY_LINK([], [
-__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
-__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
+ LIBC_TRY_LINK_STATIC([
+__attribute__ ((constructor)) void ctor (void) { asm (""); }
+__attribute__ ((destructor)) void dtor (void) { asm (""); }
],
[dnl
AS_IF([$READELF -WS conftest$ac_exeext | $AWK '
diff --git a/manual/charset.texi b/manual/charset.texi
index 610db90858..97fb2bed2d 100644
--- a/manual/charset.texi
+++ b/manual/charset.texi
@@ -112,7 +112,7 @@ this type is capable of storing all elements of the basic character set.
Therefore it would be legitimate to define @code{wchar_t} as @code{char},
which might make sense for embedded systems.
-But for GNU systems @code{wchar_t} is always 32 bits wide and, therefore,
+But in @theglibc{} @code{wchar_t} is always 32 bits wide and, therefore,
capable of representing all UCS-4 values and, therefore, covering all of
@w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type
and thereby follow Unicode very strictly. This definition is perfectly
@@ -393,7 +393,7 @@ We already said above that the currently selected locale for the
by the functions we are about to describe. Each locale uses its own
character set (given as an argument to @code{localedef}) and this is the
one assumed as the external multibyte encoding. The wide character
-set is always UCS-4, at least on GNU systems.
+set is always UCS-4 in @theglibc{}.
A characteristic of each multibyte character set is the maximum number
of bytes that can be necessary to represent one character. This
@@ -537,8 +537,8 @@ Code using @code{mbsinit} often looks similar to this:
The code to emit the escape sequence to get back to the initial state is
interesting. The @code{wcsrtombs} function can be used to determine the
-necessary output code (@pxref{Converting Strings}). Please note that on
-GNU systems it is not necessary to perform this extra action for the
+necessary output code (@pxref{Converting Strings}). Please note that with
+@theglibc{} it is not necessary to perform this extra action for the
conversion from multibyte text to wide character text since the wide
character encoding is not stateful. But there is nothing mentioned in
any standard that prohibits making @code{wchar_t} using a stateful
diff --git a/manual/conf.texi b/manual/conf.texi
index bc5b9282a7..2cd41f6c73 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -1185,7 +1185,7 @@ represents the maximum length of a file name string. It is defined in
Unlike @code{PATH_MAX}, this macro is defined even if there is no actual
limit imposed. In such a case, its value is typically a very large
-number. @strong{This is always the case on the GNU system.}
+number. @strong{This is always the case on @gnuhurdsystems{}.}
@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an
array in which to store a file name! You can't possibly make an array
@@ -1252,7 +1252,7 @@ particular file, call @code{pathconf} or @code{fpathconf}.
Here are the names for the POSIX minimum upper bounds for some of the
above parameters. The significance of these values is that you can
safely push to these limits without checking whether the particular
-system you are using can go that far. In most cases GNU systems do not
+system you are using can go that far. In most cases @gnusystems{} do not
have these strict limitations. The actual limit should be requested if
necessary.
diff --git a/manual/errno.texi b/manual/errno.texi
index f155db749f..fa88b1e8a1 100644
--- a/