diff options
| author | Ulrich Drepper <drepper@gmail.com> | 2012-03-08 01:57:38 -0500 |
|---|---|---|
| committer | Ulrich Drepper <drepper@gmail.com> | 2012-03-08 01:57:38 -0500 |
| commit | 67c6a3d919b492c68664c4b95e84efd2174309e7 (patch) | |
| tree | acf9d76b0bd219e0b4c941254478dd15efbcf78f | |
| parent | eac8c307c32367c7712dd73a28677024686b6ab7 (diff) | |
| parent | 6291c00386e7bddf7e2db428174b2aca26ef717b (diff) | |
| download | glibc-67c6a3d919b492c68664c4b95e84efd2174309e7.tar.xz glibc-67c6a3d919b492c68664c4b95e84efd2174309e7.zip | |
Merge branch 'master' of ssh://sourceware.org/git/glibc
44 files changed, 1091 insertions, 734 deletions
@@ -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. @@ -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 @@ -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*]) @@ -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. |
